beautypg.com

Zilog Z8F0130 User Manual

Page 123

background image

eZ8

CPU Core

User Manual

UM012820-0810

BTJNZ Instruction

108

causes a Program Counter jump to occur because bit 5 of Working Regis-
ter R7 passes the test for a 1. The next instruction executed after the
BTJNZ is the LD instruction. The eZ8 CPU assembler automatically cal-
culates the appropriate displacement value of

01h

, allowing the Program

Counter to skip the one byte HALT instruction and jump to the NEXT
label that identifies the LD instruction address. The flags are unaffected.

If Working Register R7 contains the value

A5h

, and register

A5h

contains

the value

20h

(

00100000b

), the BTJNZ instruction that begins the fol-

lowing code segment:

It does not cause a Program Counter jump to occur because bit 3 of Regis-
ter

A5h

fails the test for a 1. The next instruction executed after the

BTJNZ is the HALT instruction. The flags are unaffected.

Assembly Code

Object Code

BTJNZ 5, r7, NEXT F6 D7 01

HALT

7F

NEXT:

This label is not assembled, but used by the
assembler to identify the destination address (the
address of the next instruction).

LD r0, @r2

E3 02

Assembly Code

Object Code

BTJNZ 3, @r7, NEXT

F7 B7 01

HALT

7F

NEXT:

This label is not assembled, but used by the
assembler to identify the destination address
(the address of the next instruction).

LD r0, @r2

E3 02