SamiULLAH Section D 15B-145-EL
LAB TASK
.MODEL SMALL
.STACK 100H
.DATA
MENU DB
,0DH,0DH,0DH,0AH,"^^^^ENTER YOUR
CHOICE^^^^",0DH,0AH,
DB "PRESS 1 TO SHIFT
LEFT",0DH,0AH
DB "PRESS 2 TO SHIFT
RIGHT",0DH,0AH
DB "PRESS 3 ROTATE
LEFT",0DH,0AH
DB "PRESS 4 ROTATE
RIGHT",0DH,0AH
DB "PRESS E FOR EXIT",0DH,0AH
DB "PRESS R TO RETURN MEIN
MENU",0DH,0AH,'$'
NO1 DB ,0DH,0AH,"ENTER THE
NUMBER",0DH,0AH,'$'
NO2 DB ,0DH,0AH,"HOW MANY
TIMES",0DH,0AH,'$'
ANSWER DB
,0DH,0AH,"*****ANSWER*****
",0DH,0AH,'$'
EX DB ,0DH,0AH,"GOOD BYE AND
PLEASE DON'T COME NEXT
TIME",0DH,0AH,'$'
RESUME DB ,0DH,0AH,"DO YOU WANT
TO RESUME Y/N",0DH,0AH,'$'
VAL1 DB ?
VAL2 DB ?
VAL3 DB ?
SELECT DB ?
VAL DB ?
.CODE
.STARTUP
START:
MOV AH,09H
MOV DX,OFFSET NO1
INT 21H
MOV AH,01H
INT 21H
SUB AL,30H
MOV VAL2,AL
MOV BL,VAL2
MOV AH,09H
MOV DX,OFFSET NO2
INT 21H
MOV AH,01H
INT 21H
SUB AL,30H
MOV VAL3,AL
MOV CL,VAL3
MOV AH,09H
MOV DX,OFFSET MENU
INT 21H
MOV AH,01H
INT 21H
MOV SELECT,AL
MOV AL,SELECT
CMP AL,'1'
JE SHL1
CMP AL,'2'
JE SHR1
CMP AL,'3'
JE ROL1
CMP AL,'4'
JE ROR1
CMP AL,'E'
JE EX1
CMP AL,'R'
JMP START
SHL1:
SHL BL,CL
MOV VAL1,BL
MOV AH,09H
MOV DX,OFFSET ANSWER
INT 21H
SamiULLAH Section D 15B-145-EL
MOV AL,VAL1
ADD AL,30H
MOV AH,0EH
INT 10H
MOV AH,09H
MOV DX,OFFSET RESUME
INT 21H
MOV AH,01H
INT 21H
MOV VAL,AL
MOV AL,VAL
CMP AL,'Y'
JE START
CMP AL,'N'
JE EX1
SHR1:
SHR BL,CL
MOV VAL1,BL
MOV AH,09H
MOV DX,OFFSET ANSWER
INT 21H
MOV AL,VAL1
ADD AL,30H
MOV AH,0EH
INT 10H
MOV AH,09H
MOV DX,OFFSET RESUME
INT 21H
MOV AH,01H
INT 21H
MOV VAL,AL
MOV AL,VAL
CMP AL,'Y'
JE START
CMP AL,'N'
JE EX1
ROL1:
ROL BL,CL
MOV VAL1,BL
MOV AH,09H
MOV DX,OFFSET ANSWER
INT 21H
MOV AL,VAL1
ADD AL,30H
MOV AH,0EH
INT 10H
MOV AH,09H
MOV DX,OFFSET RESUME
INT 21H
MOV AH,01H
INT 21H
MOV VAL,AL
MOV AL,VAL
CMP AL,'Y'
JE START
CMP AL,'N'
JE EX1
ROR1:
ROR BL,CL
MOV VAL1,BL
MOV AH,09H
MOV DX,OFFSET ANSWER
INT 21H
MOV AL,VAL1
ADD AL,30H
MOV AH,0EH
INT 10H
MOV AH,09H
MOV DX,OFFSET RESUME
INT 21H
MOV AH,01H
INT 21H
MOV VAL,AL
MOV AL,VAL
SamiULLAH Section D 15B-145-EL
CMP AL,'Y'
JE START
CMP AL,'N'
JE EX1
EX1:
MOV AH,09H
MOV DX,OFFSET EX
INT 21H
.EXIT
END
OUTPUT
Shift Left
SamiULLAH Section D 15B-145-EL
Shift Right
Rotate Left
SamiULLAH Section D 15B-145-EL
Rotate Right

ROL ROR SHL SHR Assembly Language Programmin 8086

  • 1.
    SamiULLAH Section D15B-145-EL LAB TASK .MODEL SMALL .STACK 100H .DATA MENU DB ,0DH,0DH,0DH,0AH,"^^^^ENTER YOUR CHOICE^^^^",0DH,0AH, DB "PRESS 1 TO SHIFT LEFT",0DH,0AH DB "PRESS 2 TO SHIFT RIGHT",0DH,0AH DB "PRESS 3 ROTATE LEFT",0DH,0AH DB "PRESS 4 ROTATE RIGHT",0DH,0AH DB "PRESS E FOR EXIT",0DH,0AH DB "PRESS R TO RETURN MEIN MENU",0DH,0AH,'$' NO1 DB ,0DH,0AH,"ENTER THE NUMBER",0DH,0AH,'$' NO2 DB ,0DH,0AH,"HOW MANY TIMES",0DH,0AH,'$' ANSWER DB ,0DH,0AH,"*****ANSWER***** ",0DH,0AH,'$' EX DB ,0DH,0AH,"GOOD BYE AND PLEASE DON'T COME NEXT TIME",0DH,0AH,'$' RESUME DB ,0DH,0AH,"DO YOU WANT TO RESUME Y/N",0DH,0AH,'$' VAL1 DB ? VAL2 DB ? VAL3 DB ? SELECT DB ? VAL DB ? .CODE .STARTUP START: MOV AH,09H MOV DX,OFFSET NO1 INT 21H MOV AH,01H INT 21H SUB AL,30H MOV VAL2,AL MOV BL,VAL2 MOV AH,09H MOV DX,OFFSET NO2 INT 21H MOV AH,01H INT 21H SUB AL,30H MOV VAL3,AL MOV CL,VAL3 MOV AH,09H MOV DX,OFFSET MENU INT 21H MOV AH,01H INT 21H MOV SELECT,AL MOV AL,SELECT CMP AL,'1' JE SHL1 CMP AL,'2' JE SHR1 CMP AL,'3' JE ROL1 CMP AL,'4' JE ROR1 CMP AL,'E' JE EX1 CMP AL,'R' JMP START SHL1: SHL BL,CL MOV VAL1,BL MOV AH,09H MOV DX,OFFSET ANSWER INT 21H
  • 2.
    SamiULLAH Section D15B-145-EL MOV AL,VAL1 ADD AL,30H MOV AH,0EH INT 10H MOV AH,09H MOV DX,OFFSET RESUME INT 21H MOV AH,01H INT 21H MOV VAL,AL MOV AL,VAL CMP AL,'Y' JE START CMP AL,'N' JE EX1 SHR1: SHR BL,CL MOV VAL1,BL MOV AH,09H MOV DX,OFFSET ANSWER INT 21H MOV AL,VAL1 ADD AL,30H MOV AH,0EH INT 10H MOV AH,09H MOV DX,OFFSET RESUME INT 21H MOV AH,01H INT 21H MOV VAL,AL MOV AL,VAL CMP AL,'Y' JE START CMP AL,'N' JE EX1 ROL1: ROL BL,CL MOV VAL1,BL MOV AH,09H MOV DX,OFFSET ANSWER INT 21H MOV AL,VAL1 ADD AL,30H MOV AH,0EH INT 10H MOV AH,09H MOV DX,OFFSET RESUME INT 21H MOV AH,01H INT 21H MOV VAL,AL MOV AL,VAL CMP AL,'Y' JE START CMP AL,'N' JE EX1 ROR1: ROR BL,CL MOV VAL1,BL MOV AH,09H MOV DX,OFFSET ANSWER INT 21H MOV AL,VAL1 ADD AL,30H MOV AH,0EH INT 10H MOV AH,09H MOV DX,OFFSET RESUME INT 21H MOV AH,01H INT 21H MOV VAL,AL MOV AL,VAL
  • 3.
    SamiULLAH Section D15B-145-EL CMP AL,'Y' JE START CMP AL,'N' JE EX1 EX1: MOV AH,09H MOV DX,OFFSET EX INT 21H .EXIT END OUTPUT Shift Left
  • 4.
    SamiULLAH Section D15B-145-EL Shift Right Rotate Left
  • 5.
    SamiULLAH Section D15B-145-EL Rotate Right