a:			equ		7
b:			equ		0
c:			equ		1
d:			equ		2
e:			equ		3
h:			equ		4
l:			equ		5
m:			equ		6
psw:		equ		6
sp:			equ		6
mod			sopd	045o			;mod '%'
shl			sopd	074o			;shift left '<'
shr			sopd	076o			;shift right '>'
not			sopd	041o			;bit by bit negate '!'
and			sopd	046o			;and '&'
or 			sopd	0174o			;or '|'
xor			sopd	0136o			;exclusive or '^'
mov:		opd		40h,1			; move
sphl:		opd		0f9h,0			; move hl to sp
mvi:		opd		06h,6			; move immediate
lxi:		opd		01h,5			; load register pair immediate
lda:		opd		03ah,7			; load accumulator direct
sta:		opd		032h,7			; store acumulator direct
lhld:		opd		02ah,7			; load h and l direct
shld:		opd		022h,7			; store h and l direct
ldax:		opd		00ah,2			; load accumulator direct
stax:		opd		002h,2			; store accumulator direct
xchg:		opd		0ebh,0			; exchange h and l with d and e
add:		opd		080h,3			; add
adi:		opd		0c6h,8			; add immediate
adc:		opd		088h,3			; add with carry
aci:		opd		0ceh,8			; add with carry immediate
sub:		opd		090h,3			; subtract
sui:		opd		0d6h,8			; subtract immediate
sbb:		opd		098h,3			; subtract with borrow
sbi:		opd		0deh,8			; subtract with borrow immedate
inr:		opd		004h,1			; increment
dcr:		opd		005h,1			; decrement
inx:		opd		003h,4			; increment register pair
dcx:		opd		00bh,4			; decrement register pair
dad:		opd		009h,4			; add register pair to h and l
daa:		opd		027h,0			; decimal adjust accumulator
ana:		opd		0a0h,3			; and
ani:		opd		0e6h,8			; and immediate
xra:		opd		0a8h,3			; exclusive or
xri:		opd		0eeh,8			; exclusive or immediate
ora:		opd		0b0h,3			; or
ori:		opd		0f6h,8			; or immediate
cmp:		opd		0b8h,3			; compare
cpi:		opd		0feh,8			; compare immediate
rlc:		opd		007h,0			; rotate left
rrc:		opd		00fh,0			; rotate right
ral:		opd		017h,0			; rotate left through carry
rar:		opd		01fh,0			; rotate right through carry
cma:		opd		02fh,0			; complement accumulator
cmc:		opd		03fh,0			; complement carry
stc:		opd		037h,0			; set carry
jmp:		opd		0c3h,7			; jump
jc:			opd		0dah,7			; jump carry set
jz:			opd		0cah,7			; jump on zero
jm:			opd		0fah,7			; jump on minus
jpe:		opd		0eah,7			; jump on parity even
jnc:		opd		0d2h,7			; jump on no carry
jnz:		opd		0c2h,7			; jump on not zero
jp:			opd		0f2h,7			; jump on plus
jpo:		opd		0e2h,7			; jump on parity odd
call:		opd		0cdh,7			; subroutine call
cc:			opd		0dch,7			; call on carry set
cz:			opd		0cch,7			; call on zero
cm:			opd		0fch,7			; call on minus
cpe:		opd		0dch,7			; call on parity even
cnc:		opd		0d4h,7			; call on no carry
cnz:		opd		0c4h,7			; call on not zero
cp:			opd		0f4h,7			; call on plus
cpo:		opd		0e4h,7			; call on parity odd
ret:		opd		0c9h,0			; return
rc:			opd		0d8h,0			; return on carry set
rz:			opd		0c8h,0			; return on zero
rm:			opd		0f8h,0			; return on minus
rpe:		opd		0e8h,0			; return on parity even
rnc:		opd		0d0h,0			; return on no carry
rnz:		opd		0c0h,0			; return on not zero
rp:			opd		0f0h,0			; return on plus
rpo:		opd		0e0h,0			; return on parity odd
rst:		opd		0c7h,1			; restart
pchl:		opd		0e9h,0			; jump h and l indirect
push:		opd		0c5h,4			; push on stack
pop:		opd		0c1h,4			; pop from stack
xthl:		opd		0e3h,0			; exchange stack top with h and l
in:			opd		0dbh,8			; input
out:		opd		0d3h,8			; output
ei:			opd		0fbh,0			; enable interrupt
di:			opd		0f3h,0			; dsable interrupt
hlt:		opd		076h,0			; halt
nop:		opd		000h,0			; no op
		end
