/* Binary To Hexadecimal Output In Assembly Language Solution. */
/*
*
* Prosen Ghosh
* American International University - Bangladesh (AIUB)
*
*/
Solution:
.MODEL SMALL
.STACK 100H
.DATA
STR DB 0AH,0DH,'Illegal Input. $'
.CODE
MAIN PROC
MOV AX,@DATA
MOV DS,AX
MOV BX,0
MOV CL,1
TOP:
MOV AH,1
INT 21H
CMP AL,0DH
JE END_
CMP AL,30H
JNE CHECK
CONTINUE:
SUB AL,30H
SHL BX,CL
OR BL,AL
JMP TOP
CHECK:
CMP AL,31H
JNE MSG
JMP CONTINUE
END_:
MOV AH,2
MOV DL,0AH
INT 21H
MOV DL,0DH
INT 21H
MOV CL,1
MOV CH,0
OUTPUT:
CMP CH,4
JE FINISH
INC CH
MOV DL,BH
SHR DL,4
CMP DL,0AH
JL DIGIT
ADD DL,37H
MOV AH,2
INT 21H
ROL BX,4
JMP OUTPUT
DIGIT:
ADD DL,30H
MOV AH,2
INT 21H
ROL BX,4
JMP OUTPUT
MSG:
MOV AH,9
LEA DX,STR
INT 21H
FINISH:
MOV AH,4CH
INT 21H
MAIN ENDP
END MAIN
0 nhận xét:
Đăng nhận xét