注册 登录
编程论坛 汇编论坛

新人求助关于王爽汇编论坛第五章5.8的问题

k972003356 发布于 2017-11-13 12:33, 2198 次点击
5.8将内存FFFF:0~FFFF:b单元中的数据复制到0:200~0:20b单元中
如何用栈段编程,诸位高手帮我看一下这是哪里出了错,debug检测一直出错。
assume cs:cs
cs segment

   mov ax,0FFFFH
   mov ds,ax
   mov ax,0020H
   mov ss,ax
   mov sp,12H
   mov bx,0a
   mov cx,6
 s:push [bx]
   sub bx,2
   loop s
   mov ax,4c00H
   int 21H   
cs ends
end
1 回复
#2
Valenciax2017-11-15 21:37
debug本身也会动用ss和sp,对栈的 [不当改动] 尤为敏感.
其实利用栈也不必改动ss,sp,可以这样写.

MOV     AX,0FFFFh
MOV     DS,AX
MOV     CX,6
MOV     BX,0
@@:
PUSH    WORD PTR [BX]
ADD     BX,2
LOOPW   @b
MOV     AX,0
MOV     DS,AX
MOV     BX,020Ah
MOV     CX,06
@@:
POP     WORD PTR [BX]
SUB     BX,2
LOOPW   @b
1