CHAPTER 4: INSTRUCTION SET

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CALZ imm8

 

 

Call subroutine at location imm8

 

 

 

1 cycle

Function: ([(SP1-1)*4+3]~[(SP1-1)*4])

PC + 1, SP1 ←

SP1 - 1, PC ←

imm8

 

Saves the address next to this instruction to the stack as a return address, then unconditionally

 

calls the subroutine started from the address (0000H–00FFH) specified with the imm8.

Code:

Mnemonic

MSB

 

 

 

 

 

 

 

 

 

 

LSB

 

CALZ

imm8

 

0

 

0

0

 

1

1

i7

i6

 

i5

i4

i3

i2

i1

i0

0300H–03FFH

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Flags:

E

I

 

C

 

Z

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Mode:

Immediate data

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Extended addressing: Invalid

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CLR [addr6],imm2 Clear bit imm2 in location [addr6]

2 cycles

Function: [addr6] ← [addr6] ∧ not (2imm2)

 

(addr6 = 0000H–003FH or FFC0H–FFFFH)

 

Clears the bit specified with the imm2 in the data memory specified with the addr6 to "0".

Code:

Mnemonic

 

MSB

 

 

 

 

 

 

 

 

 

 

LSB

 

 

CLR [00addr6],imm2

 

1

 

0

1

0

0

i1

i0

a5

a4

a3

a2

a1

a0

1400H–14FFH

 

CLR [FFaddr6],imm2

1

 

0

1

0

1

i1

i0

a5

a4

a3

a2

a1

a0

1500H–15FFH

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Flags:

E

 

I

C

 

 

Z

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Mode:

Src:

Immediate data

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Dst:

6-bit absolute

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Extended addressing: Invalid

S1C63000 CORE CPU MANUAL

EPSON

83