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.

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

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site