分支程序设计实验报告

| 浏览次数:

 实验二 二 分支程序设计 一、实验目得: 1 、学习分支程序得设计方法 2 、熟悉在 PC 机上建立、汇编、连接、调试与运行汇编语言程序得过程 二、实验环境

 硬件环境

  IBM/ PC 及其兼容机 软件环境

  统 操作系统 DO S

  编辑程序 EDIT 或其她编辑程序

  序程编汇ﻩ 汇编程序 M ASM 、E XE

 连接程序LIN K、EXE 序 调试程序 DEB UG 、EXE 三 、 实验内容:

 :

 1 、在屏幕上显示如下信息:

 1 —-— —- -- -- -- —- —---— — ---- -- —-Panda

  2— —- --— — --- —- —- ———- ----— —- —--Cat

 ﻩ

  3-——- ---- -- ---- -- -———- -——-Ra bbit

 4— — -— —-— — -— —--— — --- —- -- ——--- ---Pig

 5 —— ---- -- —-- —-- —- —---— —- -- —EXI T

  (Plea se

 ch oo se 1, 2, 3,4or 5 )—- ---- 入 若输入 1, 显示“I like e

 p panda ”后程序结束;若输入 2, 显示“I

 lik e cat” ”后程序结束; 若输入 3 ,显示“I

 lik e rab bit t入 ”后程序结束;若输入 4, 显示“I do n’t l like pig ”后程序结束; 若输入 5 ,程序直接结束; 若输入其它字符,显示“You

 pr ess an error key !" 后程序结束. 1) 流程图

  2 )源程序 DATA SEGMENT

 INFOR1 DB 0AH,0DH,”1-—-—----—-—Panda:$"

 INFOR2 DB 0AH,0DH,"2—-—-——--———Cat:$”

 INFOR3 DB 0AH,0DH,"3---—---——-—Rabbit;$”

 INFOR4 DB 0AH,0DH,"4---—------—pig:$"

 INFOR5 DB 0AH,0DH,"5--—--——--—-EXIT:$"

 INFOR6 DB 0AH,0DH,”(please choose 1,2,3,4 or 5——-):$"

 INFOR7 DB 0AH,0DH,"I like Panda:$"

 INFOR8 DB 0AH,0DH,"I like Cat:$"

 INFOR9 DB 0AH,0DH,"I like Rabbit;$"

 INFOR10 DB 0AH,0DH,”I like pig:$"

 INFOR11 DB 0AH,0DH,”you press an error key!:$” DATA ENDS

 ;数据段结束 CODE SEGMENT

  ;代码段开始 Y Y Y Y N N N N N 开始 选项 用户输入 Al=1 Al=2 Al=3 Al=4 Al=5 You press an error key 结束 I like panda I like cat I like rabbit I like do not

  ASSUME

 CS:CODE,DS:DATA

  ;段寻址 START: MOV AX,DATA

  ;将 data 得数据存入ax 中

 MOV DS,AX

  ;为 ds 赋值

  MOV DX,OFFSET

 INFOR1

  ;返回变量 INFOR1 段内偏移地址【运行后在屏幕上显示字符 1--——--—--—-Panda:】

 MOV AH,09H

 INT 21H

  ;执行九号功能调用

  MOV DX,OFFSET

 INFOR2

 MOV AH,09H

 INT 21H

 MOV DX,OFFSET

 INFOR3

 MOV AH,09H

 INT 21H

 MOV DX,OFFSET

 INFOR4

 MOV AH,09H

 INT 21H

 MOV DX,OFFSET

 INFOR5

 ;返回变量 INFOR5 段内偏移地址【运行后在屏幕上显示字符 5—-—--——----EXIT:】

 MOV AH,09H

 INT 21H

  MOV DX,OFFSET

 INFOR6

 MOV AH,09H

 INT 21H

 MOV AH,01H

 INT 21H

 CMP AL,"1’

 JE

 Panda

 CMP AL,'2’

  JE

 Cat

 CMP AL,"3’

 JE

 Rabbit

 CMP AL,’4'

  JE Pig

 CMP AL,’5’

 JE PEND

 JMP Other Panda:

  MOV DX,OFFSET INFOR7

 MOV AH,09H

 INT 21H

 JMP PEND Cat:

  8ROFNI TESFFO,XD VOMﻩ H90,HA VOMﻩ H12 TNIﻩ JMP PEND Rabbit:

 MOV DX,OFFSET INFOR9

 MOV AH,09H

 H12 TNIﻩ

 JMP PEND Pig:

 MOV DX,OFFSET INFOR10

 H90,HA VOMﻩ INT 21H

  JMP PEND Other:

 MOV DX,OFFSET INFOR11

 MOV AH,09H

 H12 TNIﻩ

 JMP PEND PEND:

  MOV AH,4CH

 INT 21H CODE

 ENDS

 END START

 2、 、 从键盘输入一字符,判断该字符就是小写字母、大写字母、数字或其它字符.若输入为小写字母, 显示“Y You

 I nput a Lo wer case Letter !”;若输入为大写字母, 显示“You Inp ut a Uppercase L et ter !”; 若输入为数字,显示“Yo ou Input a Digit !";

 若输入为其它字符,显示“You Inpu t

 Ot her Let tt er !”。

 1 、 编程指导 字 数字 0  9得ASC II 码为30H 39H; 大写字母得 ASCII 码为 4 1H  5AH,小写字母得AS CI I码为61H 7AH 。本题目将字符分为小写字母、大写字母、数字及其它字符,得 根据键入字符得 AS CII 码值判断其所属类型, 并显示相应得信息 息. 字符串显示使用功能号为 09H 得 得 DOS 功能调用, 接收键盘输入得单个字符使为 用功能号为 01H 得 得 DOS 功能调用。

 2、 流程图及程序框图 1)流程图 2)源程序 DATA SEGMENT

 INFOR1 DB 0AH,0DH,”Please Press Any Key to input a letter:$"

 INFOR2 DB 0AH,0DH,"You input a lowercase letter! $”

 INFOR3 DB 0AH,0DH,"You input a Uppercase letter!

 $”

 INFOR4 DB 0AH,0DH,"You input a Digit!

 $"

 INFOR5 DB 0AH,0DH,"You input Other letter! $” DATA ENDS CODE SEGMENT

 ASSUME

 CS:CODE,DS:DATA START:

 MOV AX,DATA

  ; 显示信息“Please Press Any Key to input a letter"得指令序列以及接收从键盘输入一个字符得指令序列

 MOV DS,AX

  MOV

 DX,OFFSET

 INFOR1

 H90,HA

 VOMﻩ

 INT

 21H

  MOV AH,01H

  INT 21H Y Y Y Y Y Y 显示提示信息“Please Press Any Key to input a letter” 及功能号为 1 得接收键盘输入单个字符得指令序列 开始 结束(AL)<’0’ (AL)<=’9’ (AL)<’A’ (AL)<=’Z’ (AL)<’a’ (AL)<=’z’ 输入得就是小写字母,显示信息 输入得就是大写字母,显示信息 输入得就是数字,显示有关信息 输入得就是其它字符,显示信息

 CMP

 AL,’0’

 JB

  OTHER

 CMP

 AL,’9’

 JBE

 DIGIT

 CMP

 AL,’A"

 REHTO

  BJﻩ "Z',LA

 PMCﻩ REPPU

 EBJﻩ CMP

 AL,’a’

 JB

  OTHER

 "z',LA

 PMCﻩ JBE

 LOWER

 JMP

 PEND LOWER:

  ;显示“You Input a Lowercase Letter!”得指令序列

 MOV DX,OFFSET INFOR2

  H90,HA VOMﻩ INT 21H

 出跳序程使应后支分个一完行执意注;

 DNEP PMJﻩUPPER:

 ; 显示“You Input a Uppercase Letter”得指令序列 MOV DX,OFFSET INFOR3

 H90,HA VOMﻩ H12 TNIﻩ DNEP PMJﻩDIGIT:

 ; 显示“You Input a Digit!"得指令序列 MOV DX,OFFSET INFOR4

 H90,HA VOMﻩ INT 21H

 JMP PEND OTHER:

  ; 显示“You Input Other Letter!”得指令序列

 5ROFNI TESFFO,XD VOMﻩ MOV AH,09H

 H12 TNIﻩPEND:

  MOV AH,4CH

 H12 TNIﻩCODE

 ENDS

 END START

  四、 心得 通过这次上机实验, 我掌握了分支程序额设计方法, 宏定义及宏调用得基本方法,了解了小写字母与大写字母得ASCII 码表示及其转换方法,了解了数字及其她得 字符得 AS CII 码表示方法, 进一步掌握了调试工具得 使用方法。

推荐访问: 程序设计 分支 实验

【分支程序设计实验报告】相关推荐

工作总结最新推荐

NEW