下面的程序实现依次用内存0:0-0:15单元中的内容改写程序中的数据,数据的传送用栈来进行,栈空间设置在程序内,有几个地方不是很清楚,请大家指点一下!
程序如下:
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
mov ss,ax
mov sp,26 ;这里为什么是26啊 感觉好像是24就可以了 但是不行
mov ax,0
mov ds,ax
mov bx,0
mov cx,8
s:push [bx]
pop cs:[bx] ;这里也不太清楚
add bx,2
loop s
mov ax,4c00h
int 21h
codesg ends
end start
我是个初学者希望大家能尽量说清楚一点谢谢了