要求:在0500H-0501H单元存放被转换的16位二进制数(如00AAH),转换结果存放到0510H-0514H单元中
这实验是真的顶,没预习根本不可能自己做出来,还好机房有前辈的代码~~~
我不知道老师咋想的 一些可能连C语言都没玩明白的自动化带学生,第一个实验直接让它们做汇编的数制转换 很难绷得住
STACK SEGMENT STACK
DW 64 DUP (?)
STACK ENDS
DATA SEGMENT
ORG 0500H
DATA1 DW 00AAH
ORG 0510H
DATA2 DB 5 DUP (?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA,SS:STACK
START:
MOV AX,DATA ;
MOV DS,AX
LEA SI,DATA1
LEA DI,DATA2+4
MOV BX,000AH
MOV CX,0005H
MOV AX,[SI]
AA0: MOV DX,000H
DIV BX
ADD DL,30H
MOV [DI],DL
DEC DI
LOOP AA0
MOV AH,4CH
INT 21H
CODE ENDS
END START
这里用masm模拟下当时的操作
1.U命令
首先用 U CS:0000命令 发现 代码段CS段在07C4 数据段DS在0772
2.E命令
E 0772:0500 修改 数据为00AA
3.G命令 使debug生效
G=07C4:0000
4.D命令
D 0772:0500,0515查看结果