要求:在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查看結果