ORG 2000 Memory address location LDS 3000 Initialize the sta
ORG $2000 ;Memory address location
LDS #$3000 ;Initialize the stack pointer
LDX #$55AA ;load INDEX register X
PSHX ;16-bit operations push register X onto stack
LDX #$6811 ;load INDEX register X
PSHX ;16-bit operations push register X onto stack
LDX #$6CA0 ;load INDEX register X
PSHX ;16-bit operations push register X onto stack
LDX #$1ABC ;load INDEX register X
PSHX ;16-bit operations push register X onto stack
LDX #$5AB3 ;load INDEX register X
PSHX ;16-bit operations push register X onto stack
MD $3000 $3008 ;load INDEX register X
PULX ; Pull data of stack and put in X
SWI ;Initiate software interrupt
This program goes with these questions and I need a little help in figuring them out:
You can use md 2FF0 to see data stored in memory. Why?
Why index register X has been used to load data and not ACCA?
Does the high byte store first or the low byte?
What data index register X will contain at the end of the program?
Solution
1 ) You can use md 2FF0 to see data stored in memory. Why?
Register -:
A special, high-speed storage area within the CPU. All data must be represented in a register before it can be processed.
Ex -: If two numbers are to be multiplied, both numbers must be in registers, and the result is also placed in a register. (The register can contain the address of a memory location where data is stored rather than the actual data itself.)
30(A register ) * 25(B register) = 750(C register)
A register size was decide by the number which is stored inside it.
In here MD is command for load index register X,
therefore we can see the data stored in memory location 2FF0.
3) At the ver first it store only 16 bit then after program go further it will be extend that data store low rate to high rate.
4) What data index register x will contain at the end of the program
16bit + 16bit+ 16bit +16bit + 16bit = 80 bits data stored in it.


