;.
2. 执行 run 程序,分别输入数字: “5”和字母“ T”,得到如下界面:
经验证,运行结果无错误且符合题意。
六、思考题
;.'
;.
再求相应地址是,程序中使用了 SHL AL ,1 语句,请问这说明了什么? 答:“SHL AL,1\的命令是指将操作数乘以 2,在该程序中,转移指令表中 的每条转移指令代码是由两个字节组成的,将
AL 寄存器中的数乘以 2 后再与
BX 相加,就是对应输入数字的转移指令代码的有效地址。
七、扩展题
编制程序,判断键盘输入的一个数,若输入 1— 5,则将该数转换为二进制数存放至 RLT 单元,若输入其他数则显示输出“ 1. 输入源程序
DATA SEGMENT
DIS DB 'ERROR!$' RLT DW 0 DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AH,1 INT 21H CMP AL,31H JB M CMP AL,35H JA M AND AL,0FH JMP N M: LEA DX,DIS MOV AH,9 INT 21H JMP EXIT N: LEA BX,TAB MOV AH,0 DEC AL SHL AL,1 ADD BX,AX JMP BX EXIT: MOV AH,4CH
INT
21H
;.'
”。
ERROR
;.
TAB: JMP JMP JMP JMP JMP MOV JMP MOV JMP MOV JMP MOV JMP MOV JMP ENDS END
SHORT P0 SHORT P1 SHORT P2 SHORT P3 SHORT P4 RLT,0001H EXIT RLT,0010H EXIT RLT,0011H EXIT RLT,0100H EXIT RLT,0101H EXIT START
P0:
P1:
P2:
P3: P4: CODE
2. 执行 emulate 程序, 对源 程序进行 调试 , 生成 original source code 和 emulator:noname.exe_文件,得到如下界面:
3.执行 run 程序,分别输入数字“ 3”和字母“ M”时,得到如下界面:
;.'
;.
经验证当输入数字 1~5 时,将该数转换为二进制数存放至 RLT 单元,当输入其他数则显示输出“ ERROR”。
八、实验心得
通过这次试验我理解了汇编语言中编程的基本步骤,掌握了通过地址对数 据赋值的方法。熟悉了 emu8086软件的基本运用, 调试,对运行结果的简单分析。 。这个实验中直接通过 CPU寄存器地址赋值简便快捷,运用了很多指令代码。对以 后对单片机等的学习鉴定坚实基础。
;.'
相关推荐: