Problem – Write an assembly program which determine the subtraction of contents of port B from port A and store the result in port C by interfacing 8255 with 8085 microprocessor.
Example –
Algorithm –
- Construct the control word register
- Input the data from port A and port B
- Subtract the contents of port A and port B
- Display the result in port C
- Halt the program
Program –
MNEMONICS | COMMENTS |
---|---|
MVI A, 92 | A <- 92 |
OUT 83 | Control Register <- A |
IN 81 | A <- Port B |
MOV B, A | B <- A |
IN 80 | A <- Port A |
SUB B | A <- A – B |
OUT 82 | Port C <- A |
RET | Return |
Explanation –
- MVI A, 92: means that the value of control register is 92.
D7=1 I/O mode D6=0 & D5=0 Port A is in mode 0 D4=1 Port A is taking input D3=0 & D0=0 Port C is not taking part D2=0 Port B is in mode 0 D1=1 Port B is taking input
- OUT 83: putting the value of A in 83H which is the port number of port control register.
- IN 81: take input from 81H which is the port number of port B.
- MOV B, A: copies the content of A register to B register.
- IN 80: taking input from 80H which is the port number of port A.
- SUB B: subtract the contents of A register and B register.
- OUT 82: display the result in 81H which is the port number of port C.
- RET: return
leave a comment
0 Comments