碰到一个奇怪的问题,程序没有错误,可是成了无限次的输入,我实在找不出哪儿错了,哪位大哥给看看,谢谢啦

tailor2 2005-08-23 10:04:55
DATA SEGMENT
STRING DB 'Commissars,please give your scores,which must be between 10 and 20!',0AH,0DH,'$'
STRING1 DB 'The commissar ','$'
STRING2 DB '.s score is:','$'
STRING3 DB ' ',0AH,0DH,'$'
COUNT DB 7
CHAR_BUF DB 3
DB 0
DB 3 DUP(0)
RESULT DB 8 DUP(0)
MAX DB 0
MIN DB 0
DATA ENDS

STACK1 SEGMENT PARA STACK
TEMP DB 10H DUP(?)
STACK1 ENDS

CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK1
START: MOV AX,DATA
MOV DS,AX
MOV CL,7
MOV SI,OFFSET CHAR_BUF[2]
MOV DI,OFFSET RESULT

MOV DX,OFFSET STRING
MOV AH,09H
INT 21H

LOP1: MOV DX,OFFSET STRING1
MOV AH,09H
INT 21H

MOV DL,31H
MOV AH,02H
INT 21H

MOV DX,OFFSET STRING2
MOV AH,09H
INT 21H

MOV DX,OFFSET CHAR_BUF
MOV AH,0AH
INT 21H

MOV DX,OFFSET STRING3
MOV AH,09H
INT 21H

XOR AX,AX
XOR BX,BX
MOV AL,[SI]
INC SI
MOV BL,[SI]
DEC SI
SUB AL,30H
SUB BL,30H
XOR DX,DX
MOV DL,10
MUL DL
ADD AL,BL
MOV [DI],AL
INC DI
LOOP LOP1

XOR AX,AX
XOR BX,BX
XOR CX,CX
XOR DX,DX
MOV DI,0000H
MOV DI,OFFSET RESULT
MOV AL,[DI]
INC DI
MOV BL,[DI]
NEXT: INC DI
MOV CL,[DI]
CMP CL,00H
JE OVER
CMP AL,CL
JNC BIXIAO
XCHG AL,CL
JMP NEXT
BIXIAO: CMP BL,CL
JC NEXT
XCHG BL,CL
JMP NEXT
MOV MAX,AL
MOV MIN,BL

OVER: MOV AH,4CH
INT 21H
CODE ENDS
END START

碰到一个奇怪的问题,程序没有错误,可是成了无限次的输入,我实在找不出哪儿错了,哪位大哥给看看,谢谢啦




...全文
49 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
VxD1 2005-08-24
  • 打赏
  • 举报
回复
LOOP
WYlslrt 2005-08-24
  • 打赏
  • 举报
回复
回复人: Areslee(懒虫易水) ( ) 信誉:180 2005-08-24 10:20:00 得分: 0


1、循环中保存CX的值
2、看看CH的初值是啥
3、同一问题不要重复发贴,自己把另一贴删掉


21,497

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