34 lines
933 B
Plaintext
34 lines
933 B
Plaintext
Days_Of_The_Week:
|
|
DC.L Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday
|
|
|
|
Sunday:
|
|
DC.B "Sunday",0
|
|
EVEN ;conditionally aligns to a 2-byte boundary if the data isn't aligned already
|
|
Monday:
|
|
DC.B "Monday",0
|
|
EVEN
|
|
Tuesday:
|
|
DC.B "Tuesday",0
|
|
EVEN
|
|
Wednesday:
|
|
DC.B "Wednesday",0
|
|
EVEN
|
|
Thursday:
|
|
DC.B "Thursday",0
|
|
EVEN
|
|
Friday:
|
|
DC.B "Friday",0
|
|
EVEN
|
|
Saturday:
|
|
DC.B "Saturday",0
|
|
EVEN
|
|
|
|
;In this example, load Thursday.
|
|
|
|
LEA Days_Of_The_Week,A0 ;load base address of table into A0
|
|
MOVE.W #4,D0 ;Thursday's index
|
|
LSL.W #2,D0 ;multiply by 4 since each pointer is 32-bit
|
|
LEA (A0,D0),A1 ;load table offset by D0 into A1
|
|
MOVE.L (A1),A1 ;dereference the pointer, now the address of "Thursday" is in A1.
|
|
MOVE.B (A1)+,D1 ;Load the "T" of Thursday into D1, auto-increment to next letter for the next load.
|