实验报告
课 程:汇编语言程序设计 专业班级:计算机科学与技术 学 号: 姓 名:李中
实验四 分支结构程序设计实验
一、 实验目的
1、 掌握分支结构程序设计的基本设计方法 2、 掌握条件转移指令和无条件转移指令的使用方法 3、 掌握指令对标志寄存器中个标志位的影响情况
4、 掌握多分支结构程序设计的方法,树型结构法和地址常数表法 二、实验要求
1、学会使用DEBUG中的T命令,跟踪执行程序 2、学会使用DEBUG中的P命令对INT指令的跟踪方法 3、学会利用设置断点调试程序的方法
三、实验内容
1、编写程序。从键盘接收字符,判断该字符是否为字母、数字或非字母也非数字类字
符。若为字母,则在屏幕上显示“L”;若为数字,则在屏幕上显示“D”;若为非字母也为非数字,则在屏幕上显示“O。”
2、编写程序。已知DATAX和DATAY单元各存放一个带符号字节数据,从键盘上接
受加(+)、减(-)、乘(*)或除(/)号,完成相应运算,结果在屏幕上显示出来。 (1)当输入“+”号时,计算X+Y,并以十六进制形式显示出来; (2)当输入“-”号时,计算X-Y,并以十六进制形式显示出来 (3)当输入“*”号时,计算X*Y,并以十六进制形式显示出来 (4)当输入“/”号时,计算X/Y,并以十六进制形式显示出来
3、编写程序。从键盘输入若干个任意字符,如果是小写字母a~z之间的字符,请将它们转换成相应的大写字母;若为其他字符,则保持不变,将转换后的新字符保存在指定的存储单元中。 四、解题思路
首先将问题进行情况大致分类,逐一进行思考并编写程序。然后进行汇总,找到链接方式,最后编写程序。 五、编程实现 1、DSEG SEGMENT
DSEG CSEG
ENDS SEGMENT
ASSUME CS:CSEG,DS:DSEG MOV DS,AX
MOV AH,01H ;输入字符 INT 21H MOV BL,30H CMP AL,BL JAE ABZ JMP OTHER
;30H和39H之间,为数字
CMP BL,AL JAE NUM MOV BL,41H CMP AL,BL
;小于30H,为其他字符
START: MOV AX,DSEG
ABZ: MOV BL,39H
JAE ABBA
;大于39H却小于41H,为其他字符
JMP OTHER CMP BL,AL
ABBA: MOV BL,5AH
JAE LETTER ;在a和z之间,为字母 MOV BL,61H CMP AL,61H JAE ABSA
JMP OTHER
ABSA:
MOV BL,7AH CMP
BL,AL
JAE LETTER JMP OTHER
LETTER: MOV DL,'L'
JMP END1 NUM: MOV DL,'D'
JMP END1 OTHER: MOV DL,'O' JMP END1 END1:
MOV AH,02H INT 21H MOV AH,4CH INT 21H CSEG
ENDS
END START
编辑:
;大于z,小于A,为其他字符
;在A和Z之间,为字母 ;大于Z,为其他字符
汇编:
链接:
运行:
调试:
T命令和P命令结合使用: