Lecture 12
Lecture 12
➢ Example: If AL = 5d, after left shift AL = 10d, after another left shift AL
= 20d
The SAL Instruction
MOV CX, 8
REVERSE:
SHL AL, 1
RCR BL, 1
LOOP REVERSE
MOV AL, BL
Binary Input
Algorithm to read a binary number from keyboard and stored it in BX
Clear BX
Input a character
While character <> CR Do
Convert character to binary value
Left shift BX
Insert value into LSB of BX
Input a character
End_While
Binary Input Contd..
Assembly Language Code for Binary Input:
XOR BX, BX
MOV AH, 1
INT 21h
WHILE_:
CMP AL, 0Dh
JE END_WHILE
AND AL, 0Fh ;convert to binary value
SHL BX, 1
OR BL,AL
INT 21h
JMP WHILE_
END_WHILE:
Binary Output
Algorithm:
FOR 16 TIMES DO
ROTATE LEFT BX
IF CF = 1
THEN
OUTPUT ‘1’
ELSE
OUTPUT ‘0’
END_IF
END_FOR
Hex input
Assumptions:
Only uppercase letters
Maximum four hex characters
Algorithm for Hex Input:
CLEAR BX
Input Hex Character
WHILE Character <> CR DO
Convert Character To Binary Value
Left Shift BX Four Times
Insert Value Into Lower 4 Bits Of BX
Input A Character
END_WHILE
Hex Output
Algorithm:
For 4 Times Do
Move BH to DL
Shift DL 4 times to the right
IF DL < 10
THEN
Convert to character in ‘0’….’9’
ELSE
Convert to character in ‘A’….’F’
END_IF
Output Character
Rotate BX left 4 times
END_FOR
THE END.