题目要求
编程,修改内存中的过时数据
运行过程
改之前
改数字之后
改字母之后
代码
;编程,修改内存中的过时数据
;存放ascii码用db,存放数据用dw
assume cs:codesg,ds:datasg
datasg segment
db 'DEC'
db 'Ken Oslen'
dw 137 ;改成38
dw 40 ;改成70
db 'PDP' ;改成VAX
datasg ends
codesg segment
start:
;把datasg地址放到ds中
mov ax,datasg
mov ds,ax
;设置bx的位置
mov bx,0
add bx,3 ;DEC之后
add bx,9 ;Ken Oslen之后
mov ax,38 ;借助ax改成38 十六进制26
mov word ptr ds:[bx],ax ;借助ax改内存 word ptr可以省略吗
add bx,2 ;偏移到下一个数据的内存
mov ax,70 ;借助ax改成70 十六进制46
mov word ptr ds:[bx],ax ;借助ax改内存 word ptr可以省略吗
add bx,2 ;偏移到下一个数据的内存
mov al,'V' ;借助ax改成V
mov byte ptr ds:[bx],al ;借助ax改内存
inc bx ;偏移到下一个字母的内存
mov al,'A' ;借助ax改成A
mov byte ptr ds:[bx],al ;借助ax改内存
inc bx ;偏移到下一个字母的内存
mov al,'X' ;借助ax改成X
mov byte ptr ds:[bx],al ;借助ax改内存
mov ax,4c00h
int 21h
codesg ends
end start