一、代码实现
;目的:寻址方式的综合应用
;编写:Tony
;语言:asm
;时间:2020.3.25
;修改信息:
;1)Ken Olsen在富翁版上的排名已升至38名
;2)DEC的收入增加了70亿美元
;3)该公司的著名产品已变为VAX系列的计算机
assume cs:codesg,ds:datasg
;数据段存储原始数据
datasg segment
db 'DEC' ;公司名称(+00H)
db 'Ken Oslen' ;总裁姓名(+03H)
dw 137 ;排名(+0CH)
dw 40 ;收入(40亿美元)(0EH)
db 'PDP' ;著名产品(10H)
datasg ends
;代码段
codesg segment
start: mov ax,datasg
mov ds,ax
mov bx,0
mov word ptr[bx+0ch],38 ;寄存器相对寻址修改排名
mov word ptr[bx+0eh],70 ;寄存器相对寻址修改收入
mov si,0
mov byte ptr[bx+10h+si],'V' ;相对基址变址寻址修改产品名称
inc si
mov byte ptr[bx+10h+si],'A'
inc si
mov byte ptr[bx+10h+si],'X'
mov ax,4c00h
int 21h
codesg ends
end start
二、上机调试
1)一步一步调试
2)此时,不要在执行下一个指令,查看一下数据段中的原始数据
为了更好的观察原始数据,把这些数据用红色框圈出来
3)继续执行,看数据段中的数据
排名已经更改成了16进制的26H,即十进制的38
4)next……
收入已经更改成了16进制的46H,即十进制的70
5)next……连续执行若干个指令,到这里,然后观察数据段中的数据
公司的产品名称也被修改成了VAX
6)至此,调试结束