<<汇编语言>>王爽课后监测点6.1
红色字体为不解之处,请高手给点解释.(2)
assume cs:codesg
codesg segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
dw 0,0,0,0,0,0,0,0,0,0
start:
mov ax,cs ;cs为所填第一空
mov ss,ax
mov sp,24h ;此条指令为所填第二空
mov ax,0
mov ds,ax
mov bx,0
mov cx,8
s:
push //这里我认为是把0123H 压入栈中
pop cs: ;此条指令为所填第三空//而这里应该是把栈中的0123H弹出到CS:,也就是把栈中的0123H覆盖了程序开头的0123H.这里的这个答案是不是错误的啊.应该是 mov cs:, .请高手给点解释.
add bx,2
loop s
mov ax,4c00h
int 21h
codesg ends
end start 注意ds的值。 DS的值是0 啊也就是 0:0 的内容mov 到cs: 中啊.这是题目要求的吧. 要吧0:0-0:15单元中的内容改写程序中的数据 敉沧 发表于 2012-7-11 09:45 static/image/common/back.gif
注意ds的值。
DS的值是0 啊也就是 0:0 的内容mov 到cs: 中啊.这是题目要求的吧. 要吧0:0-0:15单元中的内容改写程序中的数据 敉沧 发表于 2012-7-11 09:45 static/image/common/back.gif
注意ds的值。
哦.我懂了.push其实是吧 ds: (0:0) 的数据压入栈.pop 到 cs: 去. 而mov cs:, 我的这种写法是错误的.但是初衷是一致的.谢谢你啊 meiyoudao 发表于 2012-7-11 10:14
哦.我懂了.push其实是吧 ds: (0:0) 的数据压入栈.pop 到 cs: 去. 而mov cs:, 我的这种写法是错 ...
哈哈。你终于懂了。。。
页:
[1]