求助 debug调试出错 请各位帮忙
本帖最后由 强子 于 2013-3-11 13:40 编辑源代码如下:
assume cs:code,ds:a,ss:c1c
a segment
db 1,2,3,4,5,6,7,8
a ends
b segment
db 1,2,3,4,5,6,7,8
b ends
c1c segment
db 0,0,0,0,0,0,0,0
c1c ends
code segment
start:
mov ax,c1c
mov ss,ax
mov sp,8
mov ax,a
mov ds,ax
mov cx,4
mov bx,6
s: push
sub bx,2
loop s
mov ax,4c00h
int 21h
code ends
end start
编译后进入debug
在把c1c的地址给ss之前c1c处的空间是初始内容0
把c1c出的地址给ss之后就多出了四个字节的内容,
在运行到bx减2的时候就报错,不知道是什么原因?
话说 不知道为啥 调试一直 不让
不过是可以运行的 我这不让用 带s的段名(以S开头)所以改了 后边是显示 栈中内容 明显是正常运行了
但是一调试 就无效指令assume cs:code,ds:a,ss:stack
a segment
db 31h,32h,33h,34h,35h,36h,37h,38h
a ends
b segment
db 1,2,3,4,5,6,7,8
b ends
stack segment
db 0,0,0,0,0,0,0,0
stack ends
code segment
start: mov ax,stack
mov ss,ax
mov sp,8
mov ax,a
mov ds,ax
mov cx,4
mov bx,6
s: push
sub bx,2
loop s
mov ax,ss
mov es,ax
mov bp,0
mov cx,8
mov dx,0505h
mov bx,0fbh
mov ax,1300h
int 10h
mov ah,1
int 21h
mov ax,4c00h
int 21h
code ends
end start
页:
[1]