James Moxham
James Moxham
By James Moxham
*****************************************************************
LD A,6
LD H,A
LD A,255 gives
LD A,0FFH
LD A,11111111B
Two other bases are supported, two's complement and direct ascii
characters and are discussed in detail in ch16. The following
instructions all do the same thing.
LD B,073H
LD B,01110011B
LD B,65
LD B,"s"
LD HL,1000 returns
We can alse transfer this data from one double register pair to
another
LD BC,HL gives
http://www.z80.info/z80code.htm 2/38
11/4/2015 Z80 Op Codes for ZINT
LD A,255:LD HL,1000:LD,(HL) A
LD D,(HL)
To see what is in the memory at any one time use the view
memory command.
LD IX,500
Use the view memory command to see where this data is.
LD (500),BC
LD DE,(500)
http://www.z80.info/z80code.htm 3/38
11/4/2015 Z80 Op Codes for ZINT
****************************************************************
http://www.z80.info/z80code.htm 4/38
11/4/2015 Z80 Op Codes for ZINT
Now type in
LD BC,1111H
When you want to swap the registers back again use EXX
The EXX statement is very useful for storing variables you are
working on without having to save them in memory. The equivalent
store to memory for these three registers would take 3 LD
statements.
Other EX commands
EX AF,AF'
swaps the A register and the flags with the corresponding prime
registers. It is commonly used with EXX.
EX DE,HL
EX (SP),HL
EX (SP),IX
EX (SP),IY
http://www.z80.info/z80code.htm 5/38
11/4/2015 Z80 Op Codes for ZINT
Exchange Commands
EXX EX (SP),HL
EX AF,AF' EX (SP),IX
EX DE,HL EX (SP),IY
****************************************************************
POP BC takes the top book and puts it back in the BC register.
If you now view the memory you can see what has happened. The SP
register was used as a pointer as to where the top of the pile of
books was. Thus after PUSH BC, 503H contains 12 or the H
register, and 502 contains 34 or the L register. The SP was 502.
POP BC put 502 into the L register and 503 into the H register,
and added 2 to SP to make 504 again.
In fact the data in 502 and 503 could have been POP ed into
any register. Try the dollowing to confirm this
PUSH BC:POP DE
Because memory locations are used to store data you have to set
where you wnat the stack to be before using PUSH and POP. The
stack was in this case set at 504 but could have been any
location. The instruction LD SP,504 should occur before any PUSH
or POP instructions are used and so usually appears near the
beginning of a program. Most programs would use a maximum of 20
PUSH's before POP's so you need to make sure that about 40 memory
locations below the initial value of the SP are not used. The ORG
instruction is used to reserve this memory.
The PUSH and POP instruction both work on double register pairs
only. Thus for the purposes of this instruction the A register
and the flag register are grouped together as an AF register,
with the F register being the least significant byte. The way the
individual flags are grouped in the F register is discussed in
the chapter on the flags.
http://www.z80.info/z80code.htm 6/38
11/4/2015 Z80 Op Codes for ZINT
PUSH AF POP AF
PUSH BC POP BC
PUSH DE POP DE
PUSH HL POP HL
PUSH IX POP IX
PUSH IY POP IY
******************************************************************
Chapter 4 Arithmetic
The P flag is set when the parity is even, and reset when it is
odd. It is also used by some instructions to signify overflow,
and thus is sometimes written as the P/V flag.
Adding
http://www.z80.info/z80code.htm 7/38
11/4/2015 Z80 Op Codes for ZINT
07 100001 0000 0000 0000 0000 0000 00 000000 0000 0000 0000 0000
The carry flag has been set to indicate that the answer was
greater than 255.
If you now use ADD A,248 then the answer will be 0, and the Z
flag will be set.
16 bit arithmetic
If you want to add numbers that are more than the 0-255 that can
be stored in the A register, then the HL, IX or IY registers can
be used. Thus LD HL,1000H:LD BC,2000H:ADD HL,BC will give
8 bit group
This set of instructions are essentially the same as the ADD set,
but add the carry flag as well. The instruction is ADC instead of
ADD. Thus LD A 4:ADC A 3 would give an answer of 7 if the carry
flag was 0, but an answer of 8 if the carry flag was 1 before the
instruction.
http://www.z80.info/z80code.htm 8/38
11/4/2015 Z80 Op Codes for ZINT
For the 8 bit ADC's using th A register the flags are affected
Subtracting
LD A,6:SUB 2 gives A = 4.
http://www.z80.info/z80code.htm 9/38
11/4/2015 Z80 Op Codes for ZINT
8 bit group
The SBC instruction group is the opposite to the ADC group. The
register or number is subvtracted from the A register, along with
the C flag, and the result stored in the A register. Thus
LD A,7:SBC A,3 gives A=4 if the carry flag was 0 and A=3 if it
was 1 before the SBC.
Compares
LD A,9:CP 9 gives
http://www.z80.info/z80code.htm 10/38
11/4/2015 Z80 Op Codes for ZINT
where for example the zero flag has been set because 9 - 9 is
zero, but the A register still contains the original 9. The set
is
CP A CP B CP C CP D CP E CP H
CP L CP n CP (HL) CP (IX+d) CP (IY+d)
Increment
Decrement
****************************************************************
Jumps
http://www.z80.info/z80code.htm 11/38
11/4/2015 Z80 Op Codes for ZINT
The next type of jump only occurs if the flag condition specified
by the jump is true.
The following are the conditions that can be used with JP.
Relative jumps
DJNZ
http://www.z80.info/z80code.htm 12/38
11/4/2015 Z80 Op Codes for ZINT
Calls
Summary
CALL nn RET nn
CALL NZ,nn RET NZ,nn
CALL Z,nn RET Z,nn
CALL NC,nn RET NC,nn
CALL C,nn RET C,nn
CALL PO,nn RET PO,nn
CALL PE,nn RET PE,nn
CALL P,nn RET P,nn
CALL M,nn RET M,nn
RETI
RETN
**************************************************************
http://www.z80.info/z80code.htm 13/38
11/4/2015 Z80 Op Codes for ZINT
AND 0 0 0
0 1 0
1 0 0
1 1 1
OR 0 0 0
0 1 1
1 0 1
1 1 1
XOR 0 0 0
0 1 1
1 0 1
1 1 0
The flags are also set by the result in the A register, the
details of which are in Ch 17. Note that the AND command affects
the H flag differently to the other two, however all the other
flags are affected the same way.
Instruction set
AND A OR A XOR A
AND B OR B XOR B
AND C OR C XOR C
AND D OR D XOR D
AND E OR E XOR E
AND H OR H XOR H
AND L OR L XOR L
AND n OR n XOR n
******************************************************************
SET
LD C,0:SET 3,C
The following table shows how the bits are numbered in a byte.
01010101
76543210
Bit 7 on the left is the most significant bit and bit 0 on the
right is the least significant. For 16 bit numbers bit 15 is on
the left and bit 0 is on the right.
http://www.z80.info/z80code.htm 14/38
11/4/2015 Z80 Op Codes for ZINT
RES
LD H,11111111B:RES 5,H
BIT
The flags, which indicate the result of the test, are set as
follows.
Summary of instructions
SET 0,A SET 4,A RES 0,A RES 4,A BIT 0,A BIT 4,A
SET 0,B SET 4,B RES 0,B RES 4,B BIT 0,B BIT 4,B
SET 0,C SET 4,C RES 0,C RES 4,C BIT 0,C BIT 4,C
SET 0,D SET 4,D RES 0,D RES 4,D BIT 0,D BIT 4,D
SET 0,E SET 4,E RES 0,E RES 4,E BIT 0,E BIT 4,E
SET 0,H SET 4,H RES 0,H RES 4,H BIT 0,H BIT 4,H
SET 0,L SET 4,L RES 0,L RES 4,L BIT 0,L BIT 4,L
SET 0,(HL) SET 4,(HL) RES 0,(HL) RES 4,(HL) BIT 0,(HL) BIT 4,(HL)
SET 0,(IX+d) SET 4,(IX+d) RES 0,(IX+d) RES 4,(IX+d) BIT 0,(IX+d) BIT 4,(IX+d)
SET 0,(IY+d) SET 4,(IY+d) RES 0,(IY+d) RES 4,(IY+d) BIT 0,(IY+d) BIT 4,(IY+d)
SET 1,A SET 5,A RES 1,A RES 5,A BIT 1,A BIT 5,A
SET 1,B SET 5,B RES 1,B RES 5,B BIT 1,B BIT 5,B
SET 1,C SET 5,C RES 1,C RES 5,C BIT 1,C BIT 5,C
SET 1,D SET 5,D RES 1,D RES 5,D BIT 1,D BIT 5,D
SET 1,E SET 5,E RES 1,E RES 5,E BIT 1,E BIT 5,E
SET 1,H SET 5,H RES 1,H RES 5,H BIT 1,H BIT 5,H
SET 1,L SET 5,L RES 1,L RES 5,L BIT 1,L BIT 5,L
SET 1,(HL) SET 5,(HL) RES 1,(HL) RES 5,(HL) BIT 1,(HL) BIT 5,(HL)
SET 1,(IX+d) SET 5,(IX+d) RES 1,(IX+d) RES 5,(IX+d) BIT 1,(IX+d) BIT 5,(IX+d)
SET 1,(IY+d) SET 5,(IY+d) RES 1,(IY+d) RES 5,(IY+d) BIT 1,(IY+d) BIT 5,(IY+d)
SET 2,A SET 6,A RES 2,A RES 6,A BIT 2,A BIT 6,A
SET 2,B SET 6,B RES 2,B RES 6,B BIT 2,B BIT 6,B
SET 2,C SET 6,C RES 2,C RES 6,C BIT 2,C BIT 6,C
SET 2,D SET 6,D RES 2,D RES 6,D BIT 2,D BIT 6,D
http://www.z80.info/z80code.htm 15/38
11/4/2015 Z80 Op Codes for ZINT
SET 2,E SET 6,E RES 2,E RES 6,E BIT 2,E BIT 6,E
SET 2,H SET 6,H RES 2,H RES 6,H BIT 2,H BIT 6,H
SET 2,L SET 6,L RES 2,L RES 6,L BIT 2,L BIT 6,L
SET 2,(HL) SET 6,(HL) RES 2,(HL) RES 6,(HL) BIT 2,(HL) BIT 6,(HL)
SET 2,(IX+d) SET 6,(IX+d) RES 2,(IX+d) RES 6,(IX+d) BIT 2,(IX+d) BIT 6,(IX+d)
SET 2,(IY+d) SET 6,(IY+d) RES 2,(IY+d) RES 6,(IY+d) BIT 2,(IY+d) BIT 6,(IY+d)
SET 3,A SET 7,A RES 3,A RES 7,A BIT 3,A BIT 7,A
SET 3,B SET 7,B RES 3,B RES 7,B BIT 3,B BIT 7,B
SET 3,C SET 7,C RES 3,C RES 7,C BIT 3,C BIT 7,C
SET 3,D SET 7,D RES 3,D RES 7,D BIT 3,D BIT 7,D
SET 3,E SET 7,E RES 3,E RES 7,E BIT 3,E BIT 7,E
SET 3,H SET 7,H RES 3,H RES 7,H BIT 3,H BIT 7,H
SET 3,L SET 7,L RES 3,L RES 7,L BIT 3,L BIT 7,L
SET 3,(HL) SET 7,(HL) RES 3,(HL) RES 7,(HL) BIT 3,(HL) BIT 7,(HL)
SET 3,(IX+d) SET 7,(IX+d) RES 3,(IX+d) RES 7,(IX+d) BIT 3,(IX+d) BIT 7,(IX+d)
SET 3,(IY+d) SET 7,(IY+d) RES 3,(IY+d) RES 7,(IY+d) BIT 3,(IY+d) BIT 7,(IY+d)
****************************************************************
Rotate group
RLCA
RLCA rotates the A register to the left one place. The 7th bit is
put back into the 0 position. The 7th bit also goes to the carry
flag.
LD A,10011000B:RLCA gives
http://www.z80.info/z80code.htm 16/38
11/4/2015 Z80 Op Codes for ZINT
-------------
RLA
The bits in the register are all rotated left, the 7th bit goes
to the carry flag and the carry flag goes to bit 0.
LD A,1 then
RLA 9 times, looking at the value of A each time will clarify the
operation of this instruction.
Apart from the carry flag, the other flags are set as for RLCA.
RRCA
The register is shifted right by one, and the 0 bit goes to the
carry flag and to the 7th bit. Flags apart from the carry are as
for RLCA.
RRA
The register is shifted right by one, the 0 bit goes to the carry
flag, and the carry flag goes to bit 7. Flags apart from the
carry flag are as for RLCA.
The next set of instructions are similar to the above, but act on
any one of A B C D E H L (HL) (IX+d) or (IY+d). They also affect
the flags differenty.
RLC x
http://www.z80.info/z80code.htm 17/38
11/4/2015 Z80 Op Codes for ZINT
-------------
RL x
The register is rotated left by one, the 7th bit goes to the
carry flag, and the carry flag goes to the 0 bit. Flags apart
from the carry flag are as for RLC. RL works on the same
registers as RLC.
RRC x
The register is rotated right by one, the 0 bit goes to bothe the
carry flag and the 7th bit. Flags apart from the carry flag are
as for RLC. RRC works on the same registers as RLC.
RR x
The register is rotated right by one, the 0 bit goes to the carry
flag and the carry flag goes to the 7th bit.
http://www.z80.info/z80code.htm 18/38
11/4/2015 Z80 Op Codes for ZINT
RLD
The RLD instruction takes groups of four bits and rotates them
as shown symbolically.
----->----- -------->----------
12 ---<--- 34 or 1 2 -----<---- 3 <-- 4
^|
-
A (HL) A (HL)
RLD results in
RRD
---------<--------------
1 2 ------->----- 3 -->-- 4
A (HL)
The instruction does the reverse of RLD. The flags are as for
RLD.
There are three instructions in this group, that can work on the
http://www.z80.info/z80code.htm 19/38
11/4/2015 Z80 Op Codes for ZINT
SLA x
The register is shifted left one place. The 7th bit goes to the
carry flag. The 0 bit has a 0 shifted in.
LD E,1 and then SLA E,9 times will demonstrate this instruction.
SRA x
The bits are all shifted right one. The 0 bit goes to the carry
flag. The 7th bit however stays the same, although the 6th bit
equals the old 7th bit. The flags apart from the carry flag are
as for SLA.
SRL x
The bits are all shifted right one. The 0 bit goes to the carry
flag. The 7th bit is replaced with a 0. Flags are as for SLA.
RLCA RL A RR A SRA A
RLA RL B RR B SRA B
RRCA RL C RR C SRA C
RRA RL D RR D SRA D
RLD RL E RR E SRA E
RRD RL H RR H SRA H
RLC A RL L RR L SRA L
http://www.z80.info/z80code.htm 20/38
11/4/2015 Z80 Op Codes for ZINT
************************************************************
Chapter 9
NOP
NOP:NOP:NOP:END
HALT
DI
LD A,4:DI:LD B,3:EI:END
EI
IM n
SCF
http://www.z80.info/z80code.htm 21/38
11/4/2015 Z80 Op Codes for ZINT
LD A 5:SCF:END gives
The Z, P and S flags are unaffected. The N and H flags are reset
to 0.
CCF
CCF complements the carry flag. If the flag was 1 it is now 0 and
vice versa. The Z P and S flags are unaffected. The N flag is
reset to 0. The H flag may be anything.
NEG
LD A,5:NEG gives
CPL
CPL complements the A register. All 0's become 1's and all 1's
0's. The C, Z P and S flags are all unaffected. The N and H flags
are both set to 1.
DAA
http://www.z80.info/z80code.htm 22/38
11/4/2015 Z80 Op Codes for ZINT
Other examples
0 0 0-9 0 0-9 00 0
0 0 0-8 0 A-F 06 0
0 0 0-9 1 0-3 06 0
0 0 A-F 0 0-9 60 1
0 0 9-F 0 A-F 66 1
0 0 A-F 1 0-3 66 1
0 1 0-2 0 0-9 60 1
0 1 0-2 0 A-F 66 1
0 1 0-3 1 0-3 66 1
1 0 0-9 0 0-9 00 0
1 0 0-8 1 6-F FA 0
1 1 7-F 0 0-9 A0 1
1 1 6-F 1 6-F 9A 1
http://www.z80.info/z80code.htm 23/38
11/4/2015 Z80 Op Codes for ZINT
Four instructions exist in the Z80 instruction set that are used
to transfer blocks of data from one memory location to another.
Another set of four instructions allow searches through a set or
memory locations for a specific byte.
LDI
LDD
LDD is the same as LDI except that the DE and HL registers are
decremented. Thus
(DE) = (HL)
DE = DE - 1
HL = HL - 1
BC = BC - 1
The flags are the same as for LDI. Thus the program above would
be rewritten
LDIR
(DE) = (HL)
DE = DE + 1
HL = HL + 1
BC = BC - 1 and repeats until BC = 0
C, Z and S unchanged
H, N and P = 0
LDDR
http://www.z80.info/z80code.htm 24/38
11/4/2015 Z80 Op Codes for ZINT
(DE) = (HL)
DE = DE - 1
HL = HL - 1
BC = BC - 1 and repeat until BC = 0
The question may be asked; why use LDI when LDIR does the
operation automatically. The reason is that the registers can be
changed when using LDI. For instance you can transfer every
alternate bytethis program transfers every
alternate byte between instructions by inserting say a INC
HL.
oooOOOooo
The next four instructions are concerned with searching for bytes
in a block of data.
CPI
C = no change
Z = 1 if A - (HL) = 0 else 0
P = 1 if BC <> 0 after instruction else 0
S = 1 if sign A - (HL) negative in two's comp, else 0
H = 1 if a half carry from A - (HL)
N=1
CPD
CPIR
CPDR
http://www.z80.info/z80code.htm 25/38
11/4/2015 Z80 Op Codes for ZINT
***************************************************************
The Z80 has several comands that input and output data to the
ports. However many of these are not very useful, and only one
input and one output instruction are used in most Z80 computers.
These are the IN A (n) and OUT (n) A instructions, where n is the
port number between 0 and 255.
Inputs and outputs do nothing on the ZINT interpreter, as
these depend on the actual hardware used.
OTDR INDR
OTIR INIR
OUTD IND
OUTI INI
OUT (C),A IN A,(C)
OUT (C),B IN B,(C)
OUT (C),C IN C,(C)
OUT (C),D IN D,(C)
OUT (C),E IN E,(C)
OUT (C),H IN H,(C)
OUT (C),L IN L,(C)
OUT (n),A IN A,(n)
***************************************************************
The semicolon ;
END
EQU
http://www.z80.info/z80code.htm 26/38
11/4/2015 Z80 Op Codes for ZINT
ORG
ORG is probably best ignored until you are familiar with the
other instructions, as it is not necessary to write simple
programs.
***************************************************************
This chapter explains the number bases that are used by the
interpreter. The appendix contains all the conversions from 0 to
255. For numbers larger than this the BASE command can be used.
The bases to be cavered are binary, hexadecimal and two's
complement.
Binary
Hexadecimal
http://www.z80.info/z80code.htm 27/38
11/4/2015 Z80 Op Codes for ZINT
Two's complement
Other bases
Other bases such as octal are not used by the interpreter. ASCII
symbols may be used providing they are in the range 32 to 127.
They are written in quotes, thus LD A "s" results in A being 73
hex or 115 decimal, which is the ascii value for small s.
*****************************************************************
This chapter discusses the 6 flags used by the Z80, and the
conditions which affect them. The flags are represented in the
register display by the symbols CZPSNH.
http://www.z80.info/z80code.htm 28/38
11/4/2015 Z80 Op Codes for ZINT
RLC x "
RL x "
RRC x "
Rotate and RR x "
shift group SLA x "
SRA x "
SRL x "
RLD "
RRD "
ADD A x "
ADC A x "
SUB x "
8 bit SBC A x "
arithmetic AND x "
group OR x "
XOR x "
CP x "
INC x "
DEC x "
RLC x "
RL x "
RRC x "
Rotate and RR x "
http://www.z80.info/z80code.htm 29/38
11/4/2015 Z80 Op Codes for ZINT
LD A,150:ADD A,200
LD A,100:SUB 210
http://www.z80.info/z80code.htm 30/38
11/4/2015 Z80 Op Codes for ZINT
As the heading suggests this flag has more than one function.
Parity. The parity of a byte is the number of 1's the byte has
when it is represented in binary. 43 decimal in binary is
00101011, which has 4 1's. If the number of 1's is even
(including 0) then the byte has even parity and the P flag is set
to 1. 59 in binary is 00111110 which has 5 1's and thus the P
flag is set to 0. The instructions which use the P flag as a
parity flag are indicated in the table.
Overflow. This is the other major use for the P flag. Most of the
arithmetic instructions use the P flag as an overflow flag, and
this is why the flag is sometimes written as P/V. Overflow occurs
when, during a two's complement addition the result in two's
complement is >127 or <-128. (see the chapter on bases for more
about two's complement). If this error condition occurs the P
flag is set to 1, otherwise it is set to 0.
http://www.z80.info/z80code.htm 31/38
11/4/2015 Z80 Op Codes for ZINT
D 64 + 65 = 129 C=0
TC 64 + 65 = 129 -> -127 P=1 S=1
D 6 + 8 = 14 C=0
TC 6 + 8 = 14 P=0 S=0
http://www.z80.info/z80code.htm 32/38
11/4/2015 Z80 Op Codes for ZINT
These two flags are used for BCD adds and subtracts. The DAA is
the only instruction that uses these two flags, but the flags are
affected by most of the instruction groups. The H flag indicates
a carry from bit 3 in addition, and a borrow from bit 4 in
subtraction. The N flag is 0 after an add and 1 after a subtract.
8 bit LD A I 0 0
load group LD A R 0 0
RLCA 0 0
RLA 0 0
RRCA 0 0
RRA 0 0
RLC x 0 0
RL x 0 0
RRC x 0 0
Rotate and RR x 0 0
shift group SLA x 0 0
SRA x 0 0
SRL x 0 0
http://www.z80.info/z80code.htm 33/38
11/4/2015 Z80 Op Codes for ZINT
RLD x 0 0
RRD x 0 0
/ IN R (C) 0 0
Flag S Z - H - P N C
Binary bit 7 6 5 4 3 2 1 0
****************************************************************
Appendix
1 = value in decimal
2 = value in hexadecimal
3 = value in binary
4 = value in two's complement
5 = ASCII charater if valid
1 2 3 4 5
http://www.z80.info/z80code.htm 34/38
11/4/2015 Z80 Op Codes for ZINT
22 16 00010110 22 CONTROL V
23 17 00010111 23 CONTROL W
24 18 00011000 24 CONTROL X
25 19 00011001 25 CONTROL Y
26 1A 00011010 26 CONTROL Z
27 1B 00011011 27 CONTROL SHIFT K, ESCAPE
28 1C 00011100 28 CONTROL SHIFT L
29 1D 00011101 29 CONTROL SHIFT M
30 1E 00011110 30 CONTROL SHIFT N
31 1F 00011111 31 CONTROL SHIFT O
32 20 00100000 32 SPACE
33 21 00100001 33 !
34 22 00100010 34 "
35 23 00100011 35 #
36 24 00100100 36 $
37 25 00100101 37 %
38 26 00100110 38 &
39 27 00100111 39 '
40 28 00101000 40 (
41 29 00101001 41 )
42 2A 00101010 42 *
43 2B 00101011 43 +
44 2C 00101100 44 ,
45 2D 00101101 45 -
46 2E 00101110 46 .
47 2F 00101111 47 /
48 30 00110000 48 0
49 31 00110001 49 1
50 32 00110010 50 2
51 33 00110011 51 3
52 34 00110100 52 4
53 35 00110101 53 5
54 36 00110110 54 6
55 37 00110111 55 7
56 38 00111000 56 8
57 39 00111001 57 9
58 3A 00111010 58 :
59 3B 00111011 59 ;
60 3C 00111100 60 <
61 3D 00111101 61 =
62 3E 00111110 62 >
63 3F 00111111 63 ?
64 40 01000000 64 @
65 41 01000001 65 A
66 42 01000010 66 B
67 43 01000011 67 C
68 44 01000100 68 D
69 45 01000101 69 E
70 46 01000110 70 F
71 47 01000111 71 G
72 48 01001000 72 H
73 49 01001001 73 I
74 4A 01001010 74 J
75 4B 01001011 75 K
76 4C 01001100 76 L
77 4D 01001101 77 M
78 4E 01001110 78 N
79 4F 01001111 79 O
80 50 01010000 80 P
81 51 01010001 81 Q
http://www.z80.info/z80code.htm 35/38
11/4/2015 Z80 Op Codes for ZINT
82 52 01010010 82 R
83 53 01010011 83 S
84 54 01010100 84 T
85 55 01010101 85 U
86 56 01010110 86 V
87 57 01010111 87 W
88 58 01011000 88 X
89 59 01011001 89 Y
90 5A 01011010 90 Z
91 5B 01011011 91 [
92 5C 01011100 92 \
93 5D 01011101 93 ]
94 5E 01011110 94 ^
95 5F 01011111 95 _
96 60 01100000 96 `
97 61 01100001 97 a
98 62 01100010 98 b
99 63 01100011 99 c
100 64 01100100 100 d
101 65 01100101 101 e
102 66 01100110 102 f
103 67 01100111 103 g
104 68 01101000 104 h
105 69 01101001 105 i
106 6A 01101010 106 j
107 6B 01101011 107 k
108 6C 01101100 108 l
109 6D 01101101 109 m
110 6E 01101110 110 n
111 6F 01101111 111 o
112 70 01110000 112 p
113 71 01110001 113 q
114 72 01110010 114 r
115 73 01110011 115 s
116 74 01110100 116 t
117 75 01110101 117 u
118 76 01110110 118 v
119 77 01110111 119 w
120 78 01111000 120 x
121 79 01111001 121 y
122 7A 01111010 122 z
123 7B 01111011 123 {
124 7C 01111100 124 |
125 7D 01111101 125 }
126 7E 01111110 126 ~
127 7F 01111111 127 DELETE
128 80 10000000 -128
129 81 10000001 -127
130 82 10000010 -126
131 83 10000011 -125
132 84 10000100 -124
133 85 10000101 -123
134 86 10000110 -122
135 87 10000111 -121
136 88 10001000 -120
137 89 10001001 -119
138 8A 10001010 -118
139 8B 10001011 -117
140 8C 10001100 -116
141 8D 10001101 -115
http://www.z80.info/z80code.htm 36/38
11/4/2015 Z80 Op Codes for ZINT
http://www.z80.info/z80code.htm 37/38
11/4/2015 Z80 Op Codes for ZINT
http://www.z80.info/z80code.htm 38/38