Apple II manual Store DOUBLE-BYTE Indirect, Store POP Indirect

Models: II

1 257
Download 257 pages 49.17 Kb
Page 47
Image 47

STORE DOUBLE-BYTE INDIRECT:

STD @Rn

[ 7n ]

The low-order ACC byte is stored into memory location whose address resides in Rn, and Rn is the incremented by 1. The high-order ACC byte is stored into the memory location whose address resides in the incremented Rn, and Rn is again incremented by 1. Branch conditions reflect the ACC contents which are not disturbed. The carry is cleared.

EXAMPLE:

15

34

A0

SET

R5

$A034

;Load pointers

R5, R6

16

22

90

SET

R6

$9022

;with $A034 and $9022

65

 

 

LDD

@R5

 

;Move

double

byte from

76

 

 

STD

@R6

 

;$A034-35 to

$9022-23.

 

 

 

 

 

 

;Both

pointers

incremented by 2.

POP INDIRECT:

POP @Rn

[ 8n ]

The low-order ACC byte is loaded from the memory location whose address resides in Rn after Rn is decremented by 1, and the high order ACC byte is cleared. Branch conditions reflect the final 2-byte ACC contents which will always be positive and never minus one. The carry is cleared. Because Rn is decremented prior to loading the ACC, single byte stacks may be implemented with the ST @Rn and POP @Rn ops (Rn is the stack pointer).

EXAMPLE:

15

34

A0

SET

R5

$A034

;Init stack pointer

10

04

00

SET

R0

4

;Load 4 into ACC

55

 

 

ST

@R5

 

;Push 4 onto stack

10

05

00

SET

R0

5

;Load 5 into ACC

55

 

 

ST

@R5

 

;Push 5 onto stack

10

06

00

SET

R0

6

;Load 6 into ACC

55

 

 

ST

@R5

 

;Push 6 onto stack

85

 

 

POP

@R5

 

;Pop 6

off stack into ACC

85

 

 

POP

@R5

 

;Pop 5

off stack

85

 

 

POP

@R5

 

;Pop 4

off stack

STORE POP INDIRECT:

STP @Rn

[ 9n ]

The low-order ACC byte is stored into the memory location whose address resides in Rn after Rn is decremented by 1. Branch conditions will reflect the 2-byte ACC contents which are not modified. STP @Rn and POP @Rn are used together to move data blocks beginning at the greatest address and working down. Additionally, single-byte stacks may be implemented with the STP @Rn ops.

Page 47
Image 47
Apple II manual Store DOUBLE-BYTE Indirect, Store POP Indirect