|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- ASSUME CS:CODE,DS:DATA,SS:STACK
- DATA SEGMENT
- DW 0123H,0456H,0789H,0ABCH,0DEFH,0FEDH,0CBAH,0987H
- DATA ENDS
- STACK SEGMENT
- DW 0,0,0,0,0,0,0,0,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,20H
- MOV BX,0
-
- MOV CX,8
- S: PUSH [BX]
- ADD BX,2
- LOOP S
-
- MOV BX,0
- MOV CX,8
- S0: POP [BX]
- ADD BX,2
- LOOP S0
-
- MOV AX,4C00H
- INT 21H
-
- CODE ENDS
- END START
复制代码 程序中栈段定义了16个字型数据,SP为20H,DEBGU(是单步不跳过循环)单步调试时不用P命令,可以全部通过
我把16个字型数据改成8个字型数据,SP改为10H,用DEBUG单步调试,到最后几个循环时,DEBUG错误退出,无法进行,但是如果用P命令跳过循环,一切正常,结果也正确,请高手指教下,这个问题纠结了一晚上了,实在搞不懂原因,就包括小甲鱼讲到这个例题时,电脑所输入的也是定义8个字的栈段,SP为16.代码是原题。 |
|