You are on page 1of 52

SRI VENKATESHWARA COLLEGE OF ENGINEERING

; 1(A).SEARCH A KEY IN A LIST OF N NUMBERS ; USING BINARY SEARCH ALGORITHM .MODEL SMALL .DATA ARRAY DW 1234H,1324H,2161H,5698H,8169H LEN DW($-ARRAY)/2 SRCHKEY EQU 8169H MSG1 DB 'ELEMENT IS FOUND ',$ MSG2 DB 'ELEMENT NOT FOUND','$' .CODE MOV AX,@DATA MOV DS,AX MOV BX,01 MOV DX,LEN MOV CX,SRCHKEY AGAIN: CMP BX,DX JA FAILURE MOV AX,DX ADD AX, BX SHR AX, 01 MOV SI, AX DEC SI ADD SI, SI CMP CX, ARRAY [SI] JAE BIGGER DEC AX MOV DX, AX JMP AGAIN BIGGER: JE SUCCESS INC AX MOV BX, AX JMP AGAIN SUCCESS: LEA DX, MSG1 JMP DISPLAY FAILURE: LEA DX, MSG2 DISPLAY: MOV AH, 09H INT 21H
DEPT OF ISE/CSE,SVCE

Page 1

SRI VENKATESHWARA COLLEGE OF ENGINEERING

MOV AH, 4CH INT 21H END

DEPT OF ISE/CSE,SVCE

Page 2

SRI VENKATESHWARA COLLEGE OF ENGINEERING

; 2.(A) ALP MACRO TO READ A CHARACTER FROM THE KEYBOARD ; IN MODULE1 AND DISPLAY IN MODULE2 ; DISPLAY THE SAME STRING IN NEXT LINE IN MODULE3 ;MODULE1 READKB MACRO MOV AH,01H INT 21H ENDM

;MODULE2 ECHOCHAR MACRO MOV DL,AL MOV AH,02H INT 21H ENDM

DEPT OF ISE/CSE,SVCE

Page 3

SRI VENKATESHWARA COLLEGE OF ENGINEERING

;MODULE3 .MODEL SMALL .DATA STR1 DB 255 DUP(?) NEWLINE DB 13,10,'$' .CODE INCLUDE C:\MASM\SAM\READ.ASM INCLUDE C:\MASM\SAM\WRITE.ASM MOV AX,@DATA MOV DS,AX MOV SI,0 L1:READKB CMP AL,0DH JZ L2 MOV STR1[SI],AL INC SI JMP L1 L2:LEA DX,NEWLINE MOV AH,09H INT 21H MOV CX,SI MOV SI,0 L3:MOV AL,STR1[SI] ECHOCHAR INC SI LOOP L3 MOV AH,4CH INT 21H END

DEPT OF ISE/CSE,SVCE

Page 4

SRI VENKATESHWARA COLLEGE OF ENGINEERING

; ;3.(A).SORT A GIVEN ARRAY IN ASCENDING ORDER .MODEL SMALL .STACK 20 .DATA W1 DB 21H,12H,35H,04H,01,68H,7,8 .CODE MOV AX, @DATA MOV DS, AX ST1: MOV CX,07H MOV AH,0 MOV BX,OFFSET W1 ST00: MOV AL,[BX] INC BX CMP AL,[BX] JC ST05 JE ST05 MOV DL,[BX] DEC BX MOV [BX],DL INC BX MOV [BX],AL MOV AH,01 ST05: LOOP ST00 CMP AH,0 JNE ST1 INT 3 END

DEPT OF ISE/CSE,SVCE

Page 5

SRI VENKATESHWARA COLLEGE OF ENGINEERING

;3.(A).SORT A GIVEN ARRAY IN DECENDING ORDER .MODEL SMALL .STACK 20 .DATA W1 DB 21H,12H,35H,04H,01,68H,7,8 .CODE MOV AX, @DATA MOV DS, AX ST1: MOV CX,07H MOV AH,0 MOV BX,OFFSET W1 ST00: MOV AL,[BX] INC BX CMP AL,[BX] JNC ST05 JE ST05 MOV DL,[BX] DEC BX MOV [BX],DL INC BX MOV [BX],AL MOV AH,01 ST05: LOOP ST00 CMP AH,0 JNE ST1 INT 3 END

DEPT OF ISE/CSE,SVCE

Page 6

SRI VENKATESHWARA COLLEGE OF ENGINEERING

;4(A).READ A ALPHANUMERIC CHARACTER AND DISPLAY ITS ;EQUIVALENT ASCII CODE AT THE CENTER OF THE SCREEN PRINTSTRING MACRO MSG MOV AH,09H MOV DX,OFFSET MSG INT 21H ENDM .MODEL SMALL .DATA CR EQU 0DH LF EQU 0AH MSG1 DB 'PRESS ANY KEY',CR,LF,'$' NEWLINE DB CR,LF,'$' REDISP DB 4 DUP(0) .CODE MOV AX,@DATA MOV DS,AX PRINTSTRING MSG1 PRINTSTRING NEWLINE MOV AH,01H INT 21H MOV AH,00H MOV SI,OFFSET REDISP CALL HEX2ASC MOV BH,07 MOV CX,0000 MOV DX,184FH MOV AX,0600H INT 10H MOV AH,02 MOV BH,00H MOV DH,0CH MOV DL,27H INT 10H PRINTSTRING REDISP MOV AH,4CH INT 21H HEX2ASC PROC NEAR
DEPT OF ISE/CSE,SVCE

Page 7

SRI VENKATESHWARA COLLEGE OF ENGINEERING

MOV CX,00H MOV BX,0AH RPT1: MOV DX,00H DIV BX ADD DL,'0' PUSH DX INC CX CMP AX,0AH JGE RPT1 ADD AL,'0' MOV [SI],AL RPT2: POP AX INC SI MOV [SI],AL LOOP RPT2 INC SI MOV AL,'$' MOV [SI],AL RET HEX2ASC ENDP END

DEPT OF ISE/CSE,SVCE

Page 8

SRI VENKATESHWARA COLLEGE OF ENGINEERING

;5.(A).CHECK WHETHER THE GIVEN STRING IS PALINDROME OR NOT .MODEL SMALL .DATA A1 DB 20 DUP(?) A2 DB 20 DUP(?) MSG1 DB 'ENTER THE STRING',0DH,0AH,'$' MSG2 DB 'NOT A PALINDROME',0DH,0AH,'$' MSG3 DB 'PALINDROME',0DH,0AH,'$' MSG4 DB 0DH,0AH,'$' .CODE MOV AX,@DATA MOV DS,AX MOV ES,AX MOV SI,OFFSET A1 MOV DI,OFFSET A2 MOV DX,OFFSET MSG1 MOV AH,09H INT 21H MOV CX,00 NEXT1: MOV AH,01H INT 21H CMP AL,0DH JZ NEXT2 INC CX MOV BX,CX MOV[SI],AL INC SI JMP NEXT1 NEXT2: DEC SI NEXT3: MOV AL,[SI] MOV [DI],AL INC DI DEC SI JNZ NEXT3 MOV SI,OFFSET A1 MOV DI,OFFSET A2 CLD REPE CMPSB JE PALIN MOV DX,OFFSET MSG4 MOV AH,09H INT 21H MOV DX,OFFSET MSG2
DEPT OF ISE/CSE,SVCE

Page 9

SRI VENKATESHWARA COLLEGE OF ENGINEERING

LOC2: MOV AH,09H INT 21H MOV AH,4CH INT 21H PALIN: MOV DX,OFFSET MSG4 MOV AH,09H INT 21H MOV DX,OFFSET MSG3 JMP LOC2 END

DEPT OF ISE/CSE,SVCE

Page 10

SRI VENKATESHWARA COLLEGE OF ENGINEERING

;6.(A)CHEK WHETHER TWO STRING ARE EQUAL .MODEL SMALL .DATA H1 DB 'INPUT STRING 1',0DH,0AH,'$' H2 DB 'INPUT STRING 2',0DH,0AH,'$' H3 DB 'THE LENGTH OF THE STRING1=' RES1 DB ' ',13,10,'$' H4 DB 0DH,0AH,'THE LENGTH OF STRING2=' RES2 DB ' ',13,10,'$' COUNT1 DB ? COUNT2 DB ? STR1 DB 80 DUP(?) STR2 DB 80 DUP(?) H5 DB 'STRING1 IS EQUAL TO STRING2,THE LENGTH=' RES12 DB ' ',13,10,'$' H6 DB 'STR1 IS NOT EQUAL TO STR2',0DH,0AH,'$' .CODE MOV AX,@DATA MOV DS,AX MOV ES,AX MOV DX,OFFSET H1 MOV AH,09H INT 21H MOV DI,OFFSET STR1 MOV BL,00 NEXT1:MOV AH,01 INT 21H MOV [DI],AL INC DI INC BL CMP AL,0DH JNZ NEXT1 MOV COUNT1,BL MOV DX,OFFSET H2 MOV AH,09 INT 21H MOV DI,OFFSET STR2 MOV BL,00 NEXT2:MOV AH,01 INT 21H MOV [DI],AL INC DI INC BL
DEPT OF ISE/CSE,SVCE

Page 11

SRI VENKATESHWARA COLLEGE OF ENGINEERING

CMP AL,0DH JNZ NEXT2 MOV COUNT2,BL CMP BL,COUNT1 JZ CMPEQU MESSH6:MOV DX,OFFSET H6 MOV AH,09 INT 21H MOV AL,COUNT1 DEC AL ADD AL,'0' MOV RES1,AL MOV DX,OFFSET H3 MOV AH,09 INT 21H MOV AL,COUNT2 DEC AL ADD AL,'0' MOV RES2,AL MOV DX,OFFSET H4 MOV AH,09 INT 21H JMP ENDPR CMPEQU:MOV DI,OFFSET STR1 MOV SI,OFFSET STR2 MOV CH,00 MOV CL,COUNT1 CLD REPZ CMPSB CMP CX,00 JNZ MESSH6 MOV AL,COUNT2 DEC AL ADD AL,'0' MOV RES12,AL MOV DX,OFFSET H5 MOV AH,09 INT 21H ENDPR:MOV AH,4CH INT 21H END

DEPT OF ISE/CSE,SVCE

Page 12

SRI VENKATESHWARA COLLEGE OF ENGINEERING

;7(A).ENTER YOUR NAME IN FRONT OF THE MESSAGE WHAT IS YOUR NAME PRINTSTRING MACRO MSG MOV AH,09H MOV DX,OFFSET MSG INT 21H ENDM .MODEL SMALL .DATA M1 DB 'ENTER YOUR NAME',0DH,0AH,'$' M2 DB 'WHAT IS YOUR NAME',0DH,0AH,'$' NAME1 DB 80 DUP(0) .CODE MOV AX,@DATA MOV DS,AX MOV ES,AX MOV CX,00 MOV SI,OFFSET NAME1 LEA DX,M1 MOV AH,09H INT 21H LOC:MOV AH,01H INT 21H CMP AL,0DH JZ NEXT1 MOV [SI],AL INC SI INC CX JMP LOC NEXT1:;INC SI MOV AL,'$' MOV [SI],AL MOV BH,07 MOV CX,0000 MOV DX,184FH MOV AX,0600H INT 10H MOV AH,02H MOV BH,00H MOV DH,12 MOV DL,26 INT 10H MOV BH,00H
DEPT OF ISE/CSE,SVCE

Page 13

SRI VENKATESHWARA COLLEGE OF ENGINEERING

MOV BL,01 MOV CX,18 MOV DH,00 MOV DL,00 MOV BP,OFFSET M2 MOV AH,13H INT 10H MOV AH,02 MOV BH,00H MOV DH,00 MOV DL,20D INT 10H PRINTSTRING NAME1 MOV AH,4CH INT 21H END

DEPT OF ISE/CSE,SVCE

Page 14

SRI VENKATESHWARA COLLEGE OF ENGINEERING

; ;8(A).COMPUTE THE FACTORIAL OF A GIVEN NUMBER USING RECURSIVE CALL .MODEL SMALL .DATA NUM DW 5 RESULT DW ? .CODE MOV AX,@DATA MOV DS,AX MOV AX,01 MOV CX,NUM CMP CX,00 JE LOOP1 MOV BX,CX CALL FACT LOOP1:MOV RESULT,AX MOV AH,4CH INT 21H FACT PROC NEAR CMP BX,01 JZ XX PUSH BX DEC BX CALL FACT POP BX MUL BX RET XX:MOV AX,01 RET FACT ENDP END

DEPT OF ISE/CSE,SVCE

Page 15

SRI VENKATESHWARA COLLEGE OF ENGINEERING

9A: COMPUTE NCR USING RECURSIVE PROCEDURE. .MODEL SMALL .STACK 64 .DATA N DB 4 R DB 2 NCR DB ? .CODE RECNCR:MOV AX,@DATA MOV DS,AX MOV AL,N MOV BL,R MOV NCR,0 CALL ENCEAR MOV AH,4CH INT 21H ENCEAR PROC CMP AL,BL JE OVER1 CMP BL,0 JE OVER1 CMP BL,1 JE OVER2 DEC AL CMP AL,BL JE OVER3 PUSH AX PUSH BX CALL ENCEAR POP BX POP AX DEC BL CALL ENCEAR RET OVER1:INC NCR RET OVER2:ADD NCR,AL RET OVER3:ADD NCR,AL INC NCR RET ENCEAR ENDP END RECNCR END
DEPT OF ISE/CSE,SVCE

Page 16

SRI VENKATESHWARA COLLEGE OF ENGINEERING

;10(A) CHECK WHETHER A SUBSTRING IS PRESENT OR NOT IN A MAIN STRING DISP MACRO MSG MOV AH,9 INT 21H ENDM ;HERE MAIN PRG STARTS .MODEL SMALL .STACK .DATA STR DB 'THIS IS SUB STRING PROGRAM' COUNT1 DW $-STR SUBST DB 'PROGRAM' COUNT2 DW $-SUBST MSG1 DB "SUB STRING IS PRESENT$" MSG2 DB "SUB STRING IS NOT PRESENT$" .CODE MOV AX,@DATA MOV DS,AX MOV ES,AX MOV CX,COUNT1 MOV BX,COUNT2 LEA SI,SUBST LEA DI,STR CLD NEXT:MOV AL,[SI] REPNZ SCASB INC SI MOV DX,CX DEC BX SUB CX,BX JB STOP MOV CX,BX REPZ CMPSB JNZ NOT_FOUND LEA DX,MSG1 MOV AH,9 INT 21H END_ALL:MOV AH,4CH INT 21H STOP:LEA DX,MSG2
DEPT OF ISE/CSE,SVCE

Page 17

SRI VENKATESHWARA COLLEGE OF ENGINEERING

MOV AH,9 INT 21H JMP END_ALL NOT_FOUND:MOV CX,DX LEA SI,SUBST MOV BX,COUNT2 JMP NEXT END

DEPT OF ISE/CSE,SVCE

Page 18

SRI VENKATESHWARA COLLEGE OF ENGINEERING

;11(A).FIBONACII SERIES .MODEL SMALL .STACK 20 .DATA Z DB 8 DUP(?) .CODE MOV AX,@DATA MOV DS,AX MOV SI,OFFSET Z MOV AL,00H MOV[SI],AL INC SI MOV AL,01H MOV[SI],AL INC SI MOV[SI],AL MOV CX,05H NEXT: MOV AL,[SI] DEC SI MOV DL,[SI] ADD AL,DL INC SI INC SI MOV [SI],AL LOOP NEXT MOV AH,4CH INT 21H END

DEPT OF ISE/CSE,SVCE

Page 19

SRI VENKATESHWARA COLLEGE OF ENGINEERING

;12(A).TO DISPLAY CURRENT TIME .MODEL SMALL .DATA MSG DB 10,13,"CURRENT TIME IS $" .CODE MOV AX,@DATA MOV DS,AX LEA DX,MSG MOV AH,09 INT 21H MOV AH,2CH INT 21H MOV AL,CH CALL DISP MOV DL,':' MOV AH,2 INT 21H MOV AL,CL CALL DISP MOV AH,4CH INT 21H DISP PROC NEAR AAM ADD AX,3030H MOV BX,AX MOV DL,BH MOV AH,2 INT 21H MOV DL,BL INT 21H RET DISP ENDP END

DEPT OF ISE/CSE,SVCE

Page 20

SRI VENKATESHWARA COLLEGE OF ENGINEERING

;13(A).DECIMAL UP COUNTER .MODEL SMALL .DATA D1 DB 100 DUP(0) .CODE MOV AX,@DATA MOV DS,AX MOV AL,00 MOV CX,100 MOV SI,OFFSET D1 NEXT:MOV [SI],AL ADD AL,01 DAA INC SI LOOP NEXT MOV AH,4CH INT 21H END ;13(A).DECIMAL DOWN COUNTER .MODEL SMALL .DATA D1 DB 100 DUP(0) .CODE MOV AX,@DATA MOV DS,AX MOV AL,99H MOV CX,100 MOV SI,OFFSET D1 NEXT:MOV [SI],AL SUB AL,01 DAS INC SI LOOP NEXT MOV AH,4CH INT 21H END

DEPT OF ISE/CSE,SVCE

Page 21

SRI VENKATESHWARA COLLEGE OF ENGINEERING

;14(A).READ A PAIR OF INPUT CO_ORDINATES IN BCD. DISP MACRO MSG LEA DX,MSG MOV AH,09 INT 21H ENDM .MODEL SMALL .DATA MSG1 DB 10,13,"ENTER THE ROW NUMBER(MIN:00,MAX:24):$" MSG2 DB 10,13,"ENTER THE COL NUMBER(MIN:00,MAX:79):$" MSG3 DB 10,13,"PRESS ANY KEY TO QUIT $" ROW DB ? COL DB ? .CODE MOV AX,@DATA MOV DS,AX DISP MSG1 CALL READ MOV ROW,AL DISP MSG2 CALL READ MOV COL,AL DISP MSG3 MOV AH,02 MOV DH,ROW MOV DL,COL INT 10H MOV BH,07 MOV CX,0000 MOV DX,184FH MOV AX,0600H INT 10H MOV AH,8 INT 21H MOV AH,4CH INT 21H

DEPT OF ISE/CSE,SVCE

Page 22

SRI VENKATESHWARA COLLEGE OF ENGINEERING

READ PROC MOV AH,01 INT 21H AND AL,0FH MOV BL,AL MOV AH,1 INT 21H AND AL,0FH MOV AH,BL AAD RET READ ENDP END

DEPT OF ISE/CSE,SVCE

Page 23

SRI VENKATESHWARA COLLEGE OF ENGINEERING

;15(A), CREATE NEW INPUT FILE AND DELETE AN EXISTING FILE PRINTSTRING MACRO MSG MOV AH,09H MOV DX,OFFSET MSG INT 21H ENDM .MODEL SMALL .DATA DOS EQU 21H CR EQU 0DH LF EQU 0AH M3 DB'ENTER THE NAME OF THE FILE TO BE CREATED','$' M1 DB'ENTER THE NAME OF THE FILE TO BE DELETED','$' M2 DB CR,LF,'FILE NOT FOUND','$' M4 DB 10,13,'$' FILENAME DB 80 DUP(0) FILENAME1 DB 80 DUP(0) .CODE MOV AX,@DATA MOV DS,AX PRINTSTRING M3 MOV SI,OFFSET FILENAME1 RDCHAR2: MOV AH,01H INT 21H CMP AL,CR JE SKIP2 MOV [SI],AL INC SI JMP RDCHAR2 SKIP2: MOV AH,3CH MOV CH,20 MOV CL,00 MOV DX,OFFSET FILENAME1
DEPT OF ISE/CSE,SVCE

Page 24

SRI VENKATESHWARA COLLEGE OF ENGINEERING

INT 21H PRINTSTRING M4 PRINTSTRING M1 MOV SI,OFFSET FILENAME RDCHAR1: MOV AH,01H INT 21H CMP AL,CR JE SKIP1 MOV [SI],AL INC SI JMP RDCHAR1 SKIP1: MOV AH,41H MOV DX,OFFSET FILENAME INT 21H JNC SUCC PRINTSTRING M2 SUCC: MOV AH,4CH MOV AL,00H INT 21H END

DEPT OF ISE/CSE,SVCE

Page 25

SRI VENKATESHWARA COLLEGE OF ENGINEERING

PART B

1B) Read the status of eight input bits from the Logic Controller Interface and display FF if it is even parity bits otherwise display 00.also display number of 1s in the input data
.MODEL SMALL .DATA EVENMSG DB "FF $" ODDMSG DB "00 $" BASE_ADDRESS EQU 0D480H PORTA EQU BASE_ADDRESS +00H PORTB EQU BASE_ADDRESS +01H PORTC EQU BASE_ADDRESS +02H CONTROL EQU BASE_ADDRESS +03H .CODE MOV AX,@DATA MOV DS,AX MOV AL,8AH MOV DX,CONTROL OUT DX,AL MOV DX,PORTB IN AL,DX OR AL,AL PUSH AX JPE EVENP ODD : LEA DX,ODDMSG MOV AH,09H INT 21H JMP COUNTONES EVENP : LEA DX,EVENMSG MOV AH,09H INT 21H COUNTONES :POP AX MOV CX,08 MOV DL,00 ROTATE : ROR AL,01 JNC ZERO INC DL ZERO : LOOP ROTATE ADD DL,30H MOV AH,02 INT 21H MOV AH,4CH INT 21H END
DEPT OF ISE/CSE,SVCE

Page 26

SRI VENKATESHWARA COLLEGE OF ENGINEERING

2B) Perform the following functions using the Logic Controller Interface. i.BCD up-down counter ii.Ring Counter DISP MACRO MSG LEA DX,MSG MOV AH,09H INT 21H ENDM .MODEL SMALL .DATA BASE_ADDRESS EQU 0D480H PORTA EQU BASE_ADDRESS +00H PORTB EQU BASE_ADDRESS +01H PORTC EQU BASE_ADDRESS +02H CONTROL EQU BASE_ADDRESS +03H M1 DB 10,13,"ENTER YOUR CHOICE",'$' M2 DB 10,13,"1:BCD UP_DOWN COUNTER",10,13,"2.RING COUNTER",'$' M3 DB 10,13,"INVALID CHOICE",'$' .CODE MOV AX,@DATA MOV DS,AX MOV DX,CONTROL MOV AL,8AH OUT DX,AL DISP M2 DISP M1 MOV AH,01 INT 21H CMP AL,'1' JE BCDUP_DOWN CMP AL,'2' JE RING DISP M3 JMP EXIT BCDUP_DOWN:MOV AL,0 UP: MOV DX,PORTA OUT DX,AL CALL DELAY ADD AL,01 CMP AL,9 JNE UP DOWN: MOV DX,PORTA OUT DX,AL

