检测点6.1 第二题
检测点6.1(2)下面的程序实现依次用内存0:0~0:15单元中的内容改写程序中的数据,数据的传送用栈来进行。栈空间设置在程序内。完成程序:
assume cs:codesg
codesg segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
dw 0,0,0,0,0
start:mov ax, _____
mov ss,ax
mov sp, _____
mov ax,0
mov ds,ax
mov bx,0
mov cx,8
s:push
______
add bx,2
loop s
mov ax,4c00h
int 21h
codesg ends
end start
求高手一步一步的详细,谢谢!!!!{:5_111:}{:5_111:}{:5_111:}
s:push
这时是将DS:IP处的数据入栈。 栈地址:SS:SP
入栈,哪下一步是不是就出栈,命今是:POP —————— ,它出栈的数据放在哪里去呢,应该是去覆盖程序中的数据 dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h 这些地址应该是cs:0,cs:2,cs:4
cs:6,cs:8, cs:a, cs:c, cs:e。就是后面这一点弯转不过来 到拉萨去兜风 发表于 2012-12-10 22:30
s:push
这时是将DS:IP处的数据入栈。 栈地址:SS:SP
入栈,哪下一步是不是就出栈,命今是:POP —— ...
应该是POP到CS:0代码段里去了,也就是程序段,题目的意思,把数据覆盖到程序里,不知道这样理解对不对?
页:
[1]