求助各位大佬,这个能输入,不知道能比较不,反正感觉逻辑挺对的,但是显示中间的数二进制,他会出一个我没输过的随机一个数
DATASEGMENT
ADB0
BDB0
CDB0
BUFDB3
INNDB3DUP(0)
MESG0DB0DH,0AH,'INPUTNUMBER<99:S'
MESG1DB0DH,0AH,'THEMIDDLEENUMBER(INBINARY)IS:$'
DATAENDS
CODESEGMENT
ASSUMECS:CODE,DS:DATA
START:MOVAX,DATA
MOVDS,AX
LEASI,A
CALLREADDECIMAL
LEASI,B
CALLREADDECIMAL
LEASI,C
CALLREADDECIMAL
XORBX,BX
MOVBL,B
MOVAH,A
MOVAL,C
CMPAH,BL
JAEM1
M1:XCHGBL,AH
CMPAH,AL
JAE M2
M2:XCHGAH,AL
CMPBL,AL
JAE M3
M3:XCHGBL,AL
PRINT:MOVAH,9
LEADX,MESG1
INT21H
CALLPRINTBIN
MOUAX,4C00H
INT21H
printbin proc near
mov cx, 8
mov ah,2
p0:
rol bx, 1
mov dl, bl
and dl, 01h
xor dl,30h
int 21h
loop p0
ret
printbin endp
code ends
end start
DATASEGMENT
ADB0
BDB0
CDB0
BUFDB3
INNDB3DUP(0)
MESG0DB0DH,0AH,'INPUTNUMBER<99:S'
MESG1DB0DH,0AH,'THEMIDDLEENUMBER(INBINARY)IS:$'
DATAENDS
CODESEGMENT
ASSUMECS:CODE,DS:DATA
START:MOVAX,DATA
MOVDS,AX
LEASI,A
CALLREADDECIMAL
LEASI,B
CALLREADDECIMAL
LEASI,C
CALLREADDECIMAL
XORBX,BX
MOVBL,B
MOVAH,A
MOVAL,C
CMPAH,BL
JAEM1
M1:XCHGBL,AH
CMPAH,AL
JAE M2
M2:XCHGAH,AL
CMPBL,AL
JAE M3
M3:XCHGBL,AL
PRINT:MOVAH,9
LEADX,MESG1
INT21H
CALLPRINTBIN
MOUAX,4C00H
INT21H
printbin proc near
mov cx, 8
mov ah,2
p0:
rol bx, 1
mov dl, bl
and dl, 01h
xor dl,30h
int 21h
loop p0
ret
printbin endp
code ends
end start