DEPT OF ISE/CSE,SVCE

Page 27

SRI VENKATESHWARA COLLEGE OF ENGINEERING

CALL DELAY SUB AL,01 CMP AL,0 JNE DOWN OUT DX,AL JMP EXIT RING: MOV AL,01 NEXT: MOV DX,PORTA OUT DX,AL CALL DELAY ROL AL,01 PUSH AX MOV AH,0BH INT 21H OR AL,AL POP AX JZ NEXT JMP EXIT DELAY PROC MOV BX,03FFFH L2:MOV CX,0FFFFH L1:LOOP L1 DEC BX JNZ L2 RET DELAY ENDP EXIT: MOV AH,4CH INT 21H

DEPT OF ISE/CSE,SVCE

Page 28

SRI VENKATESHWARA COLLEGE OF ENGINEERING

3B) Read the status of two 8 bits inputs(X&Y) from the Logic Controller Interface and display X*Y. DISP MACRO MSG LEA DX,MSG MOV AH,09 INT 21H ENDM .MODEL SMALL .DATA BASE_ADDRESS EQU 0D480H PORTA EQU BASE_ADDRESS +00H PORTB EQU BASE_ADDRESS +01H PORTC EQU BASE_ADDRESS +02H CONTROL EQU BASE_ADDRESS +03H M1 DB "SET X VALUE ON PORTB AND PRESS KEY",13,10,'$' M2 DB "SET Y VALUE ON PORTB AND PRESS KEY",13,10,'$' M3 DB "PRESS KEY TO SEE RESULT ON PORTA & PORTC LOWER",13,10,'$' .CODE MOV AX,@DATA MOV DS,AX MOV AL,8AH MOV DX,CONTROL OUT DX,AL DISP M1 MOV AH,01 INT 21H MOV DX,PORTB IN AL,DX MOV CL,AL DISP M2 MOV AH,01 INT 21H MOV DX,PORTB IN AL,DX MOV CH,AL DISP M3 MOV AH,01 INT 21H MOV AL,CH MUL CL MOV DX,PORTA OUT DX,AL
DEPT OF ISE/CSE,SVCE

Page 29

SRI VENKATESHWARA COLLEGE OF ENGINEERING

MOV AL,AH MOV DX,PORTC OUT DX,AL MOV AH,4CH INT 21H END

DEPT OF ISE/CSE,SVCE

Page 30

SRI VENKATESHWARA COLLEGE OF ENGINEERING

4B) Display messages FIRE and HELP alternately with flickering effects on a 7-segment display interface for a suitable period of time. Ensure a flashing rate that makes it easy to read both messages (Examiner does not specify these delay values nor it is necessary for student to compute these values) .MODEL SMALL .DATA PA EQU 0D480H PB EQU 0D481H PC EQU 0D482H CTRL EQU 0D483H FIRE DB 79H,77H,06H,71H HELP DB 73H,38H,79H,76H .CODE MOV AX,@DATA MOV DS,AX MOV AL,80H MOV DX,CTRL OUT DX,AL MOV CX,03 FFFF : PUSH CX MOV CX,0FH YYYY : PUSH CX MOV CX,0FFH HHH : PUSH CX LEA SI,HELP MOV CX,04 MOV AL,00H XYZ : MOV DX,PC OUT DX,AL PUSH AX MOV AL,[SI] MOV DX,PA OUT DX,AL POP AX INC AL INC SI PUSH CX CALL DELAY POP CX LOOP XYZ POP CX LOOP HHH
DEPT OF ISE/CSE,SVCE

Page 31

SRI VENKATESHWARA COLLEGE OF ENGINEERING

POP CX LOOP YYYY CALL DELAY MOV CX,0FH YYYY2 : PUSH CX MOV CX,0FFH HHH2 : PUSH CX LEA SI,FIRE MOV CX,04 MOV AL,00H XYZ2 : MOV DX,PC OUT DX,AL PUSH AX MOV AL,[SI] MOV DX,PA OUT DX,AL POP AX INC AL INC SI PUSH CX CALL DELAY POP CX LOOP XYZ2 POP CX LOOP HHH2 POP CX LOOP YYYY2 CALL DELAY POP CX LOOP FFFF MOV AH,4CH INT 21H DELAY PROC PUSH CX MOV CX,0FFH OUTER : PUSH CX MOV CX,0FFH

DEPT OF ISE/CSE,SVCE

Page 32

SRI VENKATESHWARA COLLEGE OF ENGINEERING

INNER : NOP NOP NOP LOOP INNER POP CX LOOP OUTER POP CX RET DELAY ENDP END

DEPT OF ISE/CSE,SVCE

Page 33

SRI VENKATESHWARA COLLEGE OF ENGINEERING

