(1)下面的程序实现依次用内存0:0~0:15单元中的内容改写程序中的数据,完成程序:
assume cs:codesg
codesg segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
start:
mov ax,0
mov ds,ax
mov bx,0
mov cx,8
s:
mov ax,[bx]
mov cs:[bx],ax
add bx,2
loop s
mov ax,4c00h
int 21h
codesg ends
end start
(2)
下面的程序实现依次在内存中0:0~0:15单元中的内容改写程序中的数据,数据的传递用栈来进行,栈空间设置在程序内,完成程序。
assume cs:codesg
codesg segment
dw 0123h,045h,0789h,0abch,0defh,0fedh,0cbsh,0987h
dw 0,0,0,0,0,0,0,0,0,0
start:
mov ax,
mov sp,ax
mov sp,24h (十进制就是36)
内存图就是这样的:(箭头是sp指针,它指向了36,也就是栈底的下一个元素)