JA ZIMU ADD DL,30H JMP SHUCHU ZIMU:
ADD DL,37H SHUCHU:
MOV AH,02H INT 21H DEC DH CMP DH,0 JNE CONTINUE MOV DL,0AH MOV AH,02H INT 21H
MOV DL,0DH MOV AH,02H INT 21H RET
OUTPUT ENDP EXIT:
MOV AH,4CH INT 21H CODES ENDS END START
13. 键盘输入一个十进制数,以二进制的形式输出。
CODES SEGMENT
ASSUME CS:CODES START: NEXT:
MOV BX,0 CALL INPUT CALL OUTPUT JMP NEXT INPUT PROC NEAR SHURU:
MOV AH,01H INT 21H CBW
CMP AX,0DH JE RETURN CMP AX,'0' JB EXIT
CMP AX,'9' JA EXIT
CALL TRANSFORM JMP SHURU RETURN: RET INPUT ENDP
TRANSFORM PROC NEAR XCHG AX,BX SUB BX,30H MOV CX,10 MUL CX ADD AX,BX XCHG AX,BX RET
TRANSFORM ENDP OUTPUT PROC NEAR MOV DH,16 MOV CL,1 CONTINUE: ROL BX,CL MOV DL,BL
AND DL,00000001H ADD DL,30H SHUCHU:
MOV AH,02H INT 21H DEC DH CMP DH,0 JNE CONTINUE MOV DL,0AH MOV AH,02H INT 21H
MOV DL,0DH MOV AH,02H INT 21H RET
OUTPUT ENDP EXIT:
MOV AH,4CH INT 21H CODES ENDS END START
14. 键盘输入一个二进制数,以十六进制的形式输出。
CODES SEGMENT
ASSUME CS:CODES START: NEXT:
MOV BX,0 CALL INPUT CALL OUTPUT JMP NEXT INPUT PROC NEAR SHURU:
MOV AH,01H INT 21H CBW
CMP AX,0DH JE RETURN CMP AX,'0' JB EXIT CMP AX,'1' JA EXIT
CALL TRANSFORM JMP SHURU RETURN: RET INPUT ENDP
TRANSFORM PROC NEAR XCHG AX,BX SUB BX,30H MOV CX,2 MUL CX ADD AX,BX XCHG AX,BX RET
TRANSFORM ENDP OUTPUT PROC NEAR MOV DH,4 MOV CL,4 CONTINUE: ROL BX,CL MOV DL,BL AND DL,0FH CMP DL,9 JA ZIMU ADD DL,30H
JMP SHUCHU ZIMU:
ADD DL,37H SHUCHU:
MOV AH,02H INT 21H DEC DH CMP DH,0 JNE CONTINUE MOV DL,0AH MOV AH,02H INT 21H
MOV DL,0DH MOV AH,02H INT 21H RET
OUTPUT ENDP EXIT:
MOV AH,4CH INT 21H CODES ENDS END START
15.键盘输入一个二进制数,以十进制的形式输出。CODES SEGMENT
ASSUME CS:CODES START: AGAIN: MOV BX,0 CALL INPUT CALL OUTPUT JMP AGAIN INPUT PROC NEAR SHURU: MOV AH,01H INT 21H CBW CMP AX,0DH JE RETURN CMP AX,'0' JB EXIT CMP AX,'1' JA EXIT CALL TRANSFORM
JMP SHURU RETURN: RET INPUT ENDP
TRANSFORM PROC NEAR XCHG AX,BX SUB BX,30H MOV CX,2 MUL CX ADD AX,BX XCHG AX,BX RET
TRANSFORM ENDP OUTPUT PROC NEAR MOV AX,BX MOV DX,0 MOV CX,10000 DIV CX MOV BX,DX ADD AL,30H MOV DL,AL MOV AH,02H INT 21H MOV AX,BX MOV DX,0 MOV CX,1000 DIV CX MOV BX,DX ADD AL,30H MOV DL,AL MOV AH,02H INT 21H MOV AX,BX MOV DX,0 MOV CX,100 DIV CX MOV BX,DX ADD AL,30H MOV DL,AL MOV AH,02H INT 21H