0% found this document useful (0 votes)
20 views3 pages

mid2longqمعالجات

This document contains a main program, subroutine, and memory content example. It then asks several questions about the execution of the code: 1) It asks about the stack pointer value after the first instruction, the stack contents and locations after a CALL instruction, the stack pointer value after a PUSH PSW, and the memory contents after a loop terminates. 2) It provides an interrupt service routine template to push flags, add a value, store the result, pop flags, enable interrupts, and return. 3) It asks to write a program to disable interrupt RST 6.5 only. 4) It asks to write a program to initialize stack pointer, load registers with values,

Uploaded by

fabas2453
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views3 pages

mid2longqمعالجات

This document contains a main program, subroutine, and memory content example. It then asks several questions about the execution of the code: 1) It asks about the stack pointer value after the first instruction, the stack contents and locations after a CALL instruction, the stack pointer value after a PUSH PSW, and the memory contents after a loop terminates. 2) It provides an interrupt service routine template to push flags, add a value, store the result, pop flags, enable interrupts, and return. 3) It asks to write a program to disable interrupt RST 6.5 only. 4) It asks to write a program to initialize stack pointer, load registers with values,

Uploaded by

fabas2453
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Mid2 long questions

11. Consider the following main program, subroutine and memory content.

1000 LXI SP,FFFF 1050 MYSUB: PUSH PSW Memory


1003 LXI H,2000 1051 LOOP: INR M
2000 05
1006 MVI C,05 1052 INX H
2001 0D
1008 CALL MYSUB 1053 DCR C
100B MVI A,00 1054 JNZ LOOP 2002 01
100D HLT 1057 POP PSW 2003 03
1058 RET 2004 11
2005 0B
2006 14
… …

Answer the following questions:


a) What is the content of the Stack Pointer after the execution of the first instruction located
at 1000H? (0.5M)
SP = FFFFH
b) Specify the stack locations (memory address) and their contents after the execution of the
CALL instruction located at 1008 (1 Mark)
Stack

FFFD 0B
FFFE 10

c) Specify the content of the stack pointer after the execution of the instruction PUSH PSW
in the subroutine. (1Mark)
SP = FFFBH
d) Specify the contents of the memory after the termination of the loop. (1Mark)
Memory
2000 06
2001 0E
2002 02
2003 04
2004 12
2005 0B
2006 14
… …
e) Specify the content of the program counter after the execution of the instruction RET in the
subroutine. (0.5 Mark)
PC = 100BH
10. Write an interrupt service routine to perform the following:

 Push the content of accumulator and flags on the stack.


 Add A9H to the accumulator
 Store the result in memory location 1980H.
 Pop the content that was pushed
 Enable the interrupts
 Return to the main program

PUSH PSW (1M)


ADI A9 (0.5M)
STA 1980 (0.5M)
POP PSW (0.5M)
EI (1M)
RET (0.5M)

Q7 Write a program to disable the interrupt RST 6.5 only.

EI
MVI A,0A
SIM

Q8. Write a program to perform the following:

 Initialize Stack pointer to 00FFH.


 Load the Register Pairs B and H with 1987H and 2215H, respectively.
 Exchange the contents using PUSH and POP instructions

LXI SP,00FF
LXI B,1987
LXI H,2215
PUSH B
PUSH H
POP B
POP H
HLT

You might also like