5B) Assume any suitable messages of 12 characters length and Display in the rolling fashion on a 7-segment display interface for a suitable period of time. Ensure a flashing rate that makes it easy to read both messages (Examiner does not specify these delay values nor it is necessary for student to compute these values) .MODEL SMALL .STACK 64 .DATA B_A EQU 0D480H PA EQU B_A +00H PB EQU B_A +01H PC EQU B_A +02H CTRL EQU B_A +03H STRING DB 00,00,00,00 DB 7FH,06H,38H,38H,00,00 DB 3DH,77H,78H,79H,67H,67H,00,00 .CODE MOV AX,@DATA MOV DS,AX MOV AL,80H MOV DX,CTRL OUT DX,AL MOV BX,02 REINITIALISE:MOV DI,00 YYYY:MOV CX,0CH REFRESH:PUSH CX MOV SI,DI MOV CX,06H MOV AL,05H NEXT_DIGIT:MOV DX,PC OUT DX,AL PUSH AX MOV DX,PA MOV AL,STRING[SI] OUT DX,AL POP AX DEC AX INC SI CMP SI,14 JC CONTINUE MOV SI,00 CONTINUE:CALL DELAY LOOP NEXT_DIGIT POP CX LOOP REFRESH
DEPT OF ISE/CSE,SVCE

Page 34

SRI VENKATESHWARA COLLEGE OF ENGINEERING

INC DI CMP DI,14 JNZ YYYY DEC BX JNZ REINITIALISE EXIT: MOV AH, 4CH INT 21H DELAY PROC PUSH CX MOV CX,09FH OUTER:PUSH CX MOV CX,0FFFFH INNER:NOP NOP NOP LOOP INNER POP CX LOOP OUTER POP CX RET DELAY ENDP END

DEPT OF ISE/CSE,SVCE

Page 35

SRI VENKATESHWARA COLLEGE OF ENGINEERING

7B) Drive a stepper motor interface to rotate the motor in clockwise direction by N steps (N is specified by the Examiner) .MODEL SMALL .DATA BASE_ADDRESS EQU 0D480H PORTA EQU BASE_ADDRESS+00H PORTB EQU BASE_ADDRESS+01H PORTC EQU BASE_ADDRESS+02H CONTROL EQU BASE_ADDRESS+03H .CODE MOV AX,@DATA MOV DS,AX MOV DX,CONTROL MOV AL,80H OUT DX,AL MOV AL,33H MOV CX,15 L1:MOV DX,PORTC OUT DX,AL CALL DELAY ROR AL,01 LOOP L1 MOV AH,4CH INT 21H DELAY PROC MOV BX,8FFFH L3:MOV DX,0FFFFH L4:DEC DX JNZ L4 DEC BX JNZ L3 RET DELAY ENDP END

DEPT OF ISE/CSE,SVCE

Page 36

SRI VENKATESHWARA COLLEGE OF ENGINEERING

8B) Drive a stepper motor interface to rotate the motor in anticlockwise direction by N steps (N is specified by the Examiner) .MODEL SMALL .DATA BASE_ADDRESS EQU 0D480H PORTA EQU BASE_ADDRESS+00H PORTB EQU BASE_ADDRESS+01H PORTC EQU BASE_ADDRESS+02H CONTROL EQU BASE_ADDRESS+03H .CODE MOV AX,@DATA MOV DS,AX MOV DX,CONTROL MOV AL,80H OUT DX,AL MOV AL,88H MOV CX,15 L1:MOV DX,PORTC OUT DX,AL CALL DELAY ROL AL,01 LOOP L1 MOV AH,4CH INT 21H DELAY PROC MOV BX,8FFFH L3:MOV DX,0FFFFH L4:DEC DX JNZ L4 DEC BX JNZ L3 RET DELAY ENDP END

DEPT OF ISE/CSE,SVCE

Page 37

SRI VENKATESHWARA COLLEGE OF ENGINEERING

9B) Drive a stepper motor interface to rotate the motor by N steps left direction and N steps right direction (N is specified by the Examiner). .MODEL SMALL .DATA BASE_ADDRESS EQU 0D480H PORTA EQU BASE_ADDRESS+00H PORTB EQU BASE_ADDRESS+01H PORTC EQU BASE_ADDRESS+02H CONTROL EQU BASE_ADDRESS+03H .CODE MOV AX,@DATA MOV DS,AX MOV DX,CONTROL MOV AL,80H OUT DX,AL MOV AL,88H MOV CX,15 L1:MOV DX,PORTC OUT DX,AL CALL DELAY ROR AL,01 LOOP L1 MOV CX,15 MOV AL,88H L5:MOV DX,PORTC OUT DX,AL CALL DELAY ROL AL,01 LOOP L5 MOV AH,4CH INT 21H DELAY PROC MOV BX,8FFFH L3:MOV DX,0FFFFH L4:DEC DX JNZ L4 DEC BX JNZ L3 RET DELAY ENDP END

DEPT OF ISE/CSE,SVCE

Page 38

SRI VENKATESHWARA COLLEGE OF ENGINEERING

10B) Scan a 8*3 keypad for key closure and find key pressed row and column numbers. .MODEL SMALL .DATA PROMPT DB 'PRESS ANY KEY ON COMPUTER KBD TO RETURN TO DOS',13,10,'$' MSG1 DB 'THE ROW AND COLUMN INFO OF THE KEY PRESSED ARE AS FOLLOWS:' ASKIRES1 DB ?,' ',?,13,10,'$' BASE_ADDRESS EQU 0D480H PA EQU BASE_ADDRESS +00H PB EQU BASE_ADDRESS +01H PC EQU BASE_ADDRESS +02H CTRL EQU BASE_ADDRESS +03H .CODE MOV AX,@DATA MOV DS,AX MOV AL,90H MOV DX,CTRL OUT DX,AL MOV AH,09 LEA DX,PROMPT INT 21H AGAIN : MOV AH,06 MOV DL,0FFH INT 21H CALL SCAN CMP SI,0 JE AGAIN ADD BH,30H MOV ASKIRES1,BH ADD AH,30H MOV ASKIRES1+2,AH MOV AH,09 LEA DX,MSG1 INT 21H MOV AH,4CH INT 21H SCAN PROC MOV SI,0 MOV CX,03
DEPT OF ISE/CSE,SVCE

Page 39

SRI VENKATESHWARA COLLEGE OF ENGINEERING

MOV BH,0 MOV AL,80H NXTROW : ROL AL,1 MOV BL,AL MOV DX,PC OUT DX,AL MOV DX,PA IN AL,DX CMP AL,0 JNZ KEYID MOV AL,BL INC BH LOOP NXTROW RET KEYID: MOV SI,1 MOV CX,8 MOV AH,0 AGN2: ROR AL,1 JC SKIP INC AH LOOP AGN2 SKIP: RET SCAN ENDP END

DEPT OF ISE/CSE,SVCE

Page 40

SRI VENKATESHWARA COLLEGE OF ENGINEERING

11B) 10B) Scan a 8*3 keypad for key closure and simulate ADD and SUBTRACT operations as in calculator. .MODEL SMALL .DATA ROW DB 01H COL DB 01 MSG1 DB 10,13,"ENTER THE FIRST NUMBER : $" MSG3 DB 10,13,"ENTER THE SECOND NUMBER : $" MSG2 DB 10,13,"ENTER THE OPERATOR : $" ARR DB '0','1','2','3','4','5','6','7','8','9','+','- OPT DB ? RES DB ? MSG4 DB 10,13,"THE RESULT IS : $" OP1 DB ? OP2 DB ? B_A EQU 0D480H PA EQU B_A+00H PB EQU B_A+01H PC EQU B_A+02H CTRL EQU B_A+03H .CODE MOV AX,@DATA MOV DS,AX MOV ES,AX MOV OP1,0 MOV OP2,0 MOV OPT,0 MOV AL,90H MOV DX,CTRL OUT DX,AL LEA DX,MSG1 MOV AH,09H INT 21H CALL READ MOV CH,00 MOV SI,CX MOV DL,ARR[SI] MOV AH,02H INT 21H MOV OP1,CL MOV CX,00H MOV AH,01H INT 21H LEA DX,MSG2
DEPT OF ISE/CSE,SVCE

Page 41

SRI VENKATESHWARA COLLEGE OF ENGINEERING

MOV AH,09H INT 21H CALL READ MOV CH,00 MOV SI,CX MOV DL,ARR[SI] MOV OPT,DL MOV AH,02H INT 21H MOV AH,01 INT 21H MOV CX,00H LEA DX,MSG3 MOV AH,09H INT 21H CALL READ MOV CH,00 MOV SI,CX MOV DL,ARR[SI] MOV OP2,CL MOV AH,02H INT 21H MOV AH,OP1 MOV AL,OP2 CMP OPT,'+' JNE SUBT ADD AH,AL MOV RES,AH JMP NEXT SUBT: SUB AH,AL MOV RES,AH NEXT: MOV CL,AH LEA DX,MSG4 MOV AH,09H INT 21H CALL DISP MOV AH,4CH INT 21H READ PROC PUSH AX PUSH BX PUSH DX LP1: MOV BH,03H MOV ROW,01
DEPT OF ISE/CSE,SVCE

Page 42

SRI VENKATESHWARA COLLEGE OF ENGINEERING

MOV CL,00H MOV AL,01H MOV BL,AL LOOP1: MOV DX,PC OUT DX,AL MOV DX,PA IN AL,DX CMP AL,00H JNZ FOUND ADD CL,08H MOV AL,BL ROL AL,01 MOV BL,AL INC ROW DEC BH JNZ LOOP1 JMP LP1 FOUND: ROR AL,01 JC RETURN INC CL INC COL JMP FOUND RETURN: POP DX POP BX POP AX RET READ ENDP DISP PROC MOV DL,RES MOV AH,02H AND DL,0F0H ROR DL,01 ROR DL,01 ROR DL,01 ROR DL,01 CMP DL,09 JBE NEXT2 ADD DL,7 NEXT2: ADD DL,30H INT 21H MOV DL,RES AND DL,0FH

DEPT OF ISE/CSE,SVCE

Page 43

SRI VENKATESHWARA COLLEGE OF ENGINEERING

MOV AH,02H CMP DL,9 JBE NEXT1 ADD DL,7H NEXT1: ADD DL,30H INT 21H RET DISP ENDP END

DEPT OF ISE/CSE,SVCE

Page 44

SRI VENKATESHWARA COLLEGE OF ENGINEERING

12B) Generate the sine wave using DAC interface (The output of the DAC is to be displayed on the CRO) .MODEL SMALL .STACK 64 .DATA B_A EQU 0D480H PA EQU B_A+00H PB EQU B_A+01H PC EQU B_A+02H CR EQU B_A+03H ARRAY DB 80H,8BH,96H,0A1H,0ABH,0B6H,0C0H,0C9H,0D2H,0DAH,0E2H, DB 0E8H,0EEH,0F4H,0F8H,0FBH,0FEH,0FFH DB 0FEH,0FBH,0F8H,0F4H,0EEH,0E8H,0E2H,0DAH,0D2H,0C9H DB 0C0H,0B6H,0ABH,0A1H,96H,8BH,80H DB 80H,75H,6AH,5FH,55H,4AH,40H,37H,2EH,26H,18H,12H,0CH DB 08H,0DB 5HDB 02H,01H,00H DB 01H,02H,05H,08H,0CH,12H,18H,26H,2EH,37H,40H DB 4AH,55H,5FH,6AHDB 75H,80H COUNT DW 72 .CODE MOV AX,@DATA MOV DS,AX MOV DX,CR MOV AL,80H OUT DX,AL BACK: MOV CX,COUNT LEA SI,ARRAY LOOP1: MOV DX,PA MOV AL,[SI] OUT DX,AL CALL DELAY INC SI DEC CX JZ BACK MOV AH,0BH INT 21H
DEPT OF ISE/CSE,SVCE

