循环输出得问题~~~~~~~~~~~~~~

bc00718 2008-05-08 08:47:38
这个代码是 输入1-9中得任意一个数 输出相应个数的*

有错误 请各位高手帮忙改下 谢谢~~~~~~~~~


DATA SEGMENT
STRING DB 'please press 1--9:$'
BUF DB 'GOOD BYE$'
CR DB 0DH,0AH,'$'
DATA ENDS

CODE SEGMENT
ASSUME CS:CODE,DS:DATA

START:MOV AX,DATA
MOV DS,AX

A: LEA DX,STRING
MOV AH,09H
INT 21H
MOV AH,01H
INT 21H

CMP AL,'1'
JB A
CMP AL,'9'
JA A

MOV CL,AL
MOV CH,0

B: MOV DX,'*'
MOV AH,02H
INT 21H
DEC CL
JNZ B

LEA BX,CR
MOV AH,09H
INT 21H

LEA AX,BUF
MOV AH,09H
INT 21H

MOV AH,4CH
INT 21H


CODE ENDS
END START
...全文
105 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
bc00718 2008-05-08
  • 打赏
  • 举报
回复
谢谢呀 可以运行 是对得~~~~~~
dongyi940333 2008-05-08
  • 打赏
  • 举报
回复


DATA SEGMENT
STRING DB 'please press 1--9:$'
BUF DB 'GOOD BYE$'
CR DB 0DH,0AH,'$'
DATA ENDS

CODE SEGMENT
ASSUME CS:CODE,DS:DATA

START:
MOV AX,DATA
MOV DS,AX

A: LEA DX,STRING
MOV AH,09H
INT 21H
MOV AH,01H
INT 21H

CMP AL,'1'
JB A
CMP AL,'9'
JA A


SUB AL, 30H;AL返回的是字符的ASCII,要减去30H,以得到输入的数字的实际值
MOV CL,AL
MOV CH,0

B:
MOV DL, '*'
MOV AH,02H
INT 21H
LOOP B


LEA DX,CR
MOV AH,09H
INT 21H

LEA DX,BUF
MOV AH,09H
INT 21H

MOV AH,4CH
INT 21H


CODE ENDS
END START


不对之处请原谅!!!

21,458

社区成员

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

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