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.
- 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
|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|
- 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