当前位置: 代码迷 >> 汇编语言 >> cx执行到3的时候就崩溃了,咋回事
  详细解决方案

cx执行到3的时候就崩溃了,咋回事

热度:4176   发布时间:2013-02-26 00:00:00.0
cx执行到3的时候就崩溃了,怎么回事?
Assembly code
assume cs:codea segment    dw 1,2,3,4,5,6,7,8,9,0ah,0bh,0ch,0dh,0eh,0fh,0ffha endsb segment    dw 0,0,0,0,0,0,0,0b endscode segment    start:    mov ax,a    mov ds,ax    mov ax,b    mov ss,ax    mov sp,16    mov cx,8    mov bx,0    s:    push [bx]    add bx,2    loop s    mov ax,4c00h    int 21h code endsend start


我debug加载后,t命令执行到cx=3的时候就崩溃了,怎么回事?

------解决方案--------------------------------------------------------
增大堆栈,比如: mov sp,100h
------解决方案--------------------------------------------------------
栈的空间不足,改大一点。
------解决方案--------------------------------------------------------
探讨
Assembly code
assume cs:code

a segment
dw 1,2,3,4,5,6,7,8,9,0ah,0bh,0ch,0dh,0eh,0fh,0ffh
a ends

b segment
dw 0,0,0,0,0,0,0,0
b ends

code segment
start:
mov ax,a
mo……
  相关解决方案