欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

自个儿写的代码,可是debug调试到其中一句代码后不会往下执行

更新时间: 2014-01-05 03:17:25 责任编辑: Author_N1

 

自己写的代码,可是Debug调试到其中一句代码后不会往下执行
DATAS SEGMENT
    ;此处输入数据段代码  
    SIGN DW 0 
    X1 DW ?
    X2 DW ?
    Y DW ?        
    RESULT DW ?  ;结果
DATAS ENDS

STACKS SEGMENT
    ;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
    MOV AX,DATAS
    MOV DS,AX
    ;此处输入代码段代码
;输入函数
MOV CX,20
INPUT_DIGIT: MOV AH,1
INT 21H
CMP AL,0DH  ;判断是否回车
JE NEXT1
CMP AL,'0'  
JB INPUT_DIGIT   ;小于0重新输入
CMP AL,'9'
JA A_F
JMP SAVE_DIGIT1
LOOP INPUT_DIGIT

A_F: CMP AL,'A'
JB INPUT_DIGIT
CMP AL,'F'
JA INPUT_DIGIT

SAVE_DIGIT1: POP BX ;BX出栈
CMP AL,'9'
JA SAVE_DIGIT2
SUB AL,30H  ;0-9时保存
OR BX,AX
MOV X1[DI],BX
MOV CL,4
SHL BX,CL  ;使BX左移4位  是为了OR BX,AX
PUSH BX
;在A-F时保存
SAVE_DIGIT2: SUB AL,37H
OR BX,AX
MOV X1[DI],BX
MOV CL,4
SHL BX,CL
PUSH BX

NEXT1: CMP SIGN,1  ;判断是否保存了X1
JE  NEXT2  ;之前已经保存了X2=X1,则退出
MOV AX,X1
MOV X2,AX
INC SIGN

NEXT2: MOV AH,4CH
    INT 21H
CODES ENDS
    END START



Debug调试到CMP AL,'9' 就不会往下执行 JA SAVE_DIGIT2  然后就无法调试了
求解释哪里错了 ,新手不懂啊
--参考方法--
弄个堆栈就行了。
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 03:17:25
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/20433/
本文WWW.DOC100.NET DOC100.NET版权所有。