;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;1 用键盘输入两个一位十进制数,均为奇输出M、均为偶输出Q,否则输出T
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DATA SEGMENT
MESG1 DB 13, 10, 'Input n1: $' ;用于提示.
MESG2 DB 13, 10, 'Input n2: $' ;用于提示.
MESG3 DB 13, 10, 'Result is: $' ;用于提示.
MESG4 DB 13, 10, 'Error. $' ;用于提示.
N1 DB ?
DATA ENDS
;
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START:
MOV AX, DATA
MOV DS, AX
MOV DX, OFFSET MESG1
MOV AH, 9 ;9号功能调用,显示提示.
INT 21H
MOV AH, 1 ;1号功能调用,接收键盘输入.
INT 21H
CMP AL, '0'
JB ERR
CMP AL, '9'
JA ERR
MOV N1, AL
MOV DX, OFFSET MESG2
MOV AH, 9 ;9号功能调用,显示提示.
INT 21H
MOV AH, 1 ;1号功能调用,接收键盘输入.
INT 21H
CMP AL, '0'
JB ERR
CMP AL, '9'
JA ERR
JMP E_OR_O
ERR:
MOV DX, OFFSET MESG4
MOV AH, 9 ;9号功能调用,显示提示.
INT 21H
JMP EXIT
E_OR_O:
;均为奇输出M均为偶输出Q否则输出T
TEST AL, 1
JZ Y_E
MOV AH, N1
TEST AH, 1
JZ ONE_E
MOV DL, 'M'
JMP OUT_CHAR
Y_E:
MOV AH, N1
TEST AH, 1
JZ ALL_E
ONE_E:
MOV DL, 'T'
JMP OUT_CHAR
ALL_E:
MOV DL, 'Q'
OUT_CHAR:
PUSH DX
MOV DX, OFFSET MESG3
MOV AH, 9 ;9号功能调用,显示提示.
INT 21H
POP DX
MOV AH, 2 ;2号功能调用,显示结果.
INT 21H
;----------------------------结束.
EXIT:
MOV AH, 4CH
INT 21H
;============================
CODE ENDS
END START
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;2 输入两个一位数,如第一个能被第二个整除,就显示商,否则显示余数
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DATA SEGMENT
MESG1 DB 13, 10, 'Input n1: $' ;用于提示.
MESG2 DB 13, 10, 'Input n2: $' ;用于提示.
MESG3 DB 13, 10, 'Result is: $' ;用于提示.
MESG4 DB 13, 10, 'Error. $' ;用于提示.
N1 DB ?
DATA ENDS
;
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START:
MOV AX, DATA
MOV DS, AX
MOV DX, OFFSET MESG1
MOV AH, 9 ;9号功能调用,显示提示.
INT 21H
MOV AH, 1 ;1号功能调用,接收键盘输入.
INT 21H
CMP AL, '0'
JB ERR
CMP AL, '9'
JA ERR
AND AL, 15
MOV N1, AL
MOV DX, OFFSET MESG2
MOV AH, 9 ;9号功能调用,显示提示.
INT 21H
MOV AH, 1 ;1号功能调用,接收键盘输入.
INT 21H
CMP AL, '0'
JB ERR
CMP AL, '9'
JA ERR
JMP E_OR_O
ERR:
MOV DX, OFFSET MESG4
MOV AH, 9 ;9号功能调用,显示提示.
INT 21H
JMP EXIT
E_OR_O:
第一个数能被第二个整除 显示商数 否则显示余数
AND AL, 15
MOV BL, AL
MOV AH, 0
MOV AL, N1
DIV BL
AND AH, AH
JZ DISP_SH
ADD AH, 48
MOV DL, AH
JMP OUT_CHAR
DISP_SH:
ADD AL, 48
MOV DL, AL
OUT_CHAR:
PUSH DX
MOV DX, OFFSET MESG3
MOV AH, 9 ;9号功能调用,显示提示.
INT 21H
POP DX
MOV AH, 2 ;2号功能调用,显示结果.
INT 21H
;----------------------------结束.
EXIT:
MOV AH, 4CH
INT 21H
;============================
CODE ENDS
END START
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
原题网址:http://zhidao.baidu.com/question/382018263.html
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~