Untitled
unknown
plain_text
a year ago
1.7 kB
4
Indexable
.data
input db 'Enter Binary Input: $' ; Enter Binary Input: 1011
Output db 'Binary Output: $' ; Binary Output;0000000..1011
.code
input1 proc ;Procedure ->input1
mov ax,@data
mov ds,ax
mov ah,9
lea dx,input
int 21h
ret
endp
main proc
mov ax,@data
mov ds,ax
call Input1 ; display: Enter Binary Input
xor bx,bx ; clear the bx register
mov cx,16
while_:
mov ah,1 ; single input
int 21h
cmp al,0Dh ;
je Output_
AND AL,0FH
shl bx,1
or bl,al
loop while_
Output_:
mov ah,9
lea dx,Output
int 21h
mov cx,16
IF:
shl bx,1
jnc then
mov ah,2 ;print output
mov dl,31h ; '1'
int 21h
jmp display
then:
mov ah,2
mov dl,30h
int 21h
jmp display
display:
loop IF
End_while:
mov ah,4ch
int 21h
main endp
end main
.data
input db 'Enter Hex Value: $'
output db 'Output Hex Value: $'
.code
MAIN PROC
mov ax,@data
mov ds,ax
mov ah,9
lea dx,input
int 21h
XOR BX,BX
MOV CL,4
MOV AH,1
FOR:
INT 21H
CMP AL,0DH
JE OUTPUT_
CMP AL,41H
JGE LETTER
AND AL,0FH
JMP SHIFT
LETTER:
SUB AL,37H
SHIFT:
SHL BX,CL
OR BL,AL
JMP FOR
OUTPUT_:
MOV AH,9
LEA DX,OUTPUT
INT 21H
MOV CX,4
MOV AH,2
AGAIN:
MOV DL,BH
SHR DL,4
ROL BX,4
CMP DL,10
JGE LETTEROUT
ADD DL,48
INT 21H
JMP EXIT
LETTEROUT:
ADD DL,55
INT 21H
EXIT:
LOOP AGAIN
END_MAIN:
MOV AH,4CH
INT 21H
END MAIN
MAIN END
Editor is loading...
Leave a Comment