Documente Academic
Documente Profesional
Documente Cultură
LAB MANUAL
Name
Student No.
Course
Section
1|Page
Prepared By DcVargas
Computer Studies Department
2|Page
Prepared By DcVargas
Computer Studies Department
18 SORTING OF ‘N’NUMBERS
24 GENERATION OF PRIME
NUMBERS(HEXADECIMAL)
26 GENERATION OF PERFECT
DIVIDING
NUMBERS(HEXADECIMAL)
27 GENERATION OF PERFECT
DIVIDING
NUMBERS(HEXADECIMAL)
28 GENERATION OF FIBONACCI
SERIES (HEXADECIMAL)
29 GENERATION OF FIBONACCI
SERIES (BCD)
33 CONVERSION OF ARRAY OF
BINARY CODE TO GRAY CODE
(HEXADECIMAL)
34 CONVERSION OF ARRAY OF
GRAYCODE TO BINARY CODE
(HEXADECIMAL)
3|Page
Prepared By DcVargas
Computer Studies Department
37 REVERSE OF A BYTE
38 REVERSAL OF WORD
39REVERSAL OF AN ARRAY
40 TO DISPLAY CURRENT TIME.
4|Page
Prepared By DcVargas
Computer Studies Department
DATA SEGMENT
MESS1 DB 0AH,0DH,'ENTER FIRST NUMBER:','$'
MESS2 DB 0AH,0DH,'ENTER SECOND NUMBER:','$'
MESS3 DB 0AH,0DH,'SUM OF TWO 8-BIT NUMBER IS:','$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA DISP PROC NEAR
START: PUBLIC DISP
MOV AX,DATA LEA DX,MESS3
MOV DS,AX MOV AH,09H
LEA DX,MESS1 INT 21H
MOV AH,09H MOV DL,CL
INT 21H ADD DL,30H
CALL READ MOV AH,06H
MOV BL,DL INT 21H
LEA DX,MESS2 MOV CL,04H
MOV AH,09H MOV DL,BL
INT 21H SHR DL,CL
CALL READ CMP DL,0AH
MOV CL,00H JC L1
ADD BL,DL ADD DL,07H
JNC NEXT L1:ADD DL,30H
INC CL MOV AH,06H
NEXT:CALL DISP INT 21H
MOV AH,4CH AND BL,0FH
INT 21H CMP BL,0AH
JC L2
READ PROC NEAR ADD BL,07H
PUBLIC READ L2:ADD BL,30H
MOV AH,01H MOV DL,BL
INT 21H MOV AH,06H
MOV DL,AL INT 21H
MOV CL,04H RET
SUB DL,30H DISP ENDP
CMP DL,0AH CODE ENDS
JC R1 END START
SUB DL,07H
R1:SHL DL,CL OUTPUT:
MOV AH,01H ENTER FIRST NUMBER : E9
INT 21H ENTER SECOND NUMBER : FA
SUB AL,30H SUM OF TWO 8-BIT NUMBER IS :
CMP AL,0AH 1E3
JC R2
SUB AL,07H
R2:AND AL,0FH ENTER FIRST NUMBER : AB
OR DL,AL ENTER SECOND NUMBER : CD
RET SUM OF TWO 8-BIT NUMBER IS :
READ ENDP 178
5|Page
Prepared By DcVargas
Computer Studies Department
DATA SEGMENT
MESS1 DB 0AH,0DH,'ENTER FIRST NUMBER:','$'
MESS2 DB 0AH,0DH,'ENTER SECOND NUMBER:','$'
MESS3 DB 0AH,0DH,'SUM OF TWO 8-BIT NUMBER IS:','$'
DATA ENDS
6|Page
Prepared By DcVargas
Computer Studies Department
DATA SEGMENT
MESS1 DB 0AH,0DH,'ENTER FIRST NUMBER:','$'
MESS2 DB 0AH,0DH,'ENTER SECOND NUMBER:','$'
MESS3 DB 0AH,0DH,'SUM OF TWO 16-BIT NUMBER IS:','$'
DATA ENDS
7|Page
Prepared By DcVargas
Computer Studies Department
DATA SEGMENT
MESS1 DB 0AH,0DH,'ENTER FIRST NUMBER:','$'
MESS2 DB 0AH,0DH,'ENTER SECOND NUMBER:','$'
MESS3 DB 0AH,0DH,'SUM OF TWO 16-BIT NUMBER IS:','$'
DATA ENDS
CODE SEGMENT JZ R4
ASSUME CS:CODE,DS:DATA MOV DH,DL
START: JMP R3
MOV AX,DATA R4:RET
MOV DS,AX READ ENDP
LEA DX,MESS1 DISP PROC NEAR
MOV AH,09H PUBLIC DISP
INT 21H
CALL READ LEA DX,MESS3
MOV BX,DX MOV AH,09H
LEA DX,MESS2 INT 21H
MOV AH,09H MOV DL,CL
INT 21H ADD DL,30H
CALL READ MOV AH,06H
MOV CL,00H INT 21H
MOV AL,BL MOV CH,02H
ADD AL,DL L3:MOV CL,04H
DAA MOV DL,BH
MOV BL,AL SHR DL,CL
MOV AL,BH CMP DL,0AH
ADC AL,DH JC L1
DAA ADD DL,07H
JNC NEXT L1:ADD DL,30H
INC CL MOV AH,06H
NEXT:MOV BH,AL INT 21H
CALL DISP AND BH,0FH
MOV AH,4CH CMP BH,0AH
INT 21H JC L2
READ PROC NEAR ADD BH,07H
PUBLIC READ L2:ADD BH,30H
MOV CH,02H MOV DL,BH
R3:MOV AH,01H MOV AH,06H
INT 21H INT 21H
MOV CL,04H DEC CH
MOV DL,AL JZ L4
SUB DL,30H MOV BH,BL
CMP DL,0AH JMP L3
JC R1 L4:RET
SUB DL,07H DISP ENDP
R1:SHL DL,CL CODE ENDS
MOV AH,01H END START
INT 21H OUTPUT:
SUB AL,30H ENTER FIRST NUMBER : 6987
CMP AL,0AH ENTER SECOND NUMBER : 3991
JC R2 SUM OF TWO 16-BIT NUMBER IS : 10978
SUB AL,07H
AND AL,0FH ENTER FIRST NUMBER : 9999
R2:OR DL,AL ENTER SECOND NUMBER : 8888
DEC CH SUM OF TWO 16-BIT NUMBER IS : 18887
8|Page
Prepared By DcVargas
Computer Studies Department
DATA SEGMENT
MESS1 DB 0AH,0DH,'ENTER FIRST NUMBER:','$'
MESS2 DB 0AH,0DH,'ENTER SECOND NUMBER:','$'
MESS3 DB 0AH,0DH,'SUBTRACTION OF TWO 8-BIT NUMBER IS:','$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
LEA DX,MESS1
MOV AH,09H
INT 21H
CALL READ
MOV BL,DL
LEA DX,MESS2
MOV AH,09H
INT 21H
CALL READ
MOV CL,00H
SUB BL,DL
JNC NEXT
NEG BL
MOV CL,'-'
NEXT:CALL DISP
MOV AH,4CH
INT 21H
9|Page
Prepared By DcVargas
Computer Studies Department
RET
READ ENDP
LEA DX,MESS3
MOV AH,09H
INT 21H
MOV DL,CL
ADD DL,30H
MOV AH,06H
INT 21H
MOV CL,04H
MOV DL,BL
SHR DL,CL
CMP DL,0AH
JC L1
ADD DL,07H
L1:ADD DL,30H
MOV AH,06H
INT 21H
AND BL,0FH
CMP BL,0AH
JC L2
ADD BL,07H
L2:ADD BL,30H
MOV DL,BL
MOV AH,06H
INT 21H
RET
DISP ENDP
CODE ENDS
END START
OUTPUT:
10 | P a g e
Prepared By DcVargas
Computer Studies Department
DATA SEGMENT
MESS1 DB 0AH,0DH,'ENTER FIRST NO:','$'
MESS2 DB 0AH,0DH,'ENTER SECOND NO:','$'
MESS3 DB 0AH,0DH,'SUBTRACTION OF TWO 8-BIT NO IS:','$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
LEA DX,MESS1
MOV AH,09H
INT 21H
CALL READ
MOV BL,DL
LEA DX,MESS2
MOV AH,09H
INT 21H
CALL READ
MOV CL,00H
MOV AL,BL
SUB AL,DL
DAS
JNC NEXT
MOV CH,99H
SUB CH,AL
MOV AL,CH
ADD AL,01H
DAA
MOV CL,'-'
NEXT:
MOV BL,AL
CALL DISP
MOV AH,4CH
INT 21H
READ PROC NEAR
PUBLIC READ
MOV AH,01H
INT 21H
MOV DL,AL
MOV CL,04H
SUB DL,30H
CMP DL,0AH
JC R1
SUB DL,07H
R1:SHL DL,CL
MOV AH,01H
INT 21H
SUB AL,30H
11 | P a g e
Prepared By DcVargas
Computer Studies Department
CMP AL,0AH
JC R2
SUB AL,07H
R2:AND AL,0FH
OR DL,AL
RET
READ ENDP
DISP PROC NEAR
PUBLIC DISP
LEA DX,MESS3
MOV AH,09H
INT 21H
MOV DL,CL
ADD DL,30H
MOV AH,06H
INT 21H
MOV CL,04H
MOV DL,BL
SHR DL,CL
CMP DL,0AH
JC L1
ADD DL,07H
L1:ADD DL,30H
MOV AH,06H
INT 21H
AND BL,0FH
CMP BL,0AH
JC L2
ADD BL,07H
L2:ADD BL,30H
MOV DL,BL
MOV AH,06H
INT 21H
RET
DISP ENDP
CODE ENDS
END START
OUTPUT:
ENTER FIRST NUMBER : 98
ENTER SECOND NUMBER : 54
SUBTRACTION OF TWO 8-BIT NUMBER IS : 044
12 | P a g e
Prepared By DcVargas
Computer Studies Department
DATA SEGMENT
MESS1 DB 0AH,0DH,'ENTER FIRST NUMBER :''$'
MESS2 DB 0AH,0DH,'ENTER SECOND NUMBER :''$'
MESS3 DB 0AH,0DH,'SUBTRACTION IS :''$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
LEA DX,MESS1
MOV AH,09H
INT 21H
CALL READ
MOV BX,DX
LEA DX,MESS2
MOV AH,09H
INT 21H
CALL READ
MOV CL,' '
SUB BX,DX
MOV CL,00H
JNC NEXT
INC CL
MOV CL,'-'
NEG BX
NEXT: CALL DISP
MOV AH,4CH
INT 21H
13 | P a g e
Prepared By DcVargas
Computer Studies Department
OR DL,AL
DEC CH
JZ R4
MOV DH,DL
JMP R3
R4:RET
READ ENDP
DISP ENDP
CODE ENDS
END START
OUTPUT:
ENTER FIRST NUMBER : DE32
ENTER SECOND NUMBER : 97CA
SUBTRACTION OF TWO 8-BIT NUMBER IS : 04668
14 | P a g e
Prepared By DcVargas
Computer Studies Department
DATA SEGMENT
MESS1 DB 0AH,0DH,'ENTER FIRST NO:','$'
MESS2 DB 0AH,0DH,'ENTER SECOND NO:','$'
MESS3 DB 0AH,0DH,'SUBTRACTION OF TWO 16-BIT NO IS:','$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
15 | P a g e
Prepared By DcVargas
Computer Studies Department
16 | P a g e
Prepared By DcVargas
Computer Studies Department
DATA SEGMENT
MESS1 DB 0AH,0DH,'ENTER THE FIRST NUMBER:','$'
MESS2 DB 0AH,0DH,'ENTER THE SECOND NUMBER:','$'
MESS3 DB 0AH,0DH,'PRODUCT IS:','$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
LEA DX,MESS1
MOV AH,09H
INT 21H
CALL READ
MOV BX,DX
LEA DX,MESS2
MOV AH,09H
INT 21H
CALL READ
MOV AX,BX
MUL DL
MOV BX,AX
CALL DISP
MOV AH,4CH
INT 21H
17 | P a g e
Prepared By DcVargas
Computer Studies Department
RET
READ ENDP
DISP PROC NEAR
PUBLIC DISP
LEA DX,MESS3
MOV AH,09H
INT 21H
MOV CH,02H
L3:MOV CL,04H
MOV DL,BH
SHR DL,CL
CMP DL,0AH
JC L1
ADD DL,07H
L1:ADD DL,30H
MOV AH,06H
INT 21H
AND BH,0FH
CMP BH,0AH
JC L2
ADD BH,07H
L2:ADD BH,30H
MOV DL,BH
MOV AH,06H
INT 21H
DEC CH
JZ L4
MOV BH,BL
JMP L3
L4:RET
DISP ENDP
CODE ENDS
END START
OUTPUT:
18 | P a g e
Prepared By DcVargas
Computer Studies Department
DATA SEGMENT
MESS1 DB 0AH,0DH,'ENTER FIRST NUMBER :''$'
MESS2 DB 0AH,0DH,'ENTER SECOND NUMBER :''$'
MESS3 DB 0AH,0DH,'PRODUCT IS :''$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
19 | P a g e
Prepared By DcVargas
Computer Studies Department
DEC CH
JZ R4
MOV DH,DL
JMP R3
R4: RET
READ ENDP
DISP ENDP
CODE ENDS
END START
OUTPUT
20 | P a g e
Prepared By DcVargas
Computer Studies Department
DATA SEGMENT
MESS1 DB 0AH,0DH,'ENTER THE DIVIDEND:','$'
MESS2 DB 0AH,0DH,'ENTER THE DIVISOR:','$'
MESS3 DB 0AH,0DH,'DIVISION IS :','$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
LEA DX,MESS1
MOV AH,09H
INT 21H
CALL READ
MOV BL,DL
LEA DX,MESS2
MOV AH,09H
INT 21H
CALL READ
MOV AH,00H
MOV AL,BL
DIV DL
MOV BH,AL
MOV AL,00H
DIV DL
MOV BL,AL
CALL DISP
MOV AH,4CH
INT 21H
MOV AH,01H
INT 21H
MOV DL,AL
MOV CL,04H
SUB DL,30H
CMP DL,0AH
JC R1
SUB DL,07H
R1:SHL DL,CL
MOV AH,01H
INT 21H
SUB AL,30H
CMP AL,0AH
JC R2
21 | P a g e
Prepared By DcVargas
Computer Studies Department
SUB AL,07H
R2:AND AL,0FH
OR DL,AL
RET
READ ENDP
LEA DX,MESS3
MOV AH,09H
INT 21H
MOV CH,02H
LP1:MOV CL,04H
MOV DL,BH
SHR DL,CL
CMP DL,0AH
JC L1
ADD DL,07H
L1:ADD DL,30H
MOV AH,06H
INT 21H
AND BH,0FH
CMP BH,0AH
JC L2
ADD BH,07H
L2:ADD BH,30H
MOV DL,BH
MOV AH,06H
INT 21H
DEC CH
JZ NXT
MOV DL,'.'
MOV AH,06H
INT 21H
MOV BH,BL
JMP LP1
NXT:RET
DISP ENDP
CODE ENDS
END START
OUTPUT:
ENTER THE DIVIDEND : D1
ENTER THE DIVISOR : B2
DIVISION : 01.00
ENTER THE DIVIDEND : A2
ENTER THE DIVISOR : 13
DIVISION : 08.00
22 | P a g e
Prepared By DcVargas
Computer Studies Department
DATA SEGMENT
MESS1 DB 0AH,0DH,'ENTER THE DIVIDEND:','$'
MESS2 DB 0AH,0DH,'ENTER THE DIVISOR:','$'
MESS3 DB 0AH,0DH,'DIVISION IS :','$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
LEA DX,MESS1
MOV AH,09H
INT 21H
CALL READ
MOV BX,DX
LEA DX,MESS2
MOV AH,09H
INT 21H
CALL READ
MOV SI,DX
MOV DX,0000H
MOV AX,BX
DIV SI
MOV BX,AX
MOV AX,0000H
DIV SI
MOV SI,AX
CALL DISP
MOV AH,4CH
INT 21H
MOV CH,02H
R3:MOV AH,01H
INT 21H
MOV CL,04H
MOV DL,AL
SUB DL,30H
CMP DL,0AH
JC R1
SUB DL,07H
R1:SHL DL,CL
MOV AH,01H
INT 21H
SUB AL,30H
23 | P a g e
Prepared By DcVargas
Computer Studies Department
CMP AL,0AH
JC R2
SUB AL,07H
AND AL,0FH
R2:OR DL,AL
DEC CH
JZ R4
MOV DH,DL
JMP R3
R4:RET
READ ENDP
LEA DX,MESS3
MOV AH,09H
INT 21H
MOV CH,02H
MOV CL,04H
MOV DL,BH
SHR DL,CL
CMP DL,0AH
JC L1
ADD DL,07H
L1:ADD DL,30H
MOV AH,06H
INT 21H
AND BH,0FH
CMP BH,0AH
JC L2
ADD BH,07H
L2:ADD BH,30H
MOV DL,BH
MOV AH,06H
INT 21H
BACK:MOV DL,BL
SHR DL,CL
CMP DL,0AH
JC L3
ADD DL,07H
L3:ADD DL,30H
MOV AH,06H
INT 21H
AND BL,0FH
CMP BL,0AH
JC L4
ADD BL,07H
L4:ADD BL,30H
MOV DL,BL
24 | P a g e
Prepared By DcVargas
Computer Studies Department
MOV AH,06H
INT 21H
DEC CH
JZ NXT
MOV DL,'.'
MOV AH,06H
INT 21H
MOV BX,SI
MOV BL,BH
JMP BACK
NXT:RET
DISP ENDP
CODE ENDS
END START
OUTPUT:
25 | P a g e
Prepared By DcVargas
Computer Studies Department
DATA SEGMENT
MESS1 DB 0AH,0DH,'ENTER THE LIMIT: ''$'
MESS2 DB 0AH,0DH,'ENTER THE NUMBER:','$'
MESS3 DB 0AH,0DH,'AVERAGE IS : ', '$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START :MOV AX,DATA
MOV DS,AX
LEA DX,MESS1
MOV AH,09H
INT 21H
CALL READ
MOV CH,DL
MOV BH,DL
LEA DX,MESS2
MOV AH,09H
INT 21H
CALL READ
MOV BL,DL
MOV dh,00h
BACK: DEC CH
MOV DL,','
MOV AH,06H
INT 21H
JZ NEXT
CALL READ
ADD BL,DL
JNC LP1
INC DH
LP1:JMP BACK
NEXT:MOV AL,BL
MOV AH,DH
DIV BH
MOV BL,AL
MOV AL,00H
DIV BH
MOV BH,AL
CALL DISP
MOV AH,4CH
INT 21H
26 | P a g e
Prepared By DcVargas
Computer Studies Department
R1:SHL DL,CL
MOV AH,01H
INT 21H
SUB AL,30H
CMP AL,0AH
JC R2
SUB AL,07H
R2: AND AL,0FH
OR DL,AL
RET
READ ENDP
DISP ENDP
CODE ENDS
END START
OUPTUT:
ENTER THE LIMIT: 05
ENTER THE NUMBERS: 34,65,24,87,45
THE AVERAGE IS : 4E.99
27 | P a g e
Prepared By DcVargas
Computer Studies Department
DATA SEGMENT
MESS1 DB 0AH,0DH,'ENTER THE LIMIT: ''$'
MESS2 DB 0AH,0DH,'ENTER THE NUMBER:','$'
MESS3 DB 0AH,0DH,'AVERAGE IS : ', '$'
QUO DB 00H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START :MOV AX,DATA
MOV DS,AX
LEA DX,MESS1
MOV AH,09H
INT 21H
CALL READ
MOV CH,DL
LEA DX,MESS2
MOV AH,09H
INT 21H
CALL READ
MOV BL,DL
MOV DH,CH
MOV BH,00H
N1:MOV AL,CH
SUB AL,01H
DAS
MOV CH,AL
JZ N2
MOV DL,','
MOV AH,06H
INT 21H
CALL READ
MOV AL,BL
ADD AL,DL
DAA
MOV BL,AL
JNC N3
MOV AL,BH
ADD AL,01H
DAA
MOV BH,AL
N3:JMP N1
N2:MOV CH,02H
MOV DL,DH
MOV DH,00H
MOV CL,00H
N4: MOV AX,BX
28 | P a g e
Prepared By DcVargas
Computer Studies Department
29 | P a g e
Prepared By DcVargas
Computer Studies Department
DATA SEGMENT
MESS1 DB 0AH,0DH,'ENTER THE 1ST NUMBER: ''$'
MESS2 DB 0AH,0DH,'ENTER THE 2ND NUMBER:','$'
MESS3 DB 0AH,0DH,'SUM OF TWO 6-DIGIT NUMBER IS : ', '$'
QUO DB 00H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START :MOV AX,DATA
MOV DS,AX
LEA DX,MESS1
MOV AH,09H
INT 21H
CALL READ
MOV SI,DX
MOV BL,BH
LEA DX,MESS2
MOV AH,09H
INT 21H
CALL READ
MOV CL,00H
ADD SI,DX
ADC BL,BH
JNC NEXT
INC CL
NEXT: CALL DISP
MOV AH,4CH
INT 21H
30 | P a g e
Prepared By DcVargas
Computer Studies Department
MOV BH,DL
JMP X1
R3:MOV DH,DL
JMP X1
X2:RET
READ ENDP
DISP ENDP
CODE ENDS
END START
OUTPUT:
ENTER FIRST NUMBER: 23ABCF
ENTER FIRST NUMBER:F45C24
SUM OF TWO NUMBERS:11807F3
31 | P a g e
Prepared By DcVargas
Computer Studies Department
DATA SEGMENT
MESS1 DB 0AH,0DH,'ENTER THE 1ST NUMBER: ''$'
MESS2 DB 0AH,0DH,'ENTER THE 2ND NUMBER:','$'
MESS3 DB 0AH,0DH,'SUM OF TWO 6-DIGIT NUMBER IS : ', '$'
QUO DB 00H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START :MOV AX,DATA
MOV DS,AX
LEA DX,MESS1
MOV AH,09H
INT 21H
CALL READ
MOV SI,DX
MOV BH,BL
LEA DX,MESS2
MOV AH,09H
INT 21H
CALL READ
MOV CL,00H
ADD AL,DL
DAA
MOV DL,AL
MOV AL,AH
ADC BH,BL
MOV DH,DL
MOV SI,DX
ADC BH,BL
MOV AL,BH
DAA
MOV BH,AL
JNC NEX
INC CL
NEXT: CALL DISP
MOV AH,4CH
INT 21H
32 | P a g e
Prepared By DcVargas
Computer Studies Department
DEC CH
JZ X2
CMP CH,01H
JZ R3
R3:MOV DH,DL
JMP X1
X2:RET
READ ENDP
LEA DX,MESS3
MOV AH,09H
INT 21H
MOV DL,CL
ADD DL,30H
MOV AH,06H
INT 21H
MOV CH,03H
LP1:MOV CL,04H
MOV DL,BH
SHR DL,CL
L1:ADD DL,30H
MOV AH,06H
INT 21H
AND BH,0FH
ADD BH,30H
MOV DL,BH
MOV AH,06H
INT 21H
DEC CH
JZ LAST
CMP CH,02H
JNZ L3
MOV DX,SI
L3: MOV BH,DH
MOV DH,DL
JMP LP1
LAST :RET
DISP ENDP
CODE ENDS
END START
OUTPUT:
ENTER FIRST NUMBER: 234567
ENTER FIRST NUMBER:954132
SUM OF TWO NUMBERS:1188699
33 | P a g e
Prepared By DcVargas
Computer Studies Department
DATA SEGMENT
MESS1 DB 0AH,0DH,'ENTER LIMIT :''$'
MESS2 DB 0AH,0DH,'ENTER NUMBERS :''$'
MESS3 DB 0AH,0DH,'MAXIMUM IS :''$'
MESS4 DB 0AH,0DH,'MINIMUM IS :''$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
LEA DX,MESS1
MOV AH,09H
INT 21H
CALL READ
MOV CH,DL
LEA DX,MESS2
MOV AH,09H
INT 21H
CALL READ
MOV BH,DL
MOV BL,DL
L1:DEC CH
JZ L2
MOV DL,','
MOV AH,06H
INT 21H
CALL READ
MOV DH,DL
CMP BH,DL
JAE L3
XCHG BH,DL
L3:CMP BL,DH
JBE L4
XCHG BL,DH
L4:JMP L1
L2:LEA DX,MESS3
MOV AH,09H
INT 21H
CALL DISP
LEA DX,MESS4
MOV AH,09H
INT 21H
MOV BH,BL
CALL DISP
MOV AH,4CH
INT 21H
34 | P a g e
Prepared By DcVargas
Computer Studies Department
MOV AH,01H
INT 21H
MOV CL,04H
MOV DL,AL
SUB DL,30H
CMP DL,0AH
JC R1
SUB DL,07H
R1:SHL DL,CL
MOV AH,01H
INT 21H
SUB AL,30H
CMP AL,0AH
JC R2
SUB AL,07H
AND AL,0FH
R2:OR DL,AL
RET
READ ENDP
DISP ENDP
CODE ENDS
END START
OUTPUT:
ENTER LIMIT : 05
ENTER NUMBERS : 22, 78, 96, 30, 12
MAXIMUM IS : 96
MINIMUM IS : 12
ENTER LIMIT : 07
ENTER NUMBERS : 32,12,F4,09,67,F5,8D
MAXIMUM IS : F5
MINIMUM IS : 09
35 | P a g e
Prepared By DcVargas
Computer Studies Department
DATA SEGMENT
M1 DB 0AH,0DH,'ENTER THE LIMIT:' , '$'
M2 DB 0AH,0DH,'THE NUMBERS IS:' , '$'
M3 DB 0AH,0DH,'THE SORTED NUMBERS ARE :' , '$'
ARRAY DB 20 DUP(0)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
36 | P a g e
Prepared By DcVargas
Computer Studies Department
37 | P a g e
Prepared By DcVargas
Computer Studies Department
DATA SEGMENT
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MESSAGE M1
CALL READO
MOV BX,DX
MOV ROW,DH
MOV COL,DL
MESSAGE M2
CALL READO
CMP BX,DX
JZ L1
MESSAGE M6
JMP L7
L1:MESSAGE M3
LEA SI,MAT1
CALL READ1
MESSAGE M4
LEA SI,MAT2
CALL READ1
MESSAGE M5
38 | P a g e
Prepared By DcVargas
Computer Studies Department
BSPCE 0AH
LEA DI,MAT1
LEA SI,MAT2
LEA BX,MAT3
MOV CH,ROW
L6:MOV CL,COL
L2:MOV DH,00H
MOV DL,[SI]
ADD DL,[DI]
JNC L5
INC DH
L5:MOV [BX],DH
INC BX
MOV [BX],DL
INC DI
INC SI
INC BX
DEC CL
JNZ L2
DEC CH
JZ L3
JMP L6
L3: CALL DISP
L7: MOV AH,4CH
INT 21H
39 | P a g e
Prepared By DcVargas
Computer Studies Department
JNZ N1
DEC CH
JZ N3
BSPCE 0AH
BSPCE 0DH
JMP N2
N3:RET
READ1 ENDP
40 | P a g e
Prepared By DcVargas
Computer Studies Department
MOV DL,[BX]
AND DL,0FH
CMP DL,0AH
JC D2
ADD DL,07H
D2: ADD DL,30H
MOV AH,06H
INT 21H
INC BX
BSPCE ' '
DEC DH
JNZ LOP
DEC CH
JZ D3
BSPCE 0AH
BSPCE 0DH
JMP D4
D3: RET
DISP ENDP
CODE ENDS
END START
OUTPUT 1:
OUTPUT 2:
ENTER THE ORDER OF FIRST MATRIX : 2 3
41 | P a g e
Prepared By DcVargas
Computer Studies Department
DATA SEGMENT
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MESSAGE M1
CALL READO
MOV BX,DX
MOV ROW,DH
MOV COL,DL
MESSAGE M2
CALL READO
CMP BX,DX
JZ L1
MESSAGE M6
JMP L7
L1:MESSAGE M3
LEA SI,MAT1
CALL READ1
MESSAGE M4
LEA SI,MAT2
CALL READ1
MESSAGE M5
42 | P a g e
Prepared By DcVargas
Computer Studies Department
BSPCE 0AH
LEA DI,MAT1
LEA SI,MAT2
LEA BX,MAT3
MOV CH,ROW
L6:MOV CL,COL
L2:MOV DH,00H
MOV AL,[SI]
ADD AL,[DI]
DAA
JNC L5
INC DH
L5:MOV [BX],DH
INC BX
MOV [BX],AL
INC DI
INC SI
INC BX
DEC CL
JNZ L2
DEC CH
JZ L3
JMP l6
L3: CALL DISP
L7: MOV AH,4CH
INT 21H
43 | P a g e
Prepared By DcVargas
Computer Studies Department
JNZ N1
DEC CH
JZ N3
BSPCE 0AH
BSPCE 0DH
JMP N2
N3:RET
READ1 ENDP
MOV AH,01H
INT 21H
MOV CL,04H
MOV DL,AL
SUB DL,30H
SHL DL,CL
MOV AH,01H
INT 21H
AND AL,0FH
OR DL,AL
RET
READ ENDP
44 | P a g e
Prepared By DcVargas
Computer Studies Department
DEC CH
JZ D3
BSPCE 0AH
BSPCE 0DH
JMP D4
D3: RET
DISP ENDP
CODE ENDS
END START
45 | P a g e
Prepared By DcVargas
Computer Studies Department
DATA SEGMENT
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MESSAGE M1
CALL READO
MOV BX,DX
MOV ROW,DH
MOV COL,DL
MESSAGE M2
CALL READO
CMP BX,DX
JZ L1
MESSAGE M6
JMP L7
L1:MESSAGE M3
LEA SI,MAT1
CALL READ1
MESSAGE M4
LEA SI,MAT2
CALL READ1
46 | P a g e
Prepared By DcVargas
Computer Studies Department
MESSAGE M5
BSPCE 0AH
LEA DI,MAT1
LEA SI,MAT2
LEA BX,MAT3
MOV CH,ROW
L6:MOV CL,COL
L2:MOV DH,' '
MOV DL,[DI]
SUB DL,[SI]
JNC L52
NEG DL
MOV DH,'-'
L5:MOV [BX],DH
INC BX
MOV [BX],DL
INC DI
INC SI
INC BX
DEC CL
JNZ L2
DEC CH
JZ L3
JMP L6
L3: CALL DISP
L7: MOV AH,4CH
INT 21H
47 | P a g e
Prepared By DcVargas
Computer Studies Department
JNZ N1
DEC CH
JZ N3
BSPCE 0AH
BSPCE 0DH
JMP N2
N3:RET
READ1 ENDP
48 | P a g e
Prepared By DcVargas
Computer Studies Department
AND DL,0FH
CMP DL,0AH
JC D2
ADD DL,07H
D2: ADD DL,30H
MOV AH,06H
INT 21H
INC BX
BSPCE ' '
DEC DH
JNZ LOP
DEC CH
JZ D3
BSPCE 0AH
BSPCE 0DH
JMP D4
D3: RET
DISP ENDP
CODE ENDS
END START
OUTPUT
55 65
75 85
OUTPUT
49 | P a g e
Prepared By DcVargas
Computer Studies Department
DATA SEGMENT
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MESSAGE M1
CALL READO
MOV BX,DX
MOV ROW,DH
MOV COL,DL
MESSAGE M2
CALL READO
CMP BX,DX
JZ L1
MESSAGE M6
JMP L7
L1:MESSAGE M3
LEA SI,MAT1
CALL READ1
MESSAGE M4
LEA SI,MAT2
CALL READ1
MESSAGE M5
50 | P a g e
Prepared By DcVargas
Computer Studies Department
BSPCE 0AH
LEA DI,MAT1
LEA SI,MAT2
LEA BX,MAT3
MOV CH,ROW
L6:MOV CL,COL
L2:MOV DH,' '
MOV AL,[DI]
SUB AL,[SI]
DAS
JNC L5
MOV DL,99H
SUB DL,AL
MOV AL,DL
ADD AL,01H
DAA
MOV DH,'-'
L5:MOV [BX],DH
INC BX
MOV [BX],AL
INC DI
INC SI
INC BX
DEC CL
JNZ L2
DEC CH
JZ L3
JMP L6
L3: CALL DISP
L7: MOV AH,4CH
INT 21H
51 | P a g e
Prepared By DcVargas
Computer Studies Department
MOV [SI],DL
INC SI
BSPCE ' '
DEC BH
JNZ N1
DEC CH
JZ N3
BSPCE 0AH
BSPCE 0DH
JMP N2
N3:RET
READ1 ENDP
MOV AH,01H
INT 21H
MOV CL,04H
MOV DL,AL
SUB DL,30H
SHL DL,CL
MOV AH,01H
INT 21H
AND AL,0FH
OR DL,AL
RET
READ ENDP
52 | P a g e
Prepared By DcVargas
Computer Studies Department
DEC DH
JNZ LOP
DEC CH
JZ D3
BSPCE 0AH
BSPCE 0DH
JMP D4
D3: RET
DISP ENDP
CODE ENDS
END START
OUTPUT
10 10
10 10
53 | P a g e
Prepared By DcVargas
Computer Studies Department
DATA SEGMENT
M1 DB 'ENTER THE ORDER OF THE MATRIX:','$'
M2 DB 0AH,0DH,0AH,'ENTER THE ORDER OF SECOND MATRIX:','$'
M3 DB 0AH,0DH,0AH,'TRANSPOSE MATRIX:',0AH,0DH,'$'
MAT1 DB 10 DUP(0)
MAT2 DB 10 DUP(0)
ROW DB 00H
COL DB 00H
DATA ENDS
MESSAGE MACRO MESS
LEA DX,MESS
MOV AH,09H
INT 21H
ENDM
BSPCE MACRO ASC
MOV DL,ASC
MOV AH,06H
INT 21H
ENDM
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MESSAGE M1
CALL READO
MOV BX,DX
MOV ROW,DH
MOV COL,DL
MESSAGE M2
LEA SI,MAT1
CALL READ1
LEA DI,MAT1
LEA SI,MAT2
MOV DH,00H
MOV DL,COL
MOV AH,COL
L3:MOV AL,ROW
MOV BX,DI
L1:MOV CL,[BX]
MOV [SI],CL
ADD BX,DX
INC SI
DEC AL
JNZ L1
INC DI
DEC AH
JNZ L3
LEA SI,MAT2
CALL DISP
MOV AH,4CH
INT 21H
54 | P a g e
Prepared By DcVargas
Computer Studies Department
MOV AH,01H
INT 21H
MOV CL,04H
MOV DL,AL
SUB DL,30H
CMP DL,0AH
JC R1
SUB DL,07H
AND DL,0FH
R1:SHL DL,CL
MOV AH,01H
INT 21H
SUB AL,30H
CMP AL, 0AH
JC R2
SUB AL,07H
AND AL,0FH
R2:OR DL,AL
RET
55 | P a g e
Prepared By DcVargas
Computer Studies Department
READ ENDP
MESSAGE M3
BSPCE 0AH
MOV DH,COL
D4:MOV BH,ROW
LOP:MOV CL,04H
MOV DL,[SI]
SHR DL,CL
CMP DL,0AH
JC D1
ADD DL,07H
D1: ADD DL,30H
MOV AH,06H
INT 21H
MOV DL,[SI]
AND DL,0FH
CMP DL,0AH
JC D2
ADD DL,07H
D2: ADD DL,30H
MOV AH,06H
INT 21H
INC SI
BSPCE ' '
DEC BH
JNZ LOP
DEC DH
JZ D3
BSPCE 0AH
BSPCE 0DH
JMP D4
D3: RET
DISP ENDP
CODE ENDS
END START
OUTPUT :
TRANSPOSE MATRIX :
11 22
55 74
99 51
56 | P a g e
Prepared By DcVargas
Computer Studies Department
DATA SEGMENT
MESS1 DB 0AH,0DH,'ENTER LIMIT :''$'
MESS2 DB 0AH,0DH,'PRIME NUMBERS UPTO LIMIT :''$'
MESS3 DB 0AH,0DH,'NO OF ELEMENTS IN PRIME SERIES= ''$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
LEA DX,MESS1
MOV AH,09H
INT 21H
CALL READ
MOV CH,DL
LEA DX,MESS2
MOV AH,09H
INT 21H
XOR SI,SI
MOV DH,00H
L1: INC DH
JZ L3
CMP DH,CH
JA L3
CALL SQRT
MOV BH,01H
L2:MOV AL,DH
MOV AH,00H
INC BH
CMP BH,DL
JA L4
DIV BH
CMP AH,00H
JNZ L2
JMP L1
L4:MOV BL,DH
CALL DISP
MOV DL,','
MOV AH,06H
INT 21H
INC SI
JMP L1
L3:LEA DX,MESS3
MOV AH,09H
INT 21H
MOV BX,SI
CALL DISP
MOV AH,4CH
57 | P a g e
Prepared By DcVargas
Computer Studies Department
58 | P a g e
Prepared By DcVargas
Computer Studies Department
DATA SEGMENT
MESS1 DB 0AH,0DH,'ENTER LIMIT :''$'
MESS2 DB 0AH,0DH,'PRIME NUMBERS UPTO LIMIT :''$'
MESS3 DB 0AH,0DH,'NO OF ELEMENTS IN PRIME SERIES= ''$'
NUM DB 00H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
LEA DX,MESS1
MOV AH,09H
INT 21H
CALL READ
MOV CH,DL
LEA DX,MESS2
MOV AH,09H
INT 21H
MOV DH,00H
MOV SI,0000H
L1:MOV AL,DH
ADD AL,01H
DAA
JC L3
MOV DH,AL
CMP DH,CH
JA L3
CALL SQRT
MOV BH,01H
L2:MOV AL,BH
ADD AL,01H
DAA
MOV BH,AL
CMP BH,DL
JA L4
MOV AH,00H
MOV NUM,DH
L5:MOV AL,NUM
SUB AL,BH
DAS
MOV NUM,AL
MOV AL,AH
ADD AL,01H
DAA
MOV AH,AL
CMP NUM,BH
59 | P a g e
Prepared By DcVargas
Computer Studies Department
JAE L5
CMP NUM,00H
JZ L1
JMP L2
L4: MOV BL,DH
CALL DISP
MOV DL,'.'
MOV AH,06H
INT 21H
MOV AX,SI
ADD AL,01H
DAA
MOV SI,AX
JMP L1
L3:LEA DX,MESS3
MOV AH,09H
INT 21H
MOV BX,SI
CALL DISP
MOV AH,4CH
INT 21H
MOV CL,04H
MOV DL,BL
SHR DL,CL
ADD DL,30H
MOV AH,06H
INT 21H
AND BL,0FH
ADD BL,30H
MOV DL,BL
MOV AH,06H
INT 21H
60 | P a g e
Prepared By DcVargas
Computer Studies Department
RET
DISP ENDP
SQRT ENDP
CODE ENDS
END START
OUTPUT:
ENTER LIMIT : 09
PRIME NUMBERS UPTO LIMIT : 01,02,03,05,07
NO. OF ELEMENTS IN PRIME SERIES : 05
61 | P a g e
Prepared By DcVargas
Computer Studies Department
DATA SEGMENT
MESS1 DB 'ENTER THE LIMIT :','$'
MESS2 DB 0AH,0DH,'PERFECT DIVISORS:','$'
MESS3 DB 0AH,0DH,'NUMBER OF PERFECT DIVISORS UPTO THE LIMIT=','$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
LEA DX,MESS1
MOV AH,09H
INT 21H
CALL READ
MOV CH,DL
LEA DX,MESS2
MOV AH,09H
INT 21H
XOR SI,SI
MOV DH,01H
L1: INC DH
JZ L3
CMP DH,CH
JA L3
CALL SQRT
MOV BL,01H
MOV BH,01H
L2: INC BH
CMP BH,DL
JA L4
MOV AH,00H
MOV AL,DH
DIV BH
CMP AH,00H
JNE L2
ADD AL,BH
ADD BL,AL
JMP L2
L4: CMP BL,DH
JNE L1
CALL DISP
MOV DL,' '
MOV AH,06H
INT 21H
INC SI
JMP L1
L3:LEA DX,MESS3
MOV AH,09H
62 | P a g e
Prepared By DcVargas
Computer Studies Department
INT 21H
MOV BX,SI
CALL DISP
MOV AH,4CH
INT 21H
READ ENDP
63 | P a g e
Prepared By DcVargas
Computer Studies Department
SQRT ENDP
CODE ENDS
END START
OUTPUT:
ENTER LIMIT : FF
PERFECT DIVISORS ARE: 06 1C
NO. OF ELEMENTS : 02
64 | P a g e
Prepared By DcVargas
Computer Studies Department
DATA SEGMENT
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
LEA DX,MESS1
MOV AH,09H
INT 21H
CALL READ
LEA DX,MESS2
MOV AH,09H
INT 21H
XOR DI,DI
CALL PERFECT
LEA DX,MESS3
MOV AH,09H
INT 21H
MOV CX,DI
MOV BL,CL
CALL DISP
MOV AH,4CH
INT 21H
65 | P a g e
Prepared By DcVargas
Computer Studies Department
DAA
MOV DL,AL
P7: MOV AL,CL
ADD AL,01H
DAA
MOV CL,AL
JMP P4
P5: CMP DL,01H
JE P6
CMP BL,DL
JNE P6
CALL DISP
MOV AX,DI
ADD AL,01H
DAA
MOV DI,AX
P6: MOV AL,BL
ADD AL,01H
DAA
MOV BL,AL
JMP P1
PERFECT ENDP
66 | P a g e
Prepared By DcVargas
Computer Studies Department
B2:RET
DIVD ENDP
CODE ENDS
END START
OUTPUT:
ENTER LIMIT : 99
PERFECT DIVISORS ARE: 06 28
NO. OF ELEMENTS : 02
ENTER LIMIT : 20
PERFECT DIVISORS ARE: 06
NO. OF ELEMENTS : 01
67 | P a g e
Prepared By DcVargas
Computer Studies Department
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
LEA DX,MESS1
MOV AH,09H
INT 21H
CALL READ
MOV CH,DL
LEA DX,MESS2
MOV AH,09H
INT 21H
CALL READ
MOV BL,CH
CALL DISP
LEA DX,MESS4
MOV AH,09H
INT 21H
XOR BX,BX
AGAIN: INC COUNT
CALL DISP
ADD TEMP,BH
JC NEXT
MOV BL,TEMP
MOV TEMP,BH
MOV BH,BL
CMP BL,CH
JA NEXT
JMP AGAIN
NEXT:LEA DX,MESS3
MOV AH,09H
INT 21H
MOV AL,COUNT
ADD AL,00H
DAA
MOV BL,AL
CALL DISP
MOV AH,4CH
INT 21H
68 | P a g e
Prepared By DcVargas
Computer Studies Department
READ ENDP
OUTPUT
ENTER THE LIMIT: AA
FIBONACCI SERIES UPTO THE LIMIT AA IS : 00 01 01 02 03 05 08 0D 15 22 37 59 90
NUMBERS OF ELEMENTS IN FIBONACCI SERIES : 13
69 | P a g e
Prepared By DcVargas
Computer Studies Department
DATA SEGMENT
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
LEA DX,MESS1
MOV AH,09H
INT 21H
CALL READ
MOV CH,DL
LEA DX,MESS2
MOV AH,09H
INT 21H
CALL READ
MOV BL,CH
CALL DISP
LEA DX,MESS4
MOV AH,09H
INT 21H
XOR BX,BX
AGAIN: INC COUNT
CALL DISP
ADD TEMP,BH
JC NEXT
MOV BL,TEMP
MOV TEMP,BH
MOV BH,BL
CMP BL,CH
JA NEXT
JMP AGAIN
NEXT:LEA DX,MESS3
MOV AH,09H
INT 21H
MOV AL,COUNT
ADD AL,00H
DAA
MOV BL,AL
CALL DISP
MOV AH,4CH
INT 21H
70 | P a g e
Prepared By DcVargas
Computer Studies Department
MOV AH,01H
INT 21H
MOV DL,AL
MOV CL,04H
SUB DL,30H
CMP DL,0AH
JC R1
SUB DL,07H
R1:SHL DL,CL
MOV AH,01H
INT 21H
SUB AL,30H
CMP AL,0AH
JC R2
SUB AL,07H
R2: AND AL,0FH
OR DL,AL
RET
READ ENDP
OUTPUT:
ENTER LIMIT : FF
PERFECT DIVISORS ARE: 06 1C
NO. OF ELEMENTS IN PRIME SERIES : 02
ENTER THE LIMIT: 08
THE FIBONACCI SERIES UPTO THE LIMIT 09 IS: 00,01,01,02,03,05,08
NUMBERS OF ELEMENTS IN THE FIBONACCI SERIES:07
71 | P a g e
Prepared By DcVargas
Computer Studies Department
DATA SEGMENT
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
LEA DX,MESS1
MOV AH,09H
INT 21H
CALL READ
MOV CH,DL
LEA DX,MESS2
MOV AH,09H
INT 21H
CALL READ
MOV BL,CH
CALL DISP
LEA DX,MESS4
MOV AH, 09H
INT 21H
XOR BX,BX
AGAIN: INC COUNT
CALL DISP
MOV AL,TEMP
ADD AL,BH
DAA
JC NEXT
MOV BL,AL
MOV TEMP,BH
MOV BH,BL
CMP BL,CH
JA NEXT
JMP AGAIN
NEXT:LEA DX,MESS3
MOV AH,09H
INT 21H
MOV AL,COUNT
ADD AL,00H
DAA
MOV BL,AL
72 | P a g e
Prepared By DcVargas
Computer Studies Department
CALL DISP
MOV AH,4CH
INT 21H
READ ENDP
DISP PROC NEAR
PUBLIC DISP
MOV DL,' '
MOV AH,06H
INT 21H
MOV DL,BL
SHR DL,CL
ADD DL,30H
MOV AH,06H
INT 21H
AND BL,0FH
ADD BL,30H
MOV DL,BL
MOV AH,06H
INT 21H
RET
DISP ENDP
CODE ENDS
END START
OUTPUT
73 | P a g e
Prepared By DcVargas
Computer Studies Department
DATA SEGMENT
MESS1 DB 'ENTER THE NUMBER(0-8):''$'
MESS2 DB 0AH,0DH, ' FACTORIAL OF THE GIVEN NUMBER=''$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
LEA DX,MESS1
MOV AH,09H
INT 21H
CALL READ
MOV BL,DL
MOV AX,0001H
MOV BH,00H
CALL FACT
MOV BX,AX
CALL DISP
MOV AH,4CH
INT 21H
74 | P a g e
Prepared By DcVargas
Computer Studies Department
BACK:MOV DL,BH
SHR DL,CL
CMP DL,0AH
JC L1
ADD DL,07H
L1:ADD DL,30H
MOV AH,06H
INT 21H
AND BH,0FH
CMP BH,0AH
JC L2
ADD BH,07H
L2:ADD BH,30H
MOV DL,BH
MOV AH,06H
INT 21H
DEC CH
JZ L3
MOV BH,BL
JMP BACK
L3:RET
DISP ENDP
CODE ENDS
END START
OUTPUT:
75 | P a g e
Prepared By DcVargas
Computer Studies Department
DATA SEGMENT
MESS1 DB 0AH,0DH,'ENTER BINARY CODE :''$'
MESS2 DB 0AH,0DH,'EQUIVALENT GRAY CODE :''$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
LEA DX,MESS1
MOV AH,09H
INT 21H
CALL READ
MOV BL,DL
SHR DL,01H
XOR BL,DL
LEA DX,MESS2
MOV AH,09H
INT 21H
CALL DISP
MOV AH,4CH
INT 21H
READ PROC NEAR
PUBLIC READ
MOV AH,01H
INT 21H
MOV CL,04H
MOV DL,AL
SUB DL,30H
CMP DL,0AH
JC R1
SUB DL,07H
R1:SHL DL,CL
MOV AH,01H
INT 21H
SUB AL,30H
CMP AL,0AH
JC R2
SUB AL,07H
R2: AND AL,0FH
OR DL,AL
RET
READ ENDP
76 | P a g e
Prepared By DcVargas
Computer Studies Department
MOV CL,04H
MOV DL,BL
SHR DL,CL
CMP DL,0AH
JC L1
ADD DL,07H
L1:ADD DL,30H
MOV AH,06H
INT 21H
AND BL,0FH
CMP BL,0AH
JC L2
ADD BL,07H
L2:ADD BL,30H
MOV DL,BL
MOV AH,06H
INT 21H
RET
DISP ENDP
CODE ENDS
END START
OUTPUT:
77 | P a g e
Prepared By DcVargas
Computer Studies Department
DATA SEGMENT
MESS1 DB 0AH,0DH,'ENTER GRAY CODE :''$'
MESS2 DB 0AH,0DH,'EQUIVALENT BINARY CODE :''$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
LEA DX,MESS1
MOV AH,09H
INT 21H
CALL READ
MOV BL,DL
MOV CH,07H
M1:SHR DL,01H
XOR BL,DL
DEC CH
JNZ M1
LEA DX,MESS2
MOV AH,09H
INT 21H
CALL DISP
MOV AH,4CH
INT 21H
MOV AH,01H
INT 21H
MOV CL,04H
MOV DL,AL
SUB DL,30H
CMP DL,0AH
JC R1
SUB DL,07H
R1:SHL DL,CL
MOV AH,01H
INT 21H
SUB AL,30H
CMP AL,0AH
JC R2
SUB AL,07H
R2: AND AL,0FH
OR DL,AL
RET
78 | P a g e
Prepared By DcVargas
Computer Studies Department
READ ENDP
DISP ENDP
CODE ENDS
END START
OUTPUT:
79 | P a g e
Prepared By DcVargas
Computer Studies Department
DATA SEGMENT
MESS1 DB 0AH,0DH,'ENTER LIMIT :''$'
MESS2 DB 0AH,0DH,'BINARY CODE GRAY CODE :''$'
NL DB 0AH,0DH,' ','$'
BSP DB' ','$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
LEA DX,MESS1
MOV AH,09H
INT 21H
CALL READ
MOV BH,DL
LEA DX,MESS2
MOV AH,09H
INT 21H
M1:LEA DX,NL
MOV AH,09H
INT 21H
CALL READ
MOV BL,DL
SHR DL,01H
XOR BL,DL
LEA DX,BSP
MOV AH,09H
INT 21H
CALL DISP
DEC BH
JNZ M1
MOV AH,4CH
INT 21H
READ PROC NEAR
PUBLIC READ
MOV AH,01H
INT 21H
MOV CL,04H
MOV DL,AL
SUB DL,30H
CMP DL,0AH
JC R1
SUB DL,07H
R1:SHL DL,CL
MOV AH,01H
INT 21H
SUB AL,30H
CMP AL,0AH
80 | P a g e
Prepared By DcVargas
Computer Studies Department
JC R2
SUB AL,07H
R2: AND AL,0FH
OR DL,AL
RET
READ ENDP
DISP PROC NEAR
PUBLIC DISP
MOV CL,04H
MOV DL,BL
SHR DL,CL
CMP DL,0AH
JC L1
ADD DL,07H
L1:ADD DL,30H
MOV AH,06H
INT 21H
AND BL,0FH
CMP BL,0AH
JC L2
ADD BL,07H
L2:ADD BL,30H
MOV DL,BL
MOV AH,06H
INT 21H
RET
DISP ENDP
CODE ENDS
END START
OUTPUT:
ENTER LIMIT : 05
BINARY CODE GRAY CODE
3E 21
21 31
16 1D
10 18
02 03
81 | P a g e
Prepared By DcVargas
Computer Studies Department
82 | P a g e
Prepared By DcVargas
Computer Studies Department
SUB AL,30H
CMP AL,0AH
JC R2
SUB AL,07H
R2: AND AL,0FH
OR DL,AL
RET
READ ENDP
DISP PROC NEAR
PUBLIC DISP
MOV CL,04H
MOV DL,BL
SHR DL,CL
CMP DL,0AH
JC L1
ADD DL,07H
L1:ADD DL,30H
MOV AH,06H
INT 21H
AND BL,0FH
CMP BL,0AH
JC L2
ADD BL,07H
L2:ADD BL,30H
MOV DL,BL
MOV AH,06H
INT 21H
RET
DISP ENDP
CODE ENDS
END START
OUTPUT:
ENTER LIMIT : 05
GRAY BINARY
03 02
14 18
21 3E
C2 83
A5 C6
83 | P a g e
Prepared By DcVargas
Computer Studies Department
DATA SEGMENT
MESS1 DB 0AH,0DH,'ENTER FIRST NUMBER :''$'
MESS2 DB 0AH,0DH,'ENTER SECOND NUMBER :''$'
MESS3 DB 0AH,0DH,'GCD OF TWO NUMBER IS :''$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
LEA DX,MESS1
MOV AH,09H
INT 21H
CALL READ
MOV BH,DL
LEA DX,MESS2
MOV AH,09H
INT 21H
CALL READ
MOV BL,DL
T1:MOV AL,BH
MOV AH,00H
DIV BL
MOV BH,BL
MOV BL,AH
CMP AH,00H
JNE T1
CALL DISP
MOV AH,4CH
INT 21H
84 | P a g e
Prepared By DcVargas
Computer Studies Department
OR DL,AL
RET
READ ENDP
OUTPUT:
85 | P a g e
Prepared By DcVargas
Computer Studies Department
DATA SEGMENT
MESS1 DB 0AH,0DH,'ENTER FIRST NUMBER :''$'
MESS2 DB 0AH,0DH,'ENTER SECOND NUMBER :''$'
MESS3 DB 0AH,0DH,'GCD OF TWO NUMBER IS :''$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
LEA DX,MESS1
MOV AH,09H
INT 21H
CALL READ
MOV BH,DL
LEA DX,MESS2
MOV AH,09H
INT 21H
CALL READ
MOV BL,DL
N1:CMP BH,BL
JZ N3
JNB N2
MOV AL,BL
SUB AL,BH
DAS
MOV BL,AL
JMP N1
N2:MOV AL,BH
SUB AL,BL
DAS
MOV BH,AL
JMP N1
N3:CALL DISP
MOV AH,4CH
INT 21H
MOV AH,01H
INT 21H
MOV CL,04H
MOV DL,AL
SUB DL,30H
CMP DL,0AH
JC R1
SUB DL,07H
R1:SHL DL,CL
MOV AH,01H
86 | P a g e
Prepared By DcVargas
Computer Studies Department
INT 21H
SUB AL,30H
CMP AL,0AH
JC R2
SUB AL,07H
R2: AND AL,0FH
OR DL,AL
RET
READ ENDP
OUTPUT:
87 | P a g e
Prepared By DcVargas
Computer Studies Department
38.REVERSE OF A BYTE
DATA SEGMENT
MESS1 DB 0AH,0DH,'ENTER THE NUMBER :','$'
MESS2 DB 0AH,0DH,'REVERSE OF A GIVEN BYTE :','$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
LEA DX,MESS1
MOV AH,09H
INT 21H
CALL READ
MOV BL,00H
MOV CH,08H
N1: SHL DL,01H
RCR BL,01H
DEC CH
JNZ N1
CALL DISP
MOV AH,4CH
INT 21H
88 | P a g e
Prepared By DcVargas
Computer Studies Department
DISP ENDP
CODE ENDS
END START
OUTPUT:
89 | P a g e
Prepared By DcVargas
Computer Studies Department
39.REVERSAL OF WORD
DATA SEGMENT
MESS1 DB 0AH,0DH,'ENTER THE NUMBER :','$'
MESS2 DB 0AH,0DH,'REVERSE OF A GIVEN NUMBER :','$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
LEA DX,MESS1
MOV AH,09H
INT 21H
CALL READ
MOV BX,DX
MOV BX,0000H
MOV CH,10H
N1: SHL DX,01H
RCR BX,01H
DEC CH
JNZ N1
CALL DISP
MOV AH,4CH
INT 21H
READ PROC NEAR
PUBLIC READ
MOV CH,02H
R3:MOV AH,01H
INT 21H
MOV CL,04H
MOV DL,AL
SUB DL,30H
CMP DL,0AH
JC R1
SUB DL,07H
R1:SHL DL,CL
MOV AH,01H
INT 21H
SUB AL,30H
CMP AL,0AH
JC R2
SUB AL,07H
R2: AND AL,0FH
OR DL,AL
DEC CH
JZ R4
MOV DH,DL
JMP R3
R4: RET
READ ENDP
DISP PROC NEAR
90 | P a g e
Prepared By DcVargas
Computer Studies Department
PUBLIC DISP
LEA DX,MESS2
MOV AH,09H
INT 21H
MOV CH,02H
L3:MOV CL,04H
MOV DL,BH
SHR DL,CL
CMP DL,0AH
JC L1
ADD DL,07H
L1: ADD DL,30H
MOV AH,06H
INT 21H
AND BH,0FH
CMP BH,0AH
JC L2
ADD BH,07H
L2:ADD BH,30H
MOV DL,BH
MOV AH,06H
INT 21H
DEC CH
JZ L4
MOV BH,BL
JMP L3
L4:RET
DISP ENDP
CODE ENDS
END START
OUTPUT:
ENTER THE NUMBER: F4C9
REVERSE OF THE GIVEN WORD:932F
91 | P a g e
Prepared By DcVargas
Computer Studies Department
40.REVERSAL OF AN ARRAY
DATA SEGMENT
MESS1 DB 0AH,0DH,'ENTER LIMIT :''$'
MESS2 DB 0AH,0DH,'ENTER THE ARRAY ELEMENTS :''$'
MESS3 DB 0AH,0DH,'REVERSE OF THE STRING :''$'
NUM DB 10 DUP (0)
RNUM DB 10 DUP (0)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
LEA DX,MESS1
MOV AH,09H
INT 21H
CALL READ
MOV CH,DL
LEA DX,MESS2
MOV AH,09H
INT 21H
MOV DH,CH
LEA BX,NUM
L1:CALL READ
MOV [BX],DL
INC BX
DEC DH
JNZ L1
LEA SI,RNUM
LEA BX,NUM
MOV DL,CH
MOV DH,00H
ADD BX,DX
MOV DH,CH
L2:DEC BX
MOV DL,[BX]
MOV [SI],DL
DEC DH
JZ NEXT
INC SI
JMP L2
NEXT:CALL DISP
MOV AH,4CH
INT 21H
92 | P a g e
Prepared By DcVargas
Computer Studies Department
JC R1
SUB DL,07H
R1:SHL DL,CL
MOV AH,01H
INT 21H
SUB AL,30H
CMP AL,0AH
JC R2
SUB AL,07H
AND AL,0FH
R2: OR DL,AL
RET
READ ENDP
LEA DX,MESS3
MOV AH,09H
INT 21H
LEA SI,RNUM
MOV CL,04H
M3:MOV DL,','
MOV AH,06H
INT 21H
MOV bL,[SI]
MOV DL,BL
SHR DL,CL
CMP DL,0AH
JC M1
ADD DL,07H
M1:ADD DL,30H
MOV AH,06H
INT 21H
AND BL,0FH
CMP BL,0AH
JC M2
ADD BL,07H
M2:ADD BL,30H
MOV DL,BL
MOV AH,06H
INT 21H
DEC CH
JZ M4
INC SI
JMP M3
M4: RET
DISP ENDP
CODE ENDS
END START
OUTPUT
ENTER THE LIMIT OF AN ARRAY:05
ENTER THE ARRAY ELEMENTS:12,4C,DB,D5
REVERSE OF THE GIVEN ARRAY:D5,DB,4C,12
93 | P a g e
Prepared By DcVargas
Computer Studies Department
94 | P a g e
Prepared By DcVargas
Computer Studies Department
95 | P a g e
Prepared By DcVargas
Computer Studies Department
INTERFACING PROGRAMS
CONFIGURATION
PORT A OUTPUT
PORT B OUTPUT
PORT C LOW OUTPUT
PORT C UP OUTPUT
ADDRESSES
CONTROL WORD
For 8255, Port A and B are used as output ports. The control word format of 8255 according to
hardware connections is:
96 | P a g e
Prepared By DcVargas
Computer Studies Department
97 | P a g e
Prepared By DcVargas
Computer Studies Department
CONFIGURATION
BINARY COUNTER,
MODE 3, R/W LSB FIRST THEN MSB
COUNTER 0
ADDRESSES
COUNTER 0---À 0D888
COUNTER 1---À 0D889
COUNTER 2---À 0D88A
CONTROL REGISTER ---À 0D88B
CONTROL WORD IS 36H
D7 D6 D5 D4 D3 D2 D1 D0
0 0 1 1 0 1 1 0
3 6
98 | P a g e
Prepared By DcVargas
Computer Studies Department
PROGRAM
DATA SEGMENT
MESS DB 'ENTER THE FREQUENCY IN KHZ (01-65KHZ):','$'
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
START: MOV AX, DATA
MOV DS, AX
LEA DX, MESS
MOV AH, 09H
INT 21H
CALL READ
XOR AH, AH
MOV BX, 03E8H
MUL BX
MOV BX, AX
MOV DX, 001FH
MOV AX, 3E0CH
DIV BX
MOV BX, AX
MOV AL, 36H
MOV DX, 0D88BH
OUT DX, AL
MOV DX, 0D888H
MOV AL, BL
OUT DX, AL
MOV AL, BH
OUT DX, AL
MOV AH,4CH
INT 21H
CODE ENDS
END START
99 | P a g e
Prepared By DcVargas
Computer Studies Department
CONFIGURATION:
PORT A ----> OUTPUT, ADDRESS IS 0D880
PORT B ----> OUTPUT ADDRESS IS 0D881
PORT C LOW ---> OUTPUT ADDRESS IS D882
PORT C HIGH--> OUPTUT ADDRESS IS 0D882
CONTROL PORT ADDRESS IS 0D883S
CONTROL WORD IS 80
D7 D6 D5 D4 D3 D2 D1 D0
1 0 0 0 0 0 0 0
8 0
PROGRAM :
DATA SEGMENT
MESS1 DB 0AH,0DH,' *****************************',0AH,0DH
DB ' 1) SQUARE WAVE',0AH,0DH
DB ' 2) TRIANGULAR WAVE', 0AH,0DH
DB ' 3) STAIRCASE WAVE',0AH,0DH
DB ' 4) SAWTOOTH WAVE',0AH,0DH
DB ' 5) SINE WAVE',0AH,0DH
DB ' ******************************************'
DB 0AH,0DH, ' ENTER THE CHOICE :','$'
MESS2 DB 0AH,0DH,'INVALID CHOICE','$'
SINTT DB 00H,00H,00H,00H,01H,02H,03H,04H,05H,06H,08H,09H,0BH,0DH,0FH
DB 11H,13H,16H,18H,1BH,1EH,21H,24H,27H,2AH,2EH,31H,34H,38H,3CH
DB 40H,44H,47H,4BH,50H,54H,58H,5CH,61H,65H,69H,6EH,72H,77H,7BH
DB 7FH,81H,88H,8DH,91H,96H,9AH,9EH,0A3H,0A7H,0ABH,0AFH,0B3H,0B7H
DB 0BBH,0BFH,0C3H,0C7H,0CAH,0CEH,0D1H,0D4H,0D8H,0DBH,0DEH,0E1H
DB 0E4H,0E7H,0E9H,0EBH,0EEH,0F2H,0F4H,0F6H,0F7H,0F9H,0FAH
DB 0FBH,0FCH,0FDH,0FEH,0FFH,0FFH,0FFH
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
100 | P a g e
Prepared By DcVargas
Computer Studies Department
101 | P a g e
Prepared By DcVargas
Computer Studies Department
102 | P a g e
Prepared By DcVargas
Computer Studies Department
CONFIGURATION:
PORT A ----> OUTPUT, ADDRESS IS 0D880
PORT B ----> OUTPUT ADDRESS IS 0D881
PORT C LOW ---> OUTPUT ADDRESS IS D882
PORT C HIGH--> OUPTUT ADDRESS IS 0D882
CONTROL PORT ADDRESS IS 0D883
CONTROL WORD IS 80
D7 D6 D5 D4 D3 D2 D1 D0
1 0 0 0 0 0 1 0
8 2
DATA SEGMENT
NANDTT DB 0FH,0FH,0FH,00H
ANDTT DB 00H,00H,00H,0FH
ORTT DB 00H,0FH,0FH,0FH
XORTT DB 00H,0FH,0FH,00H
MESS1 DB 0AH,0DH,'ENTER THE IC NUMBER (7400/7408/7432/7486):','$'
MESS2 DB 0AH,0DH,'IC IS GOOD.','$'
MESS3 DB 0AH,0DH,'IC IS BAD.','$'
MESS4 DB 0AH,0DH,'IC IS NOT MATCHING.','$'
DATA ENDS
103 | P a g e
Prepared By DcVargas
Computer Studies Department
104 | P a g e
Prepared By DcVargas