Page 45

SRI VENKATESHWARA COLLEGE OF ENGINEERING

OR AL,AL JZ LOOP1 STOP: MOV AH,4CH INT 21H DELAY PROC MOV DI, 0FFFFH LP2: MOV BX,0FFFFH LP1: NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP DEC BX JNZ LP1 DEC DI JNZ LP2 RET DELAY ENDP END

DEPT OF ISE/CSE,SVCE

Page 46

SRI VENKATESHWARA COLLEGE OF ENGINEERING

13B) Generate a half rectified sine wave using DAC interface (The output of the DAC is to be displayed on the CRO) .MODEL SMALL .DATA B_A EQU 0D480H PA EQU B_A+00H PB EQU B_A+01H PC EQU B_A+02H CR EQU B_A+03H ARRAY DB 80H,8BH,96H,0A1H,0ABH,0B6H,0C0H,0C9H,0D2H DB 0DAH,0E2H,0E8H,0EEH,0F4H,0F8H,0FBH,0FEH DB 0FFH,0FEH,0FBH,0F8H,0F4H,0EEH,0E8H,0E2H,0DAH DB 0D2H,0C9H,0C0H,0B6H,0ABH,0A1H,96H,8BH,80H DB 80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H, DB 80H,80H,80H,80H,80H,80H,80H80H,80H,80H,80H,80H DB 80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H COUNT DW 72 .CODE MOV AX,@DATA MOV DS,AX MOV DX,CR MOV AL,80H OUT DX,AL BACK: MOV CX,COUNT LEA SI,ARRAY LOOP1: MOV DX,PA MOV AL,[SI] OUT DX,AL CALL DELAY INC SI DEC CX JZ BACK MOV AH,0BH INT 21H OR AL,AL

DEPT OF ISE/CSE,SVCE

Page 47

SRI VENKATESHWARA COLLEGE OF ENGINEERING

JZ LOOP1 STOP: MOV AH,4CH INT 21H DELAY PROC MOV DI, 0FFFFH LP2: MOV BX,0FFFFH LP1: NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP DEC BX JNZ LP1 DEC DI JNZ LP2 RET DELAY ENDP END

DEPT OF ISE/CSE,SVCE

Page 48

SRI VENKATESHWARA COLLEGE OF ENGINEERING

14B) Generate a full rectified sine wave using DAC interface (The output of the DAC is to be displayed on the CRO) .MODEL SMALL .DATA B_A EQU 0D480H PA EQU B_A+00H PB EQU B_A+01H PC EQU B_A+02H CR EQU B_A+03H ARRAY DB 80H,8BH,96H,0A1H,0ABH,0B6H,0C0H,0C9H,0D2H,0DAH DB 0E2H,0E8H,0EEH,0F4H,0F8H,0FBH,0FEH DB 0FFH,0FEH,0FBH,0F8H,0F4H,0EEH,0E8H,0E2H,0DAH DB 0D2H,0C9H,0C0H,0B6H,0ABH,0A1H,96H,8BH,80H

COUNT DW 36 .CODE MOV AX,@DATA MOV DS,AX MOV DX,CR MOV AL,80H OUT DX,AL BACK: MOV CX,COUNT LEA SI,ARRAY LOOP1: MOV DX,PA MOV AL,[SI] OUT DX,AL CALL DELAY INC SI DEC CX JZ BACK MOV AH,0BH INT 21H OR AL,AL JZ LOOP1
DEPT OF ISE/CSE,SVCE

Page 49

SRI VENKATESHWARA COLLEGE OF ENGINEERING

STOP: MOV AH,4CH INT 21H DELAY PROC MOV DI, 0FFFFH LP2: MOV BX,0FFFFH LP1: NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP DEC BX JNZ LP1 DEC DI JNZ LP2 RET DELAY ENDP END

DEPT OF ISE/CSE,SVCE

Page 50

SRI VENKATESHWARA COLLEGE OF ENGINEERING

15B) Drive an elevator interface in the following way i. Initially elevator should be in the ground floor with all requests off state. ii. When a request is made from a floor the elevator should move to that floor and wait couples of seconds and then come down to ground floor. If some request occurs during going up or coming down they should be ignored. .MODEL SMALL .DATA B_A EQU 0D480H PA EQU B_A+00H PB EQU B_A+01H PC EQU B_A+02H CR EQU B_A+03H .CODE MOV AX,@DATA MOV DS,AX MOV DX,CR MOV AL,82H OUT DX,AL MOV DX,PA MOV AL,0F0H OUT DX,AL XOR CX,CX LOOP1: MOV DX,PB IN AL,DX AND AL,0FH CMP AL,0FH JZ LOOP1 NEXT: SHr AL,01 JNC GFLR SHr AL,01 JNC FFLR SHR AL,01 JNC SFLR SHR AL,01 JNC TFLR GFLR: MOV CL,01H JMP MOVE FFLR: MOV CL,4 JMP MOVE SFLR: MOV CL,7
DEPT OF ISE/CSE,SVCE

Page 51

SRI VENKATESHWARA COLLEGE OF ENGINEERING

JMP MOVE TFLR: MOV CL,10 JMP MOVE MOVE: MOV AL,00 MOV BL,CL LP1: MOV DX,PA OUT DX,AL CALL DELAY INC AL DEC CL JNZ LP1 MOV CL,BL DEC AL LP2: MOV DX,PA OUT DX,AL CALL DELAY DEC AL DEC CL JNZ LP2 MOV AH,4CH INT 21H DELAY PROC MOV DI,0FFFFH LP3: MOV SI,03FFFH LP4: DEC SI JNZ LP4 DEC DI JNZ LP3 RET DELAY ENDP END

DEPT OF ISE/CSE,SVCE

Page 52

You might also like