beautypg.com

Zilog EZ80F916 User Manual

Page 30

background image

eZ80

®

CPU

User Manual

UM007715-0415

Memory Mode Switching

21

Suffix Example 2: LD HL, Mmn in ADL Mode
Suffix Example 2 considers the same examples as in Suffix Example 1. However, for this

example, it is assumed that the part begins in ADL mode.

.ASSUME ADL

=

1

;ADL mode operation is default.

LD HL, 3456h

;HL[23:0]

003456h.

;3456h is valid 24-bit value.;Leading 0s are

assumed.

LD HL, 123456h

;HL[23:0]

123456h.

LD.SIS HL, 3456h

;HL[23:0]

{00h, 3456h}.

;.IS directs the eZ80 to fetch

;only 16 bits of data.

;.S forces upper byte of the HL

;register to an undefined state.

LD.LIL HL, 123456h

;Same as LD HL, 123456h, because

;ADL

=

1. HL[23:0]

123456h.

;.IL directs eZ80 to fetch 24

;bits of data.

;.L uses all 3 bytes of HL

;register.

LD.LIS HL, 3456h

;HL[23:0]

{00h, 3456h}.

;.IS directs eZ80 to fetch only

;16 bits of data.

;.L uses all 3 bytes of HL

;register.

LD.SIL HL, 123456h

;HL[23:0]

{00h, 3456h}.

;.IL directs eZ80 to fetch 24 bits

;of data.

.S forces upper byte of HL

;register to an undefined state.

From these two suffix examples, it can be seen that with the extensions applied, operation

is consistent regardless of the persistent memory mode in operation at the time. To

explain, a LD.LIS instruction operates in the same manner whether or not the CPU is cur-

rently operating in

Z80

mode or ADL mode. The same is also true for the LD.SIS,

LD.SIL

, and LD.LIL instructions.

Suffix Example 3: Risks with Using the .SIL Suffix
As Suffix Examples 1 and 2 demonstrate, special care must be taken when using the .SIL

suffix. Wherever possible, the .SIL suffix should be avoided whenever both segments of

the suffix (.S and .IL) are relevant. The .IL segment of the suffix indicates a long direct

memory address or immediate data in the instruction stream and the CPU reads the 24-bit

value. Because the .S is active, the internal registers are treated as 16-bit registers and the

upper bits (23–16) that were read from the instruction are discarded (replaced with

00h

).

Additionally, all memory WRITEs use Z80 mode employing MBASE. Therefore, the

upper byte of a 24-bit memory WRITE address is replaced by MBASE.

This manual is related to the following products: