Académique Documents
Professionnel Documents
Culture Documents
SYSTEMS
LAB REPORT
Input:04 05
Output: 09
Input:03 08
Output: 05
Input:03 02
Output: 06
MVI B,08H
MVI C,06H
MOV A,C
MOV C,B
MOV B,A
HLT
Input:08 06
Output:06 08
LDA 2500
MOV B,A
LDA 2501
STA 2500
MOV A,B
STA 2501
HLT
Input:
2500 : 06
2501 : 04
Output:
2500 : 04
2501 : 06
Lab-2 Programs
1. Write an assembly language program for 8-bits 1’s and 2’s complement.
LDA 2000H
CMA
STA 2001H
INR A
STA 2002H
HLT
Input:
2000 : 55H
Output:
2001: AAH
2002: ABH
Input-
2500H:32 (BCD no. 1 in decimal)
2501H:77 (BCD no.2 in decimal)
Output-
2502:01(Lower Byte)
2503H:09(Upper Byte)
Input:
4000 : 15H
4001 : 1CH
4002 : B7H
4003 : 5AH
Output:
4004 : CCH
4005 : 76H
Output:
The light indicator beeps by 1 sec interval
0 1 2 3 4 5 6 7 8 9 10 1 2 3 ...
Lab-4 Programs
1. Traffic Signal controller-
1-Green D0 15 seconds
2-Yellow D2 5 seconds
3-Red D4 20 seconds
4-Walk D6 15 seconds
5-Don’t Walk D7 25 seconds
LXI SP,1099
START: MVI A,41H
OUT 01H
MVI B,0FH
CALL DELAY
MVI A,84H
OUT 02H
MVI B,05H
CALL DELAY
MVI A,90H
OUT 03H
MVI B,14H
CALL DELAY
JMP START
DELAY: PUSH D
PUSH PSW
SECOND: LXI D,2020H
LOOP: DCX D
MOV A,D
ORA E
JNZ LOOP
DCR B
JNZ SECOND
POP PSW
POP D
RET
2. Write a program to count continuously in binary with one second delay between each count.
Service routine at XX70H to flash FFH five times when the interrupt occurs with some appropriate
delay between flash.
Main Program:
Interrupt instruction: EF
At 0028H JMP xx70H
Service routine:
Input: Output:
0500: 01 0508 : 0A 0508 : 0B
0501: 02 0509 : 0B 0509 : 0D
0502: 03 050A : 0C 050A : 0F
0503: 04 050B : 0E 050B : 12
0504: 05 050C : 0F 050C : 14
0505: 06 050D : 10 050D: 16
0506: 07 050E : 11 050E : 18
0507: 08 050F : 12 050F : 1A
2. To find the maximum no. in a given string (16 Bytes long) and store it in location 0510.
MOV SI,0500
MOV CX,0010
MOV AH,00
CMP AH,[SI]
JNB 040E
MOV AH,[SI]
INC SI
LOOPNE 0408
MOV [SI],AH
HLT
Input:
0500 : 01 0508 : 12
0501 : 02 0509 : 08
0502 : 03 050A : 09
0503 : 04 050B : 0A
0504 : 05 050C : 0B
0505 : 06 050D : 0E
0506 : 15 050E : 0C
0507 : 07 050F : 0D
Output:
0510 : 15
3. To sort a string of a no. of bytes in descending order:
MOV SI,0500
MOV BX,[SI]
DEC BX
MOV CX,[SI]
DEC CX
MOV SI,0502
MOV AL,[SI]
INC SI
CMP AL,[SI]
JNB 0419
XCHG [SI],AL
DEC SI
MOV [SI],AL
INC SI
LOOP 040C
DEC BX
MOV SI,0500
JNE 0406
HLT
Input: Output:
0500: 05 0500: 28
0501: 00 0501: 25
0502: 20 0502 :20
0503: 25 0503 :15
0504: 28 0504 :07
0505: 15 0505 :05
0506: 07 0506 : 00
4. ASCII MULTIPLICATION: To multiply an ASCII string of eight numbers by a single ASCII digit.
The result is a string of unpacked BCD digits.
MOV SI,0500
MOV DI,0508
MOV DL,34
MOV CX,0008
MOV BYTE[DI],00
AND DL,0F
MOV AL, [SI]
INC SI
AND AL,0F
MUL DL
AAM
ADD AL,[DI]
AAA
MOV [DI],AL
INC DI
MOV [DI],AH
DEC CX
HLT
Input: Output:
0508 : 0A 0508 : 0B
0509 : 0B 0509 : 0D
050A : 0C 050A : 0F
050B : 0E 050B :12
050C :14
050C : 0F
050D : 16
050D :10 050E : 18
050E : 11 050F :1A
050F : 12
5. To multiply a string (ASCII Digits), of eight numbers starting at location 0500 H, by a single
8-bit 34 H. Then, store the result in the location starting at 0508 H.
MOV SI,0500
MOV DI,0508
MOV DL,34
MOV CX,0008
MOV BYTE[DI],00
AND DL,0F
MOV AL,[SI]
INC SI
AND AL,0F
MUL DL
AAM
ADD AL,[DI]
AAA
MOV [DI],AL
INC DI
MOV [DI],AH
DEC CX
JNE 0411
HLT
Input Output
0500: 31 0508 : 04
0501: 32 0509 : 08
0502: 33 050A : 02
0503: 34 050B : 07
0504: 35 050C : 01
0505: 36 050D : 06
0506: 31 050E : 06
0507: 32 050F : 08
6. Sixteen bytes data are stored in memory locations at XX50H to XX5FH.Transfer thirteen
block of data to new memory locations starting at XX70H.
MOV CX, 16
MOV SI, 1450
MOV DI, 1570
LODSB
MOV [DI], AL
INC DI
DEC CL
JNC Loop
INT 3
Input- Output-
1450 : 01 1570 : 01
1451 : 02 1571 : 02
1452 : 03 1572 : 03
1453 : 04 1573 : 04
1454 : 05 1574 : 05
1455 : 06 1575 : 06
1456 : 07 1576 : 07
1457 : 08 1577 : 08
1458 : 09 1578 : 09
1459 : 0A 1579 : 0A
145A : 0B 158A : 0B
145B : 0C 158B : 0C
145C : 0D 158C : 0D
145D : 0E 158D : 0E
145E : 0F 158E : 0F
145F : 10 158F : 10