回 帖 发 新 帖 刷新版面

主题:请求支援(汇编)

学过汇编的帮下,我这个程序就是用来显示字符串的长度的,本来应该很简单,可是我调试过很长时间,都没有通过,编译是可以通过的,当我直接输入回车的时候就会报错,输入不超过10个字符的时候运行结果是正确的,输入超过10个字符的时候算出来的结果不对,在不改变我的思路的情况下帮我看下哪里有问题,谢谢!!
SSE SEGMENT STACK'S'
DW 60 DUP(?)
SSE ENDS
DATA SEGMENT
NUM DB 100,0,200 DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME SS:SSE,DS:DATA,CS:CODE
MAIN PROC FAR
MOV    AX,DATA
MOV    DS,AX
;;;;;;;;;;;;;;;;;;;;;输入
MOV    AH,0AH
LEA    DX,NUM
MOV    SI,DX
INT    21H
;;;;;;;;;;;;;;;;;;;;清屏
MOV    AH,6
MOV    AL,0
MOV    BH,00001111B
MOV    CX,0
MOV    DH,24D
MOV    DL,79D
INT    10H
;;;;;;;;;;;;;;;;;;;;;初始化光标
mov    ah,2
mov    BH,0
mov    DH,0
mov    DL,0
int    10H
XOR    DI,DI
;;;;;;;;;;;;;;;;;;;;;运算
XOR    AH,AH
MOV    AL,[SI+1]
CMP    AL,0
JZ    BN
XOR    CX,CX
INC    CX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
BM:    xor AH,AH
mov     bl,0AH
div    bl
CMP    AL,0
JZ    BN
INC    CX
PUSH    AX
MOV    AL,AH
JMP    BM
;;;;;;;;;;;;;;;;;;;;;;;显示
BN:    PUSH    AX
BW:    POP    DX
MOV    DL,DH
OR    DL,30H
MOV    AH,2
INT    21H
;;;;;;;;;;;;;;;;;;;;;;;;;光标处理
INC    DI
MOV    DX,DI
MOV    AH,2
MOV    BH,0
INT    10H
LOOP    BW
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;查看结果
MOV    AH,1
INT    21H
MOV    AX,4C00H
INT    21H
MAIN    ENDP
CODE    ENDS
END    MAIN
(上面的程序用于工作在实模式下)

回复列表 (共1个回复)

沙发

喂!我调试了两天了,实在搞不定,唉,哪位抽空帮看下吧,调试的想吐了,我晕啊,为何这么简单的东东,这么难摆平

我来回复

您尚未登录,请登录后再回复。点此登录或注册