4.通过键盘接收一个个位数N,然后显示N个字母‘$’

;通过键盘接收一个个位数N,然后显示N个字母‘$’

DATAS SEGMENT
MSG1 DB 'Input char is not digital number',0DH,0AH,'$'
DATAS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS
START:
    MOV AX,DATAS
    MOV DS,AX
    
    MOV AH,07H
    INT 21h		;接收输入的个位数
    
    CMP AL,30H
    JBE MSG		
    
    CMP AL,39H
    JA MSG  	;输入数据不是0-9则错误,结束
    
    CBW			;扩展8位AL为16位数据
    MOV CX,AX	;设置循环次数
    SUB CX,30H
L:
	MOV DL,24H      ;24H是'$'的ASCII码值
	MOV AH,02H
	INT 21H
	LOOP L
	JMP STOP
MSG: 
	LEA DX,MSG1      ;输出错误提示
	MOV AH,09H
	INT 21H
	JMP STOP
	
STOP:    
    MOV AH,4CH
    INT 21H
CODES ENDS
    END START

posted @ 2020-10-26 09:14  不知道说什么才好  阅读(743)  评论(0编辑  收藏  举报