编写一个程序,从键盘输入一个不大于16位的2进制数,然后以8进制形式显示出所输入的数。
DATA SEGMENT
;可以写入代码
DATA ENDS
STACK SEGMENT
DW 10 DUP(?)
TOP LABEL WORD
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
MAIN PROC FAR
MOV AX,STACK
MOV SS,AX
LEA SP,TOP
MOV AX,DATA
MOV DS,AX
MOV CX,16
MOV BX,0
L1:MOV AH,1
INT 21H
CMP AL,0DH
JE L2
AND AX,1
SHL BX,1
ADD BX,AX
LOOP L1
L2:MOV DL,0DH
MOV AH,2
INT 21H
MOV DL,0AH
MOV AH,2
INT 21H
ROL BX,1
MOV DX,BX
AND DX,1
ADD DL,30H
MOV AH,2
INT 21H
MOV CX,5
L3:PUSH CX
MOV CL,3
ROL BX,CL
MOV DX,BX
AND DX,7
ADD DL,30H
MOV AH,2
INT 21H
POP CX
LOOP L3
MOV AH,4CH
INT 21H
MAIN ENDP
CODE ENDS
END MAIN