为什么使用栈会调试不出来
assume cs:code,ds:data,ss:stack;为什么使用栈会调试不出来
data segment
db 'aaaabbbbccccdddd'
db 'aaaabbbbccccdddd'
db 'aaaabbbbccccdddd'
db 'aaaabbbbccccdddd'
data ends
stack segment
dw 0,0,0,0,0,0,0,0 ;定义一个字型位
stack ends
code segment
start:mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax
mov sp,16
mov bx,0
mov cx,4
L:
push cx ;此时将cx的值进栈
mov si,0 ;用于定位列
mov cx,3 ;定义内层循环
L1:mov al,
and al,11011111b
mov ,al
inc si
loop L1
add bx,16
pop cx ;将cx从栈中拿出来
; 作用就是使其他不死循环
loop L
mov ax,4c00h
int 21h
code ends
end start
问题在具体点, 我没明白, 问题在于内循环的cx应该是16,而不是3。你自己想清楚吧。
页:
[1]