Examining the CY flag and the stack
OBJECTIVES:
- To examine the flag bits of the PSW.
- To examine the stack.
ACTIVITY 1
Write and assemble a program to add the following data and then use the simulator to examine the CY flag.
92H, 23H, 66H, 87H, F5H
ACTIVITY 2
Write and assemble a program to load values into each of registers R0 - R4 and then push each of these registers onto the stack. Single-step the program, and examine the stack and the SP register after the execution of each instruction.
ACTIVITY 3
Write and assemble a program to:
(a) Set SP = 0D,
(b) Put a different value in each of RAM locations 0D, 0C, 0B, 0A, 09, and 08,
(c) POP each stack location into registers R0 - R4.
Use the simulator to single-step and examine the registers, the stack, and the stack pointer.
1. Find the value of the CY flag after the execution of the following code.
(a) MOV A,#85H
ADD A,#92H
(b) MOV A,#15H
ADD A,#72H
(c) MOV A,#0F5H
ADD A,#52H
(d) MOV A,#0FF
INC A
2. Upon reset, what is the value in the SP register?
3. Upon pushing data onto the stack, the SP register is _____________ (decremented, incremented).
4. Upon popping data from the stack, the SP register is ___________ (decremented, incremented).
5. Can you change the value of the SP register? If yes, explain why you would want. A SP is a small register that stores the addresses of the program request in a stack, which stores data from the top down. The most recently request always takes from the top.
6. The stack uses the same area of RAM as bank __4____.