Код:
;==============================================================================
; Z80 opcodes realisation for i8080 r0021
; copypasted\defcknzed by NS
;==============================================================================
; tab = 8 chars для (оформлятельства)
; выдрано из нечта называемого dao_08-10-30 оно же PROGRAM RECOMPILE SYSTEM (v1.15)
; не самой последней версии а самой последней которую удалось найти
;
; переключение 8080\8085 и не документированных опкодов не дало других реализаций команд
;
; полнсостью сверено с макросами ivagor-а последней? версии от 09.11.2000
; ACHTUNG!!!
; некоторые команды ставят\не ставят нужные флаги!
; некоторые команды дают совершенно неправильный результат!!
;------------------------------------------------------------------------------
; обозначения в каментах справа:
;
; mod code самомодифицируемый код
; ERROR команда содержит критические ошибки
;
; DAO команда выдрана из DAO (тоже самое если ничего не указано)
; TASM команда выдрана из макросов для TASM или полностью с ними совпадает
;
; обозначения в каментах снизу:
;
; (TASM) камент позаимствован из макросов для TASM и не проверялся на истинность
; так же закоментированные ;ret снизу обозначают что скорей всего
; команду можно использовать как процедуру вызываемую посредством call
; отсутствие закоментированного ret-а пока ничего не означает
;------------------------------------------------------------------------------
; некоторые оригинальные копирайты взятые из DAO от Tim0xA
; PROGRAM RECOMPILE SYSTEM (v1.15)
; (C) 1995 by FRIENDS Software
; (C) 2008 by TIMSoft (i8080/i8085 rebuild)
; некоторые оригинальные копирайты взятые из макросов ivagor-а
; Набор макросов для перевода z80 (ограниченное подмножество команд) -> i8080
; для ассемблера tasm 3.01 (Table Driven Assembler)
; (С) Иван Городецкий
;------------------------------------------------------------------------------
; 2do
; просматривая менять tmp\tmpb на tmp8 а temp на tmp16
;==============================================================================
;==============================================================================
;собственно дополнительные регистры z80 теперь живут где то в памяти
rAF1 defw $0000
rBC1 defw $0000
rDE1 defw $0000
rHL1 defw $0000
rIX defw $0000
rIY defw $0000
rI defb $00
rR defb $00
TEMP defw $0000 ;word
TMP8
TMP defw $0000 ;byte (перепроверить)
;==============================================================================
;==============================================================================
; 8080 adc a ;adc a ;
; 8080 adc b ;adc b
; 8080 adc c ;adc c
; 8080 adc d ;adc d
; 8080 adc e ;adc e
; 8080 adc h ;adc h
; 8080 adc l ;adc l
;------------------------------------------------------------------------------
: ADC A,ixh
push hl ;push h ; adc A,IXH
ld hl,(rIX) ;lhld rIX ;
adc h ;adc h ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: ADC A,ixl
push hl ;push h ; adc A,IXL
ld hl,(rIX) ;lhld rIX ;
adc l ;adc l ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: ADC A,iyh
push hl ;push h ; adc A,IYH
ld hl,(rIY) ;lhld rIY ;
adc h ;adc h ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: ADC A,iyl
push hl ;push h ; adc A,IYL
ld hl,(rIY) ;lhld rIY ;
adc l ;adc l ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
; 8080 adc $22 ;aci $22
; 8080 adc a,(hl) ;adc m
;------------------------------------------------------------------------------
: ADC A,(IX+d)
push hl ;push h ; adc A,(IX+011h)
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
adc a,(hl) ;adc m ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: ADC A,(IY+d)
push hl ;push h ; adc A,(IY+011h)
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
adc a,(hl) ;adc m ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: ADC HL,BC
ld (TMP),a ;sta TMP ; adc HL,BC
ld a,l ;mov a,l ;
adc c ;adc c ;
ld l,a ;mov l,a ;
ld a,h ;mov a,h ;
adc b ;adc b ;
ld h,a ;mov h,a ;
jp c,$+7 ;jc $+7 ;
or l ;ora l ;
jp $+5 ;jmp $+5 ;
or l ;ora l ;
scf ;stc ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: ADC HL,DE
ld (TMP),a ;sta TMP ; adc HL,DE
ld a,l ;mov a,l ;
adc e ;adc e ;
ld l,a ;mov l,a ;
ld a,h ;mov a,h ;
adc d ;adc d ;
ld h,a ;mov h,a ;
jp c,$+7 ;jc $+7 ;
or l ;ora l ;
jp $+5 ;jmp $+5 ;
or l ;ora l ;
scf ;stc ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: ADC HL,HL
ld (TMP),a ;sta TMP ; adc HL,HL
ld a,l ;mov a,l ;
adc l ;adc l ;
ld l,a ;mov l,a ;
ld a,h ;mov a,h ;
adc h ;adc h ;
ld h,a ;mov h,a ;
jp c,$+7 ;jc $+7 ;
or l ;ora l ;
jp $+5 ;jmp $+5 ;
or l ;ora l ;
scf ;stc ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: ADC HL,SP
ld (TMP),a ;sta TMP ; adc HL,SP
push de ;push d ;
ex de,hl ;xchg ;
ld hl,$0000 ;lxi h,$0000 ;
add hl,sp ;dad sp ;
ex de,hl ;xchg ;
ld a,l ;mov a,l ;
adc e ;adc e ;
ld l,a ;mov l,a ;
ld a,h ;mov a,h ;
adc d ;adc d ;
ld h,a ;mov h,a ;
jp c,$+7 ;jc $+7 ;
or l ;ora l ;
jp $+5 ;jmp $+5 ;
or l ;ora l ;
scf ;stc ;
pop de ;pop de ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
; 8080 add a ;add a
; 8080 add b ;add b
; 8080 add c ;add c
; 8080 add d ;add d
; 8080 add e ;add e
; 8080 add h ;add h
; 8080 add l ;add l
;------------------------------------------------------------------------------
: ADD A,ixh
push hl ;push h ; add A,IXH
ld hl,(rIX) ;lhld rIX ;
add h ;add h ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: ADD A,ixl
push hl ;push h ; add A,IXL
ld hl,(rIX) ;lhld rIX ;
add l ;add l ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: ADD A,iyh
push hl ;push h ; add A,IYH
ld hl,(rIY) ;lhld rIY ;
add h ;add h ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: ADD A,iyl
push hl ;push h ; add A,IYL
ld hl,(rIY) ;lhld rIY ;
add l ;add l ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
; 8080 add $22 ;adi $22
; 8080 add (hl) ;add m
;------------------------------------------------------------------------------
: ADD A,(IX+d)
push hl ;push h ; add A,(IX+011h)
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
add hl,bc ;dad b ;
pop bc ;pop b ;
add (hl) ;add m ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: ADD A,(IY+d)
push hl ;push h ; add A,(IY+011h)
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
add hl,bc ;dad b ;
pop bc ;pop b ;
add (hl) ;add m ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
; 8080 add hl,bc ;dad b
; 8080 add hl,de ;dad d
; 8080 add hl,hl ;dad h
; 8080 add hl,sp ;dad sp
;------------------------------------------------------------------------------
: ADD IX,BC
push hl ;push h ; add rIX,BC
ld hl,(rIX) ;lhld rIX ;
add hl,bc ;dad b ;
ld (rIX),hl ;shld rIX ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: ADD IX,DE
push hl ;push h ; add rIX,DE
ld hl,(rIX) ;lhld rIX ;
add hl,de ;dad d ;
ld (rIX),hl ;shld rIX ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: ADD IX,SP
push hl ;push h ; add rIX,SP
ld hl,(rIX) ;lhld rIX ;
push af ;push psw ;
add hl,sp ;dad sp ;
pop af ;pop psw ;
ld (rIX),hl ;shld rIX ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: ADD IX,IX
push hl ;push h ; add rIX,IX
ld hl,(rIX) ;lhld rIX ;
push af ;push psw ;
add hl,hl ;dad h ;
pop af ;pop psw ;
ld (rIX),hl ;shld rIX ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: ADD IY,BC
push hl ;push h ; add rIY,BC
ld hl,(rIY) ;lhld rIY ;
add hl,bc ;dad b ;
ld (rIY),hl ;shld rIY ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: ADD IY,DE
push hl ;push h ; add rIY,DE
ld hl,(rIY) ;lhld rIY ;
add hl,de ;dad d ;
ld (rIY),hl ;shld rIY ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: ADD IY,SP
push hl ;push h ; add rIY,SP
ld hl,(rIY) ;lhld rIY ;
push af ;push psw ;
add hl,sp ;dad sp ;
pop af ;pop psw ;
ld (rIY),hl ;shld rIY ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: ADD IY,IY
push hl ;push h ; add rIY,IY
ld hl,(rIY) ;lhld rIY ;
push af ;push psw ;
add hl,hl ;dad h ;
pop af ;pop psw ;
ld (rIY),hl ;shld rIY ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
; 8080 and a ;ana a
; 8080 and b ;ana b
; 8080 and c ;ana c
; 8080 and d ;ana d
; 8080 and e ;ana e
; 8080 and h ;ana h
; 8080 and l ;ana l
;------------------------------------------------------------------------------
: AND ixh
push hl ;push h ; and IXH
ld hl,(rIX) ;lhld rIX ;
and h ;ana h ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: AND ixl
push hl ;push h ; and IXL
ld hl,(rIX) ;lhld rIX ;
and l ;ana l ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: AND iyh
push hl ;push h ; and rIYH
ld hl,(rIY) ;lhld rIY ;
and h ;ana h ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: AND iyl
push hl ;push h ; and L
ld hl,(rIY) ;lhld rIY ;
and l ;ana l ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
; 8080 and $22 ;ani $22
; 8080 and (hl) ;ana m
;------------------------------------------------------------------------------
: AND (IX+d)
push hl ;push h ; and (IX+011h)
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
and (hl) ;ana m ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: AND (IY+d)
push hl ;push h ; and (IY+011h)
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
and (hl) ;ana m ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: BIT 0,A
ld (TMP),a ;sta TMP ; bit 0,A
and $01 ;ani $01 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 0,B
ld (TMP),a ;sta TMP ; bit 0,B
ld a,b ;mov a,b ;
and $01 ;ani $01 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 0,C
ld (TMP),a ;sta TMP ; bit 0,C
ld a,c ;mov a,c ;
and $01 ;ani $01 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 0,D
ld (TMP),a ;sta TMP ; bit 0,D
ld a,d ;mov a,d ;
and $01 ;ani $01 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 0,E
ld (TMP),a ;sta TMP ; bit 0,E
ld a,e ;mov a,e ;
and $01 ;ani $01 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 0,H
ld (TMP),a ;sta TMP ; bit 0,H
ld a,h ;mov a,h ;
and $01 ;ani $01 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 0,L
ld (TMP),a ;sta TMP ; bit 0,L
ld a,l ;mov a,l ;
and $01 ;ani $01 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 0,(HL)
ld (TMP),a ;sta TMP ; bit 0,(HL)
ld a,(hl) ;mov a,m ;
and $01 ;ani $01 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 0,(IX+d)
push hl ;push h ; bit 0,(IX+011h)
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld (TMP),a ;sta TMP ;
ld a,(hl) ;mov a,m ;
and $01 ;ani $01 ;
ld a,(TMP) ;lda TMP ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: BIT 0,(IY+d)
push hl ;push h ; bit 0,(IY+011h)
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld (TMP),a ;sta TMP ;
ld a,(hl) ;mov a,m ;
and $01 ;ani $01 ;
ld a,(TMP) ;lda TMP ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: BIT 1,A
ld (TMP),a ;sta TMP ; bit 1,A
and $02 ;ani $02 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 1,B
ld (TMP),a ;sta TMP ; bit 1,B
ld a,b ;mov a,b ;
and $02 ;ani $02 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 1,C
ld (TMP),a ;sta TMP ; bit 1,C
ld a,c ;mov a,c ;
and $02 ;ani $02 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 1,D
ld (TMP),a ;sta TMP ; bit 1,D
ld a,d ;mov a,d ;
and $02 ;ani $02 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 1,E
ld (TMP),a ;sta TMP ; bit 1,E
ld a,e ;mov a,e ;
and $02 ;ani $02 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 1,H
ld (TMP),a ;sta TMP ; bit 1,H
ld a,h ;mov a,h ;
and $02 ;ani $02 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 1,L
ld (TMP),a ;sta TMP ; bit 1,L
ld a,l ;mov a,l ;
and $02 ;ani $02 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 1,(HL)
ld (TMP),a ;sta TMP ; bit 1,(HL)
ld a,(hl) ;mov a,m ;
and $02 ;ani $02 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 1,(IX+d)
push hl ;push h ; bit 1,(IX+011h)
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld (TMP),a ;sta TMP ;
ld a,(hl) ;mov a,m ;
and $02 ;ani $02 ;
ld a,(TMP) ;lda TMP ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: BIT 1,(IY+d)
push hl ;push h ; bit 1,(IY+011h)
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld (TMP),a ;sta TMP ;
ld a,(hl) ;mov a,m ;
and $02 ;ani $02 ;
ld a,(TMP) ;lda TMP ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: BIT 2,A
ld (TMP),a ;sta TMP ; bit 2,A
and $04 ;ani $04 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 2,B
ld (TMP),a ;sta TMP ; bit 2,B
ld a,b ;mov a,b ;
and $04 ;ani $04 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 2,C
ld (TMP),a ;sta TMP ; bit 2,C
ld a,c ;mov a,c ;
and $04 ;ani $04 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 2,D
ld (TMP),a ;sta TMP ; bit 2,D
ld a,d ;mov a,d ;
and $04 ;ani $04 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 2,E
ld (TMP),a ;sta TMP ; bit 2,E
ld a,e ;mov a,e ;
and $04 ;ani $04 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 2,H
ld (TMP),a ;sta TMP ; bit 2,H
ld a,h ;mov a,h ;
and $04 ;ani $04 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 2,L
ld (TMP),a ;sta TMP ; bit 2,L
ld a,l ;mov a,l ;
and $04 ;ani $04 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 2,(HL)
ld (TMP),a ;sta TMP ; bit 2,(HL)
ld a,(hl) ;mov a,m ;
and $04 ;ani $04 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 2,(IX+d)
push hl ;push h ; bit 2,(IX+011h)
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld (TMP),a ;sta TMP ;
ld a,(hl) ;mov a,m ;
and $04 ;ani $04 ;
ld a,(TMP) ;lda TMP ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: BIT 2,(IY+d)
push hl ;push h ; bit 2,(IY+011h)
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld (TMP),a ;sta TMP ;
ld a,(hl) ;mov a,m ;
and $04 ;ani $04 ;
ld a,(TMP) ;lda TMP ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: BIT 3,A
ld (TMP),a ;sta TMP ; bit 3,A
and $08 ;ani $08 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 3,B
ld (TMP),a ;sta TMP ; bit 3,B
ld a,b ;mov a,b ;
and $08 ;ani $08 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 3,C
ld (TMP),a ;sta TMP ; bit 3,C
ld a,c ;mov a,c ;
and $08 ;ani $08 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 3,D
ld (TMP),a ;sta TMP ; bit 3,D
ld a,d ;mov a,d ;
and $08 ;ani $08 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 3,E
ld (TMP),a ;sta TMP ; bit 3,E
ld a,e ;mov a,e ;
and $08 ;ani $08 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 3,H
ld (TMP),a ;sta TMP ; bit 3,H
ld a,h ;mov a,h ;
and $08 ;ani $08 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 3,L
ld (TMP),a ;sta TMP ; bit 3,L
ld a,l ;mov a,l ;
and $08 ;ani $08 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 3,(HL)
ld (TMP),a ;sta TMP ; bit 3,(HL)
ld a,(hl) ;mov a,m ;
and $08 ;ani $08 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 3,(IX+d)
push hl ;push h ; bit 3,(IX+011h)
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld (TMP),a ;sta TMP ;
ld a,(hl) ;mov a,m ;
and $08 ;ani $08 ;
ld a,(TMP) ;lda TMP ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: BIT 3,(IY+d)
push hl ;push h ; bit 3,(IY+011h)
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld (TMP),a ;sta TMP ;
ld a,(hl) ;mov a,m ;
and $08 ;ani $08 ;
ld a,(TMP) ;lda TMP ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: BIT 4,A
ld (TMP),a ;sta TMP ; bit 4,A
and $10 ;ani $10 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 4,B
ld (TMP),a ;sta TMP ; bit 4,B
ld a,b ;mov a,b ;
and $10 ;ani $10 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 4,C
ld (TMP),a ;sta TMP ; bit 4,C
ld a,c ;mov a,c ;
and $10 ;ani $10 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 4,D
ld (TMP),a ;sta TMP ; bit 4,D
ld a,d ;mov a,d ;
and $10 ;ani $10 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 4,E
ld (TMP),a ;sta TMP ; bit 4,E
ld a,e ;mov a,e ;
and $10 ;ani $10 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 4,H
ld (TMP),a ;sta TMP ; bit 4,H
ld a,h ;mov a,h ;
and $10 ;ani $10 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 4,L
ld (TMP),a ;sta TMP ; bit 4,L
ld a,l ;mov a,l ;
and $10 ;ani $10 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 4,(HL)
ld (TMP),a ;sta TMP ; bit 4,(HL)
ld a,(hl) ;mov a,m ;
and $10 ;ani $10 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 4,(IX+d)
push hl ;push h ; bit 4,(IX+011h)
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld (TMP),a ;sta TMP ;
ld a,(hl) ;mov a,m ;
and $10 ;ani $10 ;
ld a,(TMP) ;lda TMP ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: BIT 4,(IY+d)
push hl ;push h ; bit 4,(IY+011h)
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld (TMP),a ;sta TMP ;
ld a,(hl) ;mov a,m ;
and $10 ;ani $10 ;
ld a,(TMP) ;lda TMP ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: BIT 5,A
ld (TMP),a ;sta TMP ; bit 5,A
and $20 ;ani $20 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 5,B
ld (TMP),a ;sta TMP ; bit 5,B
ld a,b ;mov a,b ;
and $20 ;ani $20 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 5,C
ld (TMP),a ;sta TMP ; bit 5,C
ld a,c ;mov a,c ;
and $20 ;ani $20 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 5,D
ld (TMP),a ;sta TMP ; bit 5,D
ld a,d ;mov a,d ;
and $20 ;ani $20 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 5,E
ld (TMP),a ;sta TMP ; bit 5,E
ld a,e ;mov a,e ;
and $20 ;ani $20 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 5,H
ld (TMP),a ;sta TMP ; bit 5,H
ld a,h ;mov a,h ;
and $20 ;ani $20 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 5,L
ld (TMP),a ;sta TMP ; bit 5,L
ld a,l ;mov a,l ;
and $20 ;ani $20 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 5,(HL)
ld (TMP),a ;sta TMP ; bit 5,(HL)
ld a,(hl) ;mov a,m ;
and $20 ;ani $20 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 5,(IX+d)
push hl ;push h ; bit 5,(IX+011h)
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld (TMP),a ;sta TMP ;
ld a,(hl) ;mov a,m ;
and $20 ;ani $20 ;
ld a,(TMP) ;lda TMP ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: BIT 5,(IY+d)
push hl ;push h ; bit 5,(IY+011h)
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld (TMP),a ;sta TMP ;
ld a,(hl) ;mov a,m ;
and $20 ;ani $20 ;
ld a,(TMP) ;lda TMP ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: BIT 6,A
ld (TMP),a ;sta TMP ; bit 6,A
and $40 ;ani $40 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 6,B
ld (TMP),a ;sta TMP ; bit 6,B
ld a,b ;mov a,b ;
and $40 ;ani $40 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 6,C
ld (TMP),a ;sta TMP ; bit 6,C
ld a,c ;mov a,c ;
and $40 ;ani $40 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 6,D
ld (TMP),a ;sta TMP ; bit 6,D
ld a,d ;mov a,d ;
and $40 ;ani $40 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 6,E
ld (TMP),a ;sta TMP ; bit 6,E
ld a,e ;mov a,e ;
and $40 ;ani $40 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 6,H
ld (TMP),a ;sta TMP ; bit 6,H
ld a,h ;mov a,h ;
and $40 ;ani $40 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 6,L
ld (TMP),a ;sta TMP ; bit 6,L
ld a,l ;mov a,l ;
and $40 ;ani $40 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 6,(HL)
ld (TMP),a ;sta TMP ; bit 6,(HL)
ld a,(hl) ;mov a,m ;
and $40 ;ani $40 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 6,(IX+d)
push hl ;push h ; bit 6,(IX+011h)
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld (TMP),a ;sta TMP ;
ld a,(hl) ;mov a,m ;
and $40 ;ani $40 ;
ld a,(TMP) ;lda TMP ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: BIT 6,(IY+d)
push hl ;push h ; bit 6,(IY+011h)
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld (TMP),a ;sta TMP ;
ld a,(hl) ;mov a,m ;
and $40 ;ani $40 ;
ld a,(TMP) ;lda TMP ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: BIT 7,A
ld (TMP),a ;sta TMP ; bit 7,A
and $80 ;ani $80 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 7,B
ld (TMP),a ;sta TMP ; bit 7,B
ld a,b ;mov a,b ;
and $80 ;ani $80 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 7,C
ld (TMP),a ;sta TMP ; bit 7,C
ld a,c ;mov a,c ;
and $80 ;ani $80 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 7,D
ld (TMP),a ;sta TMP ; bit 7,D
ld a,d ;mov a,d ;
and $80 ;ani $80 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 7,E
ld (TMP),a ;sta TMP ; bit 7,E
ld a,e ;mov a,e ;
and $80 ;ani $80 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 7,H
ld (TMP),a ;sta TMP ; bit 7,H
ld a,h ;mov a,h ;
and $80 ;ani $80 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 7,L
ld (TMP),a ;sta TMP ; bit 7,L
ld a,l ;mov a,l ;
and $80 ;ani $80 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 7,(HL)
ld (TMP),a ;sta TMP ; bit 7,(HL)
ld a,(hl) ;mov a,m ;
and $80 ;ani $80 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: BIT 7,(IX+d)
push hl ;push h ; bit 7,(IX+011h)
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld (TMP),a ;sta TMP ;
ld a,(hl) ;mov a,m ;
and $80 ;ani $80 ;
ld a,(TMP) ;lda TMP ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: BIT 7,(IY+d)
push hl ;push h ; bit 7,(IY+011h)
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld (TMP),a ;sta TMP ;
ld a,(hl) ;mov a,m ;
and $80 ;ani $80 ;
ld a,(TMP) ;lda TMP ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
; 8080 call L3333 ;call L3333
; 8080 call c,L3333 ;cc L3333
; 8080 call m,L3333 ;cm L3333
; 8080 call nc,L3333 ;cnc L3333
; 8080 call nz,L3333 ;cnz L3333
; 8080 call p,L3333 ;cp L3333
; 8080 call pe,L3333 ;cpe L3333
; 8080 call po,L3333 ;cpo L3333
; 8080 call z,L3333 ;cz L3333
;------------------------------------------------------------------------------
rst $00 ;rst 0
rst $08 ;rst 1
rst $10 ;rst 2
rst $18 ;rst 3
rst $20 ;rst 4
rst $28 ;rst 5
rst $30 ;rst 6
rst $38 ;rst 7
;------------------------------------------------------------------------------
; 8080 ret ;ret
; 8080 ret c ;rc
; 8080 ret m ;rm
; 8080 ret nc ;rnc
; 8080 ret nz ;rnz
; 8080 ret pe ;rpe
; 8080 ret po ;rpo
; 8080 ret p ;rp
; 8080 ret z ;rz
;------------------------------------------------------------------------------
: RETI
ret ;ret ; reti
: RETN
ret ;ret ; retn
;------------------------------------------------------------------------------
; 8080 ccf ;cmc
; 8080 scf ;stc
; 8080 cpl ;cma
; 8080 daa ;daa
;------------------------------------------------------------------------------
: NEG
cpl ;cma ; neg
add $01 ;adi $01 ; DAO
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
: NEG (TASM Version)
cpl ;cma ;
inc a ;inr a ; TASM
;------------------------------------------------------------------------------
; 8080 nop ;nop
; 8080 cp a ;cmp a
; 8080 cp b ;cmp b
; 8080 cp c ;cmp c
; 8080 cp d ;cmp d
; 8080 cp e ;cmp e
; 8080 cp h ;cmp h
; 8080 cp l ;cmp l
;------------------------------------------------------------------------------
: CP ixh
push hl ;push h ; cp IXH
ld hl,(rIX) ;lhld rIX ;
cp h ;cmp h ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: CP ixl
push hl ;push h ; cp IXL
ld hl,(rIX) ;lhld rIX ;
cp l ;cmp l ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: CP iyh
push hl ;push h ; cp IYH
ld hl,(rIY) ;lhld rIY ;
cp h ;cmp h ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: CP iyl
push hl ;push h ; cp IYL
ld hl,(rIY) ;lhld rIY ;
cp l ;cmp l ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
; 8080 cp $22 ;cpi $22
; 8080 cp (hl) ;cmp m
;------------------------------------------------------------------------------
: CP (IX+d)
push hl ;push h ; cp (IX+011h)
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
cp (hl) ;cmp m ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: CP (IY+d)
push hl ;push h ; cp (IY+011h)
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
cp (hl) ;cmp m ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: CPDR
cp (hl) ;cmp m ; cpdr
jp z,$+21 ;jz $+21 ;
dec hl ;dcx h ;
dec bc ;dcx b ;
ld (TMP8),a ;sta TMP8 ;
ld a,b ;mov a,b ;
or c ;ora c ;
ld a,(TMP8) ;lda TMP8 ;
jp nz,$-14 ;jnz $-14 ;
xor a ;xra a ;
inc a ;inr a ; DAO
ld a,(TMP8) ;lda TMP8 ; TASM
; ret ;ret
; CPDR (TASM)
; - В случае нахождения нужного байта не определено состояние флага четности
; (оно зависит от значения искомого байта, а это не соответствует Z80).
; - Если нужный байт не найден, то флаг знака всегда будет сброшен.
; Это не совсем правильно.
;------------------------------------------------------------------------------
: CPD
cp (hl) ;cmp m ; cpd
dec hl ;dcx h ;
dec bc ;dcx b ;
;------------------------------------------------------------------------------
: CPIR
cp (hl) ;cmp m ; cpir
jp z,$+21 ;jz $+21 ;
inc hl ;inx h ;
dec bc ;dcx b ;
ld (TMP8),a ;sta TMP8 ;
ld a,b ;mov a,b ;
or c ;ora c ;
ld a,(TMP8) ;lda TMP8 ;
jp nz,$-14 ;jnz $-14 ;
xor a ;xra a ;
inc a ;inr a ; DAO
ld a,(TMP8) ;lda TMP8 ; TASM
; ret ;ret ;
; CPIR (TASM)
; - В случае нахождения нужного байта не определено состояние флага четности
; (оно зависит от значения искомого байта, а это не соответствует Z80).
; - Если нужный байт не найден, то флаг знака всегда будет сброшен.
; Это не совсем правильно.
;------------------------------------------------------------------------------
: CPI
cp (hl) ;cmp m ; cpi
inc hl ;inx h ;
dec bc ;dcx b ;
;------------------------------------------------------------------------------
; 8080 dec a ;dcr a
; 8080 dec b ;dcr b
; 8080 dec c ;dcr c
; 8080 dec d ;dcr d
; 8080 dec e ;dcr e
; 8080 dec h ;dcr h
; 8080 dec l ;dcr l
;------------------------------------------------------------------------------
: DEC ixh
push hl ;push h ; dec IXH
ld hl,(rIX) ;lhld rIX ;
dec h ;dcr h ;
ld (rIX),hl ;shld rIX ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: DEC ixl
push hl ;push h ; dec IXL
ld hl,(rIX) ;lhld rIX ;
dec l ;dcr l ;
ld (rIX),hl ;shld rIX ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: DEC iyh
push hl ;push h ; dec IYH
ld hl,(rIY) ;lhld rIY ;
dec h ;dcr h ;
ld (rIY),hl ;shld rIY ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: DEC iyl
push hl ;push h ; dec IYL
ld hl,(rIY) ;lhld rIY ;
dec l ;dcr l ;
ld (rIY),hl ;shld rIY ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
; 8080 dec (hl) ;dcr m
;------------------------------------------------------------------------------
: DEC (IX+d)
push hl ;push h ; dec (IX+011h)
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
dec (hl) ;dcr m ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: DEC (IY+d)
push hl ;push h ; dec (IY+011h)
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
dec (hl) ;dcr m ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
; 8080 dec bc ;dcx b
; 8080 dec de ;dcx d
; 8080 dec hl ;dcx h
; 8080 dec sp ;dcx sp
;------------------------------------------------------------------------------
: DEC IX
push hl ;push h ; dec rIX
ld hl,(rIX) ;lhld rIX ;
dec hl ;dcx h ;
ld (rIX),hl ;shld rIX ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: DEC IY
push hl ;push h ; dec rIY
ld hl,(rIY) ;lhld rIY ;
dec hl ;dcx h ;
ld (rIY),hl ;shld rIY ;
pop hl ;pop h ;
; 8080 ei ;ei
; 8080 di ;di
; 8080 halt ;hlt
;------------------------------------------------------------------------------
; im0 ;im0 ; im 0
; im1 ;im1 ; im 1
; im2 ;im2 ; im 2
;------------------------------------------------------------------------------
: DJNZ e
push af ;push psw ; djnz L0123
dec b ;dcr b ;
jp z,$+7 ;jz $+7 ;
pop af ;pop psw ;
jp L0123 ;jmp L0123 ;
pop af ;pop psw ; DAO
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
: DJNZ e (TASM Version)
dec b ;dcr b ;
jp nz,L0123 ;jnz L0123 ;TASM
;------------------------------------------------------------------------------
: EX AF,AF'
push hl ;push h ; ex AF,AF'
push af ;push psw ;
ld hl,(rAF1) ;lhld AF ;
ex (sp),hl ;xthl ;
ld (rAF1),hl ;shld AF ;
pop af ;pop psw ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: EXX
push hl ;push h ; exx
ld hl,(rDE1) ;lhld rDE1 ;
ex de,hl ;xchg ;
ld (rDE1),hl ;shld rDE1 ;
push bc ;push b ;
ld hl,(rBC1) ;lhld rBC1 ;
ex (sp),hl ;xthl ;
ld (rBC1),hl ;shld rBC1 ;
pop bc ;pop B ;
ld hl,(rHL1) ;lhld rHL1 ;
ex (sp),hl ;xthl ;
ld (rHL1),hl ;shld rHL1 ;
pop hl ;pop h ; DAO
; ret ;ret
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
: EXX (TASM Version)
push hl ;push h ;
push de ;push d ;
ld hl,(rDE1) ;lhld rDE1 ;
ex (sp),hl ;xthl ;
ld (rDE1),hl ;shld rDE1 ;
pop de ;pop d ;
push bc ;push b ;
ld hl,(rBC1) ;lhld rBC1 ;
ex (sp),hl ;xthl ;
ld (rBC1),hl ;shld rBC1 ;
pop bc ;pop b ;
ld hl,(rHL1) ;lhld rHL1 ;
ex (sp),hl ;xthl ;
ld (rHL1),hl ;shld rHL1 ;
pop hl ;pop h ; TASM
; ret ;ret
;------------------------------------------------------------------------------
; 8080 ex de,hl ;xchg
; 8080 ex (sp),hl ;xthl
;------------------------------------------------------------------------------
: EX (SP),IX
push hl ;push h ; ex (SP),IX
ld hl,(rIX) ;lhld rIX ;
ex (sp),hl ;xthl ;
ld (rIX),hl ;shld rIX ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: EX (SP),IY
push hl ;push h ; ex (SP),IY
ld hl,(rIY) ;lhld rIY ;
ex (sp),hl ;xthl ;
ld (rIY),hl ;shld rIY ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: IN A,(C)
ld a,c ;mov a,c ; in A,(C)
ld ($+4),a ;sta $+4 ;
in a,($00) ;in 0 ; mod code
;------------------------------------------------------------------------------
: IN B,(C)
push af ;push psw ; in B,(C)
ld a,c ;mov a,c ;
ld ($+4),a ;sta $+4 ;
in a,($00) ;in 0 ;
ld b,a ;mov b,a ;
pop af ;pop psw ; mod code
;------------------------------------------------------------------------------
: IN C,(C)
push af ;push psw ; in C,(C)
ld a,c ;mov a,c ;
ld ($+4),a ;sta $+4 ;
in a,($00) ;in 0 ;
ld c,a ;mov c,a ;
pop af ;pop psw ; mod code
;------------------------------------------------------------------------------
: IN D,(C)
push af ;push psw ; in D,(C)
ld a,c ;mov a,c ;
ld ($+4),a ;sta $+4 ;
in a,($00) ;in 0 ;
ld d,a ;mov d,a ;
pop af ;pop psw ; mod code
;------------------------------------------------------------------------------
: IN E,(C)
push af ;push psw ; in E,(C)
ld a,c ;mov a,c ;
ld ($+4),a ;sta $+4 ;
in a,($00) ;in 0 ;
ld e,a ;mov e,a ;
pop af ;pop psw ; mod code
;------------------------------------------------------------------------------
: IN H,(C)
push af ;push psw ; in H,(C)
ld a,c ;mov a,c ;
ld ($+4),a ;sta $+4 ;
in a,($00) ;in 0 ;
ld h,a ;mov h,a ;
pop af ;pop psw ; mod code
;------------------------------------------------------------------------------
: IN L,(C)
push af ;push psw ; in L,(C)
ld a,c ;mov a,c ;
ld ($+4),a ;sta $+4 ;
in a,($00) ;in 0 ;
ld l,a ;mov l,a ;
pop af ;pop psw ; mod code
;------------------------------------------------------------------------------
; 8080 in a,($22) ;in $22
;------------------------------------------------------------------------------
: IN F,(C)
; in (C) ; in (C) ; in L01AC,(C)
;нет реализации ?
;------------------------------------------------------------------------------
: INDR
ld (TMP8),a ;sta TMP8 ; indr
ld a,c ;mov a,c ;
ld ($+4),a ;sta $+4 ;
in a,($00) ;in 0 ;
ld (hl),a ;mov m,a ;
dec hl ;dcx h ; DAO
dec b ;dcr b ; TASM
jp nz,$-9 ;jnz $-9 ;
ld a,(TMP8) ;lda TMP8 ; mod code
; ret ;ret
; INDR (TASM)
; - Учитывется только младший байт адреса внешнего устройства, находящийся в C
;------------------------------------------------------------------------------
: IND
ld (TMP8),a ;sta TMP8 ; ind
ld a,c ;mov a,c ;
ld ($+4),a ;sta $+4 ;
in a,($00) ;in 0 ;
ld (hl),a ;mov m,a ; DAO
dec hl ;dcx h ; TASM
dec b ;dcr b ;
ld a,(TMP8) ;lda TMP8 ; mod code
; ret ;ret
; IND (TASM)
; - Учитывется только младший байт адреса внешнего устройства, находящийся в C
;------------------------------------------------------------------------------
: INIR
ld (TMP8),a ;sta TMP8 ; inir
ld a,c ;mov a,c ;
ld ($+4),a ;sta $+4 ;
in a,($00) ;in 0 ;
ld (hl),a ;mov m,a ;
inc hl ;inx h ; DAO
dec b ;dcr b ; TASM
jp nz,$-9 ;jnz $-9 ;
ld a,(TMP8) ;lda TMP8 ; mod code
; ret ;ret
; INIR (TASM)
; - Учитывется только младший байт адреса внешнего устройства, находящийся в C
;------------------------------------------------------------------------------
: INI
ld (TMP8),a ;sta TMP8 ; ini
ld a,c ;mov a,c ;
ld ($+4),a ;sta $+4 ;
in a,($00) ;in 0 ;
ld (hl),a ;mov m,a ; DAO
inc hl ;inx h ; TASM
dec b ;dcr b ;
ld a,(TMP8) ;lda TMP8 ; mod code
; ret ;ret
; INI (TASM)
; - Учитывется только младший байт адреса внешнего устройства, находящийся в C
;------------------------------------------------------------------------------
; 8080 inc a ;inr a
; 8080 inc b ;inr b
; 8080 inc c ;inr c
; 8080 inc d ;inr d
; 8080 inc e ;inr e
; 8080 inc h ;inr h
; 8080 inc l ;inr l
;------------------------------------------------------------------------------
: INC ixh
push hl ;push h ; inc IXH
ld hl,(rIX) ;lhld rIX ;
inc h ;inr h ;
ld (rIX),hl ;shld rIX ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: INC ixl
push hl ;push h ; inc IXL
ld hl,(rIX) ;lhld rIX ;
inc l ;inr l ;
ld (rIX),hl ;shld rIX ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: INC iyh
push hl ;push h ; inc IYH
ld hl,(rIY) ;lhld rIY ;
inc h ;inr h ;
ld (rIY),hl ;shld rIY ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: INC iyl
push hl ;push h ; inc IYL
ld hl,(rIY) ;lhld rIY ;
inc l ;inr l ;
ld (rIY),hl ;shld rIY ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
; 8080 inc (hl) ;inr m
;------------------------------------------------------------------------------
: INC (IX+d)
push hl ;push h ; inc (IX+011h)
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
inc (hl) ;inr m ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: INC (IY+d)
push hl ;push h ; inc (IY+011h)
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
inc (hl) ;inr m ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
; 8080 inc bc ;inx b
; 8080 inc de ;inx d
; 8080 inc hl ;inx h
; 8080 inc sp ;inx sp
;------------------------------------------------------------------------------
: INC IX
push hl ;push h ; inc IX
ld hl,(rIX) ;lhld rIX ;
inc hl ;inx h ;
ld (rIX),hl ;shld rIX ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: INC IY
push hl ;push h ; inc IY
ld hl,(rIY) ;lhld rIY ;
inc hl ;inx h ;
ld (rIY),hl ;shld rIY ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
; 8080 jp L3333 ;jmp L3333
; 8080 jp (hl) ;pchl
;------------------------------------------------------------------------------
: JP (IX)
push hl ;push h ; jp (IX)
ld hl,(rIX) ;lhld rIX ;
ex (sp),hl ;xthl ;
ret ;ret ;
;------------------------------------------------------------------------------
: JP (IY)
push hl ;push h ; jp (IY)
ld hl,(rIY) ;lhld rIY ;
ex (sp),hl ;xthl ;
ret ;ret ;
;------------------------------------------------------------------------------
; 8080 jp c,L3333 ;jc L3333
; 8080 jp m,L3333 ;jm L3333
; 8080 jp nc,L3333 ;jnc L3333
; 8080 jp nz,L3333 ;jnz L3333
; 8080 jp p,L3333 ;jp L3333
; 8080 jp pe,L3333 ;jpe L3333
; 8080 jp po,L3333 ;jpo L3333
; 8080 jp z,L3333 ;jz L3333
;------------------------------------------------------------------------------
: JR e
jp L0123 ;jmp L0123 ; jr L0123
: JR C,e
jp c,L0123 ;jc L0123 ; jr c,L0123
: JR NC,e
jp nc,L0123 ;jnc L0123 ; jr nc,L0123
: JR NZ,e
jp nz,L0123 ;jnz L0123 ; jr nz,L0123
: JR Z,e
jp z,L0123 ;jz L0123 ; jr z,L0123
;------------------------------------------------------------------------------
; 8080 ld (bc),a ;stax b
; 8080 ld (de),a ;stax d
; 8080 ld (hl),a ;mov m,a
; 8080 ld (hl),b ;mov m,b
; 8080 ld (hl),c ;mov m,c
; 8080 ld (hl),d ;mov m,d
; 8080 ld (hl),e ;mov m,e
; 8080 ld (hl),h ;mov m,h
; 8080 ld (hl),l ;mov m,l
;------------------------------------------------------------------------------
: LD (IX+d),A
push hl ;push h ; ld (IX+011h),A
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld (hl),a ;mov m,a ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: LD (IX+d),B
push hl ;push h ; ld (IX+011h),B
ld hl,(rIX) ;lhld rIX ;
push de ;push d ;
ld de,$0011 ;lxi d,$0011 ;
push af ;push psw ;
add hl,de ;dad d ;
pop af ;pop psw ;
pop de ;pop d ;
ld (hl),b ;mov m,b ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: LD (IX+d),C
push hl ;push h ; ld (IX+011h),C
ld hl,(rIX) ;lhld rIX ;
push de ;push d ;
ld de,$0011 ;lxi d,$0011 ;
push af ;push psw ;
add hl,de ;dad d ;
pop af ;pop psw ;
pop de ;pop d ;
ld (hl),c ;mov m,c ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: LD (IX+d),D
push hl ;push h ; ld (IX+011h),D
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld (hl),d ;mov m,d ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: LD (IX+d),E
push hl ;push h ; ld (IX+011h),E
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld (hl),e ;mov m,e ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: LD (IX+d),H
ex de,hl ;xchg ; ld (IX+011h),H
push hl ;push h ;
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld (hl),d ;mov m,d ;
pop hl ;pop h ;
ex de,hl ;xchg ;
;------------------------------------------------------------------------------
: LD (IX+d),L
ex de,hl ;xchg ; ld (IX+011h),L
push hl ;push h ;
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld (hl),e ;mov m,e ;
pop hl ;pop h ;
ex de,hl ;xchg ;
;------------------------------------------------------------------------------
: LD (IY+d),A
push hl ;push h ; ld (IY+011h),A
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld (hl),a ;mov m,a ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: LD (IY+d),B
push hl ;push h ; ld (IY+011h),B
ld hl,(rIY) ;lhld rIY ;
push de ;push d ;
ld de,$0011 ;lxi d,$0011 ;
push af ;push psw ;
add hl,de ;dad d ;
pop af ;pop psw ;
pop de ;pop d ;
ld (hl),b ;mov m,b ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: LD (IY+d),C
push hl ;push h ; ld (IY+011h),C
ld hl,(rIY) ;lhld rIY ;
push de ;push d ;
ld de,$0011 ;lxi d,$0011 ;
push af ;push psw ;
add hl,de ;dad d ;
pop af ;pop psw ;
pop de ;pop d ;
ld (hl),c ;mov m,c ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: LD (IY+d),D
push hl ;push h ; ld (IY+011h),D
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld (hl),d ;mov m,d ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: LD (IY+d),E
push hl ;push h ; ld (IY+011h),E
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld (hl),e ;mov m,e ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: LD (IY+d),H
ex de,hl ;xchg ; ld (IY+011h),H
push hl ;push h ;
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld (hl),d ;mov m,d ;
pop hl ;pop h ;
ex de,hl ;xchg ;
;------------------------------------------------------------------------------
: LD (IY+d),L
ex de,hl ;xchg ; ld (IY+011h),L
push hl ;push h ;
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld (hl),e ;mov m,e ;
pop hl ;pop h ;
ex de,hl ;xchg ;
;------------------------------------------------------------------------------
; 8080 ld (hl),$22 ;mvi m,$22
;------------------------------------------------------------------------------
: LD (IX+d),n
push hl ;push h ; ld (IX+011h),$22
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld (hl),$22 ;mvi m,$22 ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: LD (IY+d),n
push hl ;push h ; ld (IY+011h),$22
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld (hl),$22 ;mvi m,$22 ;
pop hl ;pop h ;
; 8080 ld ($3333),a ;sta $3333
;------------------------------------------------------------------------------
: LD (nn),BC
push hl ;push h ; ld (L3333),BC
ld h,b ;mov h,b ;
ld l,c ;mov l,c ;
ld ($3333),hl ;shld $3333 ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: LD (nn),DE
ex de,hl ;xchg ; ld (L3333),DE
ld ($3333),hl ;shld $3333 ;
ex de,hl ;xchg ; DAO \ TASM
;------------------------------------------------------------------------------
; 8080 ld ($3333),hl ;shld $3333
;------------------------------------------------------------------------------
: LD (nn),SP
push hl ;push h ; ld (L3333),SP
ld hl,$0000 ;lxi h,$0000 ;
push af ;push psw ;
add hl,sp ;dad sp ;
pop af ;pop psw ;
ld ($3333),hl ;shld $3333 ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: LD (nn),IX
push hl ;push h ; ld (L3333),IX
ld hl,(rIX) ;lhld rIX ;
ld ($3333),hl ;shld $3333 ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: LD (nn),IY
push hl ;push h ; ld (L3333),IY
ld hl,(rIY) ;lhld rIY ;
ld ($3333),hl ;shld $3333 ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
; 8080 ld a,a ;mov a,a
; 8080 ld a,b ;mov a,b
; 8080 ld a,c ;mov a,c
; 8080 ld a,d ;mov a,d
; 8080 ld a,e ;mov a,e
; 8080 ld a,h ;mov a,h
; 8080 ld a,l ;mov a,l
;------------------------------------------------------------------------------
: LD A,ixh
ld a,(rIX+1) ;lda rIX+1 ; ld A,IXH
;------------------------------------------------------------------------------
: LD A,ixl
ld a,(rIX) ;lda rIX ; ld A,IXL
;------------------------------------------------------------------------------
: LD A,iyh
ld a,(rIY+1) ;lda rIY+1 ; ld A,IYH
;------------------------------------------------------------------------------
: LD A,iyl
ld a,(rIY) ;lda rIY ; ld A,IYL
;------------------------------------------------------------------------------
; 8080 ld a,$22 ;mvi a,$22
; 8080 ld a,(bc) ;ldax b
; 8080 ld a,(de) ;ldax d
; 8080 ld a,(hl) ;mov a,m
;------------------------------------------------------------------------------
: LD A,(IX+d)
push hl ;push h ; ld A,(IX+011h)
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld a,(hl) ;mov a,m ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: LD A,(IY+d)
push hl ;push h ; ld A,(IY+011h)
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld a,(hl) ;mov a,m ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
; 8080 ld a,($3333) ;lda $3333
; 8080 ld b,a ;mov b,a
; 8080 ld b,b ;mov b,b
; 8080 ld b,c ;mov b,c
; 8080 ld b,d ;mov b,d
; 8080 ld b,e ;mov b,e
; 8080 ld b,h ;mov b,h
; 8080 ld b,l ;mov b,l
;------------------------------------------------------------------------------
: LD B,ixh
ld (TMP),a ;sta TMP ; ld B,IXH
ld a,(rIX+1) ;lda rIX+1 ;
ld b,a ;mov b,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: LD B,ixl
ld (TMP),a ;sta TMP ; ld B,IXL
ld a,(rIX) ;lda rIX ;
ld b,a ;mov b,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: LD B,iyh
ld (TMP),a ;sta TMP ; ld B,IYH
ld a,(rIY+1) ;lda rIY+1 ;
ld b,a ;mov b,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: LD B,iyl
ld (TMP),a ;sta TMP ; ld B,IYL
ld a,(rIY) ;lda rIY ;
ld b,a ;mov b,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
; 8080 ld b,$22 ;mvi b,$22
; 8080 ld b,(hl) ;mov b,m
;------------------------------------------------------------------------------
: LD B,(IX+d)
push hl ;push h ; ld B,(IX+011h)
ld hl,(rIX) ;lhld rIX ;
push de ;push d ;
ld de,$0011 ;lxi d,$0011 ;
push af ;push psw ;
add hl,de ;dad d ;
pop af ;pop psw ;
pop de ;pop d ;
ld b,(hl) ;mov b,m ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: LD B,(IY+d)
push hl ;push h ; ld B,(IY+011h)
ld hl,(rIY) ;lhld rIY ;
push de ;push d ;
ld de,$0011 ;lxi d,$0011 ;
push af ;push psw ;
add hl,de ;dad d ;
pop af ;pop psw ;
pop de ;pop d ;
ld b,(hl) ;mov b,m ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
; 8080 ld c,a ;mov c,a
; 8080 ld c,b ;mov c,b
; 8080 ld c,c ;mov c,c
; 8080 ld c,d ;mov c,d
; 8080 ld c,e ;mov c,e
; 8080 ld c,h ;mov c,h
; 8080 ld c,l ;mov c,l
;------------------------------------------------------------------------------
: LD C,ixh
ld (TMP),a ;sta TMP ; ld C,IXH
ld a,(rIX+1) ;lda rIX+1 ;
ld c,a ;mov c,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: LD C,ixl
ld (TMP),a ;sta TMP ; ld C,IXL
ld a,(rIX) ;lda rIX ;
ld c,a ;mov c,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: LD C,iyh
ld (TMP),a ;sta TMP ; ld C,IYH
ld a,(rIY+1) ;lda rIY+1 ;
ld c,a ;mov c,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: LD C,iyl
ld (TMP),a ;sta TMP ; ld C,IYL
ld a,(rIY) ;lda rIY ;
ld c,a ;mov c,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
; 8080 ld c,$22 ;mvi c,$22
; 8080 ld c,(hl) ;mov c,m
;------------------------------------------------------------------------------
: LD C,(IX+d)
push hl ;push h ; ld C,(IX+011h)
ld hl,(rIX) ;lhld rIX ;
push de ;push d ;
ld de,$0011 ;lxi d,$0011 ;
push af ;push psw ;
add hl,de ;dad d ;
pop af ;pop psw ;
pop de ;pop d ;
ld c,(hl) ;mov c,m ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: LD C,(IY+d)
push hl ;push h ; ld C,(IY+011h)
ld hl,(rIY) ;lhld rIY ;
push de ;push d ;
ld de,$0011 ;lxi d,$0011 ;
push af ;push psw ;
add hl,de ;dad d ;
pop af ;pop psw ;
pop de ;pop d ;
ld c,(hl) ;mov c,m ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
; 8080 ld d,a ;mov d,a
; 8080 ld d,b ;mov d,b
; 8080 ld d,c ;mov d,c
; 8080 ld d,d ;mov d,d
; 8080 ld d,e ;mov d,e
; 8080 ld d,h ;mov d,h
; 8080 ld d,l ;mov d,l
;------------------------------------------------------------------------------
: LD D,ixh
ld (TMP),a ;sta TMP ; ld D,IXH
ld a,(rIX+1) ;lda rIX+1 ;
ld d,a ;mov d,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: LD D,ixl
ld (TMP),a ;sta TMP ; ld D,IXL
ld a,(rIX) ;lda rIX ;
ld d,a ;mov d,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: LD D,iyh
ld (TMP),a ;sta TMP ; ld D,IYH
ld a,(rIY+1) ;lda rIY+1 ;
ld d,a ;mov d,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: LD D,iyl
ld (TMP),a ;sta TMP ; ld D,IYL
ld a,(rIY) ;lda rIY ;
ld d,a ;mov d,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
; 8080 ld d,$22 ;mvi d,$22
; 8080 ld d,(hl) ;mov d,m
;------------------------------------------------------------------------------
: LD D,(IX+d)
push hl ;push h ; ld D,(IX+011h)
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld d,(hl) ;mov d,m ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: LD D,(IY+d)
push hl ;push h ; ld D,(IY+011h)
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld d,(hl) ;mov d,m ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
; 8080 ld e,a ;mov e,a
; 8080 ld e,b ;mov e,b
; 8080 ld e,c ;mov e,c
; 8080 ld e,d ;mov e,d
; 8080 ld e,e ;mov e,e
; 8080 ld e,h ;mov e,h
; 8080 ld e,l ;mov e,l
; 8080 ld e,$22 ;mvi e,$22
;------------------------------------------------------------------------------
: LD E,ixh
ld (TMP),a ;sta TMP ; ld E,IXH
ld a,(rIX+1) ;lda rIX+1 ;
ld e,a ;mov e,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: LD E,ixl
ld (TMP),a ;sta TMP ; ld E,IXL
ld a,(rIX) ;lda rIX ;
ld e,a ;mov e,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: LD E,iyh
ld (TMP),a ;sta TMP ; ld E,IYH
ld a,(rIY+1) ;lda rIY+1 ;
ld e,a ;mov e,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: LD E,iyl
ld (TMP),a ;sta TMP ; ld E,IYL
ld a,(rIY) ;lda rIY ;
ld e,a ;mov e,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
; 8080 ld e,(hl) ;mov e,m
;------------------------------------------------------------------------------
: LD E,(IX+d)
push hl ;push h ; ld E,(IX+011h)
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld e,(hl) ;mov e,m ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: LD E,(IY+d)
push hl ;push h ; ld E,(IY+011h)
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld e,(hl) ;mov e,m ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
; 8080 ld h,a ;mov h,a
; 8080 ld h,b ;mov h,b
; 8080 ld h,c ;mov h,c
; 8080 ld h,d ;mov h,d
; 8080 ld h,e ;mov h,e
; 8080 ld h,h ;mov h,h
; 8080 ld h,l ;mov h,l
; 8080 ld h,$22 ;mvi h,$22
; 8080 ld h,(hl) ;mov h,m
;------------------------------------------------------------------------------
: LD H,(IX+d)
ex de,hl ;xchg ; ld H,(IX+011h)
push hl ;push h ;
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld d,(hl) ;mov d,m ;
pop hl ;pop h ;
ex de,hl ;xchg ;
;------------------------------------------------------------------------------
: LD H,(IY+d)
ex de,hl ;xchg ; ld H,(IY+011h)
push hl ;push h ;
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld d,(hl) ;mov d,m ;
pop hl ;pop h ;
ex de,hl ;xchg ;
;------------------------------------------------------------------------------
; 8080 ld l,a ;mov l,a
; 8080 ld l,b ;mov l,b
; 8080 ld l,c ;mov l,c
; 8080 ld l,d ;mov l,d
; 8080 ld l,e ;mov l,e
; 8080 ld l,h ;mov l,h
; 8080 ld l,l ;mov l,l
; 8080 ld l,$22 ;mvi l,$22
; 8080 ld l,(hl) ;mov l,m
;------------------------------------------------------------------------------
: LD L,(IX+d)
ex de,hl ;xchg ; ld L,(IX+011h)
push hl ;push h ;
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld e,(hl) ;mov e,m ;
pop hl ;pop h ;
ex de,hl ;xchg ;
;------------------------------------------------------------------------------
: LD L,(IY+d)
ex de,hl ;xchg ; ld L,(IY+011h)
push hl ;push h ;
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld e,(hl) ;mov e,m ;
pop hl ;pop h ;
ex de,hl ;xchg ;
;------------------------------------------------------------------------------
: LD ixh,A
ld (rIX+1),a ;sta rIX+1 ; ld IXH,A
;------------------------------------------------------------------------------
: LD ixh,B
ld (TMP),a ;sta TMP ; ld IXH,B
ld a,b ;mov a,b ;
ld (rIX+1),a ;sta rIX+1 ;
ld a,(TMP) ;lda TMP ; можно заюзать стек
;------------------------------------------------------------------------------
: LD ixh,C
ld (TMP),a ;sta TMP ; ld IXH,C
ld a,c ;mov a,c ;
ld (rIX+1),a ;sta rIX+1 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: LD ixh,D
ld (TMP),a ;sta TMP ; ld IXH,D
ld a,d ;mov a,d ;
ld (rIX+1),a ;sta rIX+1 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: LD ixh,E
ld (TMP),a ;sta TMP ; ld IXH,E
ld a,e ;mov a,e ;
ld (rIX+1),a ;sta rIX+1 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: LD ixh,ixh
ld (TMP),a ;sta TMP ; ld IXH,IXH
ld a,(rIX+1) ;lda rIX+1 ;
ld (rIX+1),a ;sta rIX+1 ;
ld a,(TMP) ;lda TMP ; заменять пустотой же
;------------------------------------------------------------------------------
: LD ixh,ixl
ld (TMP),a ;sta TMP ; ld IXH,IXL
ld a,(rIX) ;lda rIX ;
ld (rIX+1),a ;sta rIX+1 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: LD ixh,n
push af ;push psw ; ld IXH,0DDh
ld a,$22 ;mvi a,$22 ;
ld (rIX+1),a ;sta rIX+1 ;
pop af ;pop psw ;
;------------------------------------------------------------------------------
: LD ixl,A
ld (rIX),a ;sta rIX ; ld IXL,A
;------------------------------------------------------------------------------
: LD ixl,B
ld (TMP),a ;sta TMP ; ld IXL,B
ld a,b ;mov a,b ;
ld (rIX),a ;sta rIX ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: LD ixl,C
ld (TMP),a ;sta TMP ; ld IXL,C
ld a,c ;mov a,c ;
ld (rIX),a ;sta rIX ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: LD ixl,D
ld (TMP),a ;sta TMP ; ld IXL,D
ld a,d ;mov a,d ;
ld (rIX),a ;sta rIX ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: LD ixl,E
ld (TMP),a ;sta TMP ; ld IXL,E
ld a,e ;mov a,e ;
ld (rIX),a ;sta rIX ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: LD ixl,ixh
ld (TMP),a ;sta TMP ; ld IXL,IXH
ld a,(rIX+1) ;lda rIX+1 ;
ld (rIX),a ;sta rIX ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: LD ixl,ixl
ld (TMP),a ;sta TMP ; ld IXL,IXL
ld a,(rIX) ;lda rIX ;
ld (rIX),a ;sta rIX ;
ld a,(TMP) ;lda TMP ; заменять пустотой же
;------------------------------------------------------------------------------
: LD ixl,n
push hl ;push h ; ld IXL,0FDh
ld hl,(rIX) ;lhld rIX ;
ld l,$22 ;mvi l,$22 ;
ld (rIX),hl ;shld rIX ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: LD iyh,A
ld (rIY+1),a ;sta rIY+1 ; ld IYH,A
;------------------------------------------------------------------------------
: LD iyh,B
ld (TMP),a ;sta TMP ; ld IYH,B
ld a,b ;mov a,b ;
ld (rIY+1),a ;sta rIY+1 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: LD iyh,C
ld (TMP),a ;sta TMP ; ld IYH,C
ld a,c ;mov a,c ;
ld (rIY+1),a ;sta rIY+1 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: LD iyh,D
ld (TMP),a ;sta TMP ; ld IYH,D
ld a,d ;mov a,d ;
ld (rIY+1),a ;sta rIY+1 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: LD iyh,E
ld (TMP),a ;sta TMP ; ld IYH,E
ld a,e ;mov a,e ;
ld (rIY+1),a ;sta rIY+1 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: LD iyh,iyh
ld (TMP),a ;sta TMP ; ld IYH,IYH
ld a,(rIY+1) ;lda rIY+1 ;
ld (rIY+1),a ;sta rIY+1 ;
ld a,(TMP) ;lda TMP ; заменять пустотой же
;------------------------------------------------------------------------------
: LD iyh,iyl
ld (TMP),a ;sta TMP ; ld IYH,IYL
ld a,(rIY) ;lda rIY ;
ld (rIY+1),a ;sta rIY+1 ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: LD iyh,n
push af ;push psw ; ld IYH,0FDh
ld a,$22 ;mvi a,$22 ;
ld (rIY+1),a ;sta rIY+1 ;
pop af ;pop psw ;
;------------------------------------------------------------------------------
: LD iyl,A
ld (rIY),a ;sta rIY ; ld IYL,A
;------------------------------------------------------------------------------
: LD iyl,B
ld (TMP),a ;sta TMP ; ld IYL,B
ld a,b ;mov a,b ;
ld (rIY),a ;sta rIY ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: LD iyl,C
ld (TMP),a ;sta TMP ; ld IYL,C
ld a,c ;mov a,c ;
ld (rIY),a ;sta rIY ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: LD iyl,D
ld (TMP),a ;sta TMP ; ld IYL,D
ld a,d ;mov a,d ;
ld (rIY),a ;sta rIY ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: LD iyl,E
ld (TMP),a ;sta TMP ; ld IYL,E
ld a,e ;mov a,e ;
ld (rIY),a ;sta rIY ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: LD iyl,iyh
ld (TMP),a ;sta TMP ; ld IYL,IYH
ld a,(rIY+1) ;lda rIY+1 ;
ld (rIY),a ;sta rIY ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: LD iyl,iyl
ld (TMP),a ;sta TMP ; ld IYL,IYL
ld a,(rIY) ;lda rIY ;
ld (rIY),a ;sta rIY ;
ld a,(TMP) ;lda TMP ; заменять пустотой же
;------------------------------------------------------------------------------
: LD iyl,n
push hl ;push h ; ld rIYL,0EDh
ld hl,(rIY) ;lhld rIY ;
ld l,$22 ;mvi l,$22 ;
ld (rIY),hl ;shld rIY ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: LD A,I
ld a,(rI) ;lda I ; ld A,I
;------------------------------------------------------------------------------
: LD A,R
ld a,(rR) ;lda R ; ld A,R
inc a ;inr a ;
ld (rR),a ;sta R ;
;------------------------------------------------------------------------------
: LD I,A
ld (rI),a ;sta I ; ld I,A
;------------------------------------------------------------------------------
: LD R,A
ld (rR),a ;sta R ; ld R,A
;------------------------------------------------------------------------------
; 8080 ld sp,hl ;sphl
;------------------------------------------------------------------------------
: LD SP,IX
ld (TEMP),hl ;shld TEMP ; ld SP,IX
ld hl,(rIX) ;lhld rIX ;
ld sp,hl ;sphl ;
ld hl,(TEMP) ;lhld TEMP ;
;------------------------------------------------------------------------------
: LD SP,IY
ld (TEMP),hl ;shld TEMP ; ld SP,IY
ld hl,(rIY) ;lhld rIY ;
ld sp,hl ;sphl ;
ld hl,(TEMP) ;lhld TEMP ;
; 8080 ld bc,$3333 ;lxi b,$3333
; 8080 ld de,$3333 ;lxi d,$3333
; 8080 ld hl,$3333 ;lxi h,$3333
; 8080 ld sp,$3333 ;lxi sp,$3333
;------------------------------------------------------------------------------
: LD IX,nn
push hl ;push h ; ld IX,$3333
ld hl,$3333 ;lxi h,$3333 ;
ld (rIX),hl ;shld rIX ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: LD IY,nn
push hl ;push h ; ld IY,$3333
ld hl,$3333 ;lxi h,$3333 ;
ld (rIY),hl ;shld rIY ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: LD BC,(nn)
push hl ;push h ; ld BC,(L3333)
ld hl,($3333) ;lhld $3333 ;
ld b,h ;mov b,h ;
ld c,l ;mov c,l ; DAO
pop hl ;pop h ; TASM
;------------------------------------------------------------------------------
: LD DE,(nn)
ex de,hl ;xchg ; ld DE,(L3333)
ld hl,($3333) ;lhld $3333 ;
ex de,hl ;xchg ; DAO \ TASM
;------------------------------------------------------------------------------
; 8080 ld hl,($3333) ;lhld $3333
;------------------------------------------------------------------------------
: LD SP,(nn)
ld (TEMP),hl ;shld TEMP ; ld SP,(L3333)
ld hl,($3333) ;lhld $3333 ;
ld sp,hl ;sphl ;
ld hl,(TEMP) ;lhld TEMP ;
;------------------------------------------------------------------------------
: LD IX,(nn)
push hl ;push h ; ld IX,(L3333)
ld hl,($3333) ;lhld $3333 ;
ld (rIX),hl ;shld rIX ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: LD IY,(nn)
push hl ;push h ; ld IY,(L3333)
ld hl,($3333) ;lhld $3333 ;
ld (rIY),hl ;shld rIY ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: LDDR
push af ;push psw ; lddr
ld a,(hl) ;mov a,m ;
ld (de),a ;stax d ;
dec hl ;dcx h ;
dec de ;dcx d ;
dec bc ;dcx b ;
ld a,b ;mov a,b ;
or c ;ora c ;
jp nz,$-7 ;jnz $-7 ; DAO
pop af ;pop psw ; TASM
; ret ;ret
; LDDR (TASM)
; - не сбрасывается флаг четности
;------------------------------------------------------------------------------
: LDD
push af ;push psw ; ldd
ld a,(hl) ;mov a,m ;
ld (de),a ;stax d ;
dec hl ;dcx h ;
dec de ;dcx d ;
dec bc ;dcx b ; DAO
pop af ;pop psw ; TASM
; ret ;ret
; LDD (TASM)
; - флаг четности не устанавливается в зависимости от результата операции.
;------------------------------------------------------------------------------
: LDIR
push af ;push psw ; ldir
ld a,(hl) ;mov a,m ;
ld (de),a ;stax d ;
inc hl ;inx h ;
inc de ;inx d ;
dec bc ;dcx b ;
ld a,b ;mov a,b ;
or c ;ora c ;
jp nz,$-7 ;jnz $-7 ; DAO
pop af ;pop psw ; TASM
; ret ;ret
; LDIR (TASM)
; - не сбрасывается флаг четности
;------------------------------------------------------------------------------
: LDI
push af ;push psw ; ldi
ld a,(hl) ;mov a,m ;
ld (de),a ;stax d ;
inc hl ;inx h ;
inc de ;inx d ;
inc bc ;inx b ; DAO
pop af ;pop psw ; TASM
; ret ;ret
; LDI (TASM)
; - флаг четности не устанавливается в зависимости от результата операции.
;------------------------------------------------------------------------------
; 8080 or a ;ora a
; 8080 or b ;ora b
; 8080 or c ;ora c
; 8080 or d ;ora d
; 8080 or e ;ora e
; 8080 or h ;ora h
; 8080 or l ;ora l
;------------------------------------------------------------------------------
: OR ixh
push hl ;push h ; or IXH
ld hl,(rIX) ;lhld rIX ;
or h ;ora h ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: OR ixl
push hl ;push h ; or IXL
ld hl,(rIX) ;lhld rIX ;
or l ;ora l ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: OR iyh
push hl ;push h ; or IYH
ld hl,(rIY) ;lhld rIY ;
or h ;ora h ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: OR iyl
push hl ;push h ; or IYL
ld hl,(rIY) ;lhld rIY ;
or l ;ora l ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
; 8080 or $22 ;ori $22
;------------------------------------------------------------------------------
; 8080 or (hl) ;ora m
;------------------------------------------------------------------------------
: OR (IX+d)
push hl ;push h ; or (IX+011h)
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
or (hl) ;ora m ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: OR (IY+d)
push hl ;push h ; or (IY+011h)
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
or (hl) ;ora m ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: OUT (C),A
push af ;push psw ; out (C),A
ld a,c ;mov a,c ;
ld ($+5),a ;sta $+5 ;
pop af ;pop psw ;
out ($00),a ;out 0 ; mod code
;------------------------------------------------------------------------------
: OUT (C),B
push af ;push psw ; out (C),B
ld a,c ;mov a,c ;
ld ($+5),a ;sta $+5 ;
ld a,b ;mov a,b ;
out ($00),a ;out 0 ;
pop af ;pop psw ; mod code
;------------------------------------------------------------------------------
: OUT (C),C
push af ;push psw ; out (C),C
ld a,c ;mov a,c ;
ld ($+5),a ;sta $+5 ;
ld a,c ;mov a,c ;
out ($00),a ;out 0 ;
pop af ;pop psw ; mod code
;------------------------------------------------------------------------------
: OUT (C),D
push af ;push psw ; out (C),D
ld a,c ;mov a,c ;
ld ($+5),a ;sta $+5 ;
ld a,d ;mov a,d ;
out ($00),a ;out 0 ;
pop af ;pop psw ; mod code
;------------------------------------------------------------------------------
: OUT (C),E
push af ;push psw ; out (C),E
ld a,c ;mov a,c ;
ld ($+5),a ;sta $+5 ;
ld a,e ;mov a,e ;
out ($00),a ;out 0 ;
pop af ;pop psw ; mod code
;------------------------------------------------------------------------------
: OUT (C),H
push af ;push psw ; out (C),H
ld a,c ;mov a,c ;
ld ($+5),a ;sta $+5 ;
ld a,h ;mov a,h ;
out ($00),a ;out 0 ;
pop af ;pop psw ; mod code
;------------------------------------------------------------------------------
: OUT (C),L
push af ;push psw ; out (C),L
ld a,c ;mov a,c ;
ld ($+5),a ;sta $+5 ;
ld a,l ;mov a,l ;
out (0),a ;out 0 ;
pop af ;pop psw ; mod code
;------------------------------------------------------------------------------
: OUT (C),0
push af ;push psw ; out (C),0
ld a,c ;mov a,c ;
ld ($+5),a ;sta $+5 ;
xor a ;xra a ;
out ($00),a ;out 0 ;
pop af ;pop psw ; mod code
;------------------------------------------------------------------------------
; 8080 out ($22),A ;out $22
;------------------------------------------------------------------------------
: OTDR
ld (TMP8),a ;sta TMP8 ; otdr
ld a,c ;mov a,c ;
ld ($+5),a ;sta $+5 ;
ld a,(hl) ;mov a,m ;
out ($00),a ;out 0 ;
dec hl ;dcx h ;
dec b ;dcr b ; DAO
jp nz,$-9 ;jnz $-9 ;
ld a,(TMP8) ;lda TMP8 ; mod code
; ret ;ret
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
: OTDR (TASM Version)
; ld (TMP8),a ;sta TMP8
; ld a,c ;mov a,c
; ld ($+4),a ;sta $+4
; out ($00),a ;out 0
; ld (hl),a ;mov m,a ; ERROR
; dec hl ;dcx h ;
; dec b ;dcr b ; TASM
; jp nz,$-9 ;jnz $-9 ;
; ld a,(TMP8) ;lda TMP8 ; mod code
; ret ;ret
; OTDR (TASM)
; - Учитывется только младший байт адреса внешнего устройства, находящийся в C
;------------------------------------------------------------------------------
: OTIR
ld (TMP8),a ;sta TMP ; otir
ld a,c ;mov a,c ;
ld ($+5),a ;sta $+5 ;
ld a,(hl) ;mov a,m ;
out ($00),a ;out 0 ;
inc hl ;inx h ;
dec b ;dcr b ; DAO
jp nz,$-9 ;jnz $-9 ;
ld a,(TMP8) ;lda TMP ; mod code
; ret ;ret
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
: OTIR (TASM Version)
; ld (TMP8),a ;sta TMP8 ;
; ld a,c ;mov a,c ;
; ld ($+4),a ;sta $+4 ;
; out ($00),a ;out 0 ;
; ld (hl),a ;mov m,a ; ERROR
; inc hl ;inx h ;
; dec b ;dcr b ; TASM
; jp nz,$-9 ;jnz $-9 ;
; ld a,(TMP8) ;lda TMP8 ; mod code
; ret ;ret
; OTIR (TASM)
; - Учитывется только младший байт адреса внешнего устройства, находящийся в C
;------------------------------------------------------------------------------
: OUTD
ld (TMP8),a ;sta TMP8 ; outd
ld a,c ;mov a,c ;
ld ($+5),a ;sta $+5 ;
ld a,(hl) ;mov a,m ;
out ($00),a ;out 0 ;
dec hl ;dcx h ; DAO
dec b ;dcr b ;
ld a,(TMP8) ;lda TMP8 ; mod code
; ret ;ret
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
: OUTD (TASM Version)
; ld (TMP8),a ;sta TMP8 ;
; ld a,c ;mov a,c ;
; ld ($+4),a ;sta $+4 ;
; out ($00),a ;out 0 ;
; ld (hl),a ;mov m,a ; ERROR
; dec hl ;dcx h ; TASM
; dec b ;dcr b ;
; ld a,(TMP8) ;lda TMP8 ; mod code
; ret ;ret
; OUTD (TASM)
; - Учитывется только младший байт адреса внешнего устройства, находящийся в C
;------------------------------------------------------------------------------
: OUTI
ld (TMP8),a ;sta TMP8 ; outi
ld a,c ;mov a,c ;
ld ($+5),a ;sta $+5 ;
ld a,(hl) ;mov a,m ;
out ($00),a ;out 0 ;
inc hl ;inx h ; DAO
dec b ;dcr b ;
ld a,(TMP8) ;lda TMP8 ; mod code
; ret ;ret
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
: OUTI (TASM Version)
; ld (TMP8),a ;sta TMP8 ;
; ld a,c ;mov a,c ;
; ld ($+4),a ;sta $+4 ;
; out ($00),a ;out 0 ;
; ld (hl),a ;mov m,a ; ERROR
; inc hl ;inx h ; TASM
; dec b ;dcr b ;
; ld a,(TMP8) ;lda TMP8 ; mod code
; ret ;ret
; OUTI (TASM)
; - Учитывется только младший байт адреса внешнего устройства, находящийся в C
;------------------------------------------------------------------------------
; 8080 pop af ;pop psw
; 8080 pop bc ;pop b
; 8080 pop de ;pop d
; 8080 pop hl ;pop h
;------------------------------------------------------------------------------
: POP IX
ex (sp),hl ;xthl ; pop IX
ld (rIX),hl ;shld rIX ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: POP IY
ex (sp),hl ;xthl ; pop IY
ld (rIY),hl ;shld rIY ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
; 8080 push af ;push psw
; 8080 push bc ;push b
; 8080 push de ;push d
; 8080 push hl ;push h
;------------------------------------------------------------------------------
: PUSH IX
push hl ;push h ; push IX
ld hl,(rIX) ;lhld rIX ;
ex (sp),hl ;xthl ;
;------------------------------------------------------------------------------
: PUSH IY
push hl ;push h ; push IY
ld hl,(rIY) ;lhld rIY ;
ex (sp),hl ;xthl ;
;------------------------------------------------------------------------------
: RES 0,A
push af ;push psw ; res 0,A
and $FE ;ani $FE ;
ld (TMP),a ;sta TMP ;
pop af ;pop psw ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: RES 0,B
push af ;push psw ; res 0,B
ld a,b ;mov a,b ;
and $FE ;ani $FE ;
ld b,a ;mov b,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 0,C
push af ;push psw ; res 0,C
ld a,c ;mov a,c ;
and $FE ;ani $FE ;
ld c,a ;mov c,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 0,D
push af ;push psw ; res 0,D
ld a,d ;mov a,d ;
and $FE ;ani $FE ;
ld d,a ;mov d,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 0,E
push af ;push psw ; res 0,E
ld a,e ;mov a,e ;
and $FE ;ani $FE ;
ld e,a ;mov e,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 0,H
push af ;push psw ; res 0,H
ld a,h ;mov a,h ;
and $FE ;ani $FE ;
ld h,a ;mov h,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 0,L
push af ;push psw ; res 0,L
ld a,l ;mov a,l ;
and $FE ;ani $FE ;
ld l,a ;mov l,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 0,(HL)
push af ;push psw ; res 0,(HL)
ld a,(hl) ;mov a,m ;
and $FE ;ani $FE ;
ld (hl),a ;mov m,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 0,(IX+d)
push hl ;push h ; res 0,(IX+011h)
push af ;push psw ;
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
add hl,bc ;dad b ;
pop bc ;pop b ;
ld a,(hl) ;mov a,m ;
and $FE ;ani $FE ;
ld (hl),a ;mov m,a ;
pop af ;pop psw ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: RES 0,(IX+d),A ;нет реализации?
: RES 0,(IX+d),B
: RES 0,(IX+d),C
: RES 0,(IX+d),D
: RES 0,(IX+d),E
: RES 0,(IX+d),H
: RES 0,(IX+d),L
;------------------------------------------------------------------------------
: RES 0,(IY+d)
push hl ;push h ; res 0,(IY+011h)
push af ;push psw ;
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
add hl,bc ;dad b ;
pop bc ;pop b ;
ld a,(hl) ;mov a,m ;
and $FE ;ani $FE ;
ld (hl),a ;mov m,a ;
pop af ;pop psw ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: RES 0,(IY+d),A ;нет реализации?
: RES 0,(IY+d),B
: RES 0,(IY+d),C
: RES 0,(IY+d),D
: RES 0,(IY+d),E
: RES 0,(IY+d),H
: RES 0,(IY+d),L
;------------------------------------------------------------------------------
: RES 1,A
push af ;push psw ; res 1,A
and $FD ;ani $FD ;
ld (TMP),a ;sta TMP ;
pop af ;pop psw ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: RES 1,B
push af ;push psw ; res 1,B
ld a,b ;mov a,b ;
and $FD ;ani $FD ;
ld b,a ;mov b,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 1,C
push af ;push psw ; res 1,C
ld a,c ;mov a,c ;
and $FD ;ani $FD ;
ld c,a ;mov c,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 1,D
push af ;push psw ; res 1,D
ld a,d ;mov a,d ;
and $FD ;ani $FD ;
ld d,a ;mov d,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 1,E
push af ;push psw ; res 1,E
ld a,e ;mov a,e ;
and $FD ;ani $FD ;
ld e,a ;mov e,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 1,H
push af ;push psw ; res 1,H
ld a,h ;mov a,h ;
and $FD ;ani $FD ;
ld h,a ;mov h,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 1,L
push af ;push psw ; res 1,L
ld a,l ;mov a,l ;
and $FD ;ani $FD ;
ld l,a ;mov l,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 1,(HL)
push af ;push psw ; res 1,(HL)
ld a,(hl) ;mov a,m ;
and $FD ;ani $FD ;
ld (hl),a ;mov m,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 1,(IX+d)
push hl ;push h ; res 1,(IX+011h)
push af ;push psw ;
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
add hl,bc ;dad b ;
pop bc ;pop b ;
ld a,(hl) ;mov a,m ;
and $FD ;ani $FD ;
ld (hl),a ;mov m,a ;
pop af ;pop psw ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: RES 1,(IX+d),A ;нет реализации?
: RES 1,(IX+d),B
: RES 1,(IX+d),C
: RES 1,(IX+d),D
: RES 1,(IX+d),E
: RES 1,(IX+d),H
: RES 1,(IX+d),L
;------------------------------------------------------------------------------
: RES 1,(IY+d)
push hl ;push h ; res 1,(IY+011h)
push af ;push psw ;
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
add hl,bc ;dad b ;
pop bc ;pop b ;
ld a,(hl) ;mov a,m ;
and $FD ;ani $FD ;
ld (hl),a ;mov m,a ;
pop af ;pop psw ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: RES 1,(IY+d),A ;нет реализации?
: RES 1,(IY+d),B
: RES 1,(IY+d),C
: RES 1,(IY+d),D
: RES 1,(IY+d),E
: RES 1,(IY+d),H
: RES 1,(IY+d),L
;------------------------------------------------------------------------------
: RES 2,A
push af ;push psw ; res 2,A
and $FB ;ani $FB ;
ld (TMP),a ;sta TMP ;
pop af ;pop psw ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: RES 2,B
push af ;push psw ; res 2,B
ld a,b ;mov a,b ;
and $FB ;ani $FB ;
ld b,a ;mov b,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 2,C
push af ;push psw ; res 2,C
ld a,c ;mov a,c ;
and $FB ;ani $FB ;
ld c,a ;mov c,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 2,D
push af ;push psw ; res 2,D
ld a,d ;mov a,d ;
and $FB ;ani $FB ;
ld d,a ;mov d,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 2,E
push af ;push psw ; res 2,E
ld a,e ;mov a,e ;
and $FB ;ani $FB ;
ld e,a ;mov e,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 2,H
push af ;push psw ; res 2,H
ld a,h ;mov a,h ;
and $FB ;ani $FB ;
ld h,a ;mov h,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 2,L
push af ;push psw ; res 2,L
ld a,l ;mov a,l ;
and $FB ;ani $FB ;
ld l,a ;mov l,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 2,(HL)
push af ;push psw ; res 2,(HL)
ld a,(hl) ;mov a,m ;
and $FB ;ani $FB ;
ld (hl),a ;mov m,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 2,(IX+d)
push hl ;push h ; res 2,(IX+011h)
push af ;push psw ;
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
add hl,bc ;dad b ;
pop bc ;pop b ;
ld a,(hl) ;mov a,m ;
and $FB ;ani $FB ;
ld (hl),a ;mov m,a ;
pop af ;pop psw ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: RES 2,(IX+d),A ;нет реализации?
: RES 2,(IX+d),B
: RES 2,(IX+d),C
: RES 2,(IX+d),D
: RES 2,(IX+d),E
: RES 2,(IX+d),H
: RES 2,(IX+d),L
;------------------------------------------------------------------------------
: RES 2,(IY+d)
push hl ;push h ; res 2,(IY+011h)
push af ;push psw ;
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
add hl,bc ;dad b ;
pop bc ;pop b ;
ld a,(hl) ;mov a,m ;
and $FB ;ani $FB ;
ld (hl),a ;mov m,a ;
pop af ;pop psw ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: RES 2,(IY+d),A ;нет реализации?
: RES 2,(IY+d),B
: RES 2,(IY+d),C
: RES 2,(IY+d),D
: RES 2,(IY+d),E
: RES 2,(IY+d),H
: RES 2,(IY+d),L
;------------------------------------------------------------------------------
: RES 3,A
push af ;push psw ; res 3,A
and $F7 ;ani $F7 ;
ld (TMP),a ;sta TMP ;
pop af ;pop psw ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: RES 3,B
push af ;push psw ; res 3,B
ld a,b ;mov a,b ;
and $F7 ;ani $F7 ;
ld b,a ;mov b,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 3,C
push af ;push psw ; res 3,C
ld a,c ;mov a,c ;
and $F7 ;ani $F7 ;
ld c,a ;mov c,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 3,D
push af ;push psw ; res 3,D
ld a,d ;mov a,d ;
and $F7 ;ani $F7 ;
ld d,a ;mov d,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 3,E
push af ;push psw ; res 3,E
ld a,e ;mov a,e ;
and $F7 ;ani $F7 ;
ld e,a ;mov e,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 3,H
push af ;push psw ; res 3,H
ld a,h ;mov a,h ;
and $F7 ;ani $F7 ;
ld h,a ;mov h,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 3,L
push af ;push psw ; res 3,L
ld a,l ;mov a,l ;
and $F7 ;ani $F7 ;
ld l,a ;mov l,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 3,(HL)
push af ;push psw ; res 3,(HL)
ld a,(hl) ;mov a,m ;
and $F7 ;ani $F7 ;
ld (hl),a ;mov m,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 3,(IX+d)
push hl ;push h ; res 3,(IX+011h)
push af ;push psw ;
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
add hl,bc ;dad b ;
pop bc ;pop b ;
ld a,(hl) ;mov a,m ;
and $F7 ;ani $F7 ;
ld (hl),a ;mov m,a ;
pop af ;pop psw ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: RES 3,(IX+d),A ;нет реализации?
: RES 3,(IX+d),B
: RES 3,(IX+d),C
: RES 3,(IX+d),D
: RES 3,(IX+d),E
: RES 3,(IX+d),H
: RES 3,(IX+d),L
;------------------------------------------------------------------------------
: RES 3,(IY+d)
push hl ;push h ; res 3,(IY+011h)
push af ;push psw ;
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
add hl,bc ;dad b ;
pop bc ;pop b ;
ld a,(hl) ;mov a,m ;
and $F7 ;ani $F7 ;
ld (hl),a ;mov m,a ;
pop af ;pop psw ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: RES 3,(IY+d),A ;нет реализации?
: RES 3,(IY+d),B
: RES 3,(IY+d),C
: RES 3,(IY+d),D
: RES 3,(IY+d),E
: RES 3,(IY+d),H
: RES 3,(IY+d),L
;------------------------------------------------------------------------------
: RES 4,A
push af ;push psw ; res 4,A
and $EF ;ani $EF ;
ld (TMP),a ;sta TMP ;
pop af ;pop psw ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: RES 4,B
push af ;push psw ; res 4,B
ld a,b ;mov a,b ;
and $EF ;ani $EF ;
ld b,a ;mov b,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 4,C
push af ;push psw ; res 4,C
ld a,c ;mov a,c ;
and $EF ;ani $EF ;
ld c,a ;mov c,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 4,D
push af ;push psw ; res 4,D
ld a,d ;mov a,d ;
and $EF ;ani $EF ;
ld d,a ;mov d,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 4,E
push af ;push psw ; res 4,E
ld a,e ;mov a,e ;
and $EF ;ani $EF ;
ld e,a ;mov e,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 4,H
push af ;push psw ; res 4,H
ld a,h ;mov a,h ;
and $EF ;ani $EF ;
ld h,a ;mov h,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 4,L
push af ;push psw ; res 4,L
ld a,l ;mov a,l ;
and $EF ;ani $EF ;
ld l,a ;mov l,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 4,(HL)
push af ;push psw ; res 4,(HL)
ld a,(hl) ;mov a,m ;
and $EF ;ani $EF ;
ld (hl),a ;mov m,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 4,(IX+d)
push hl ;push h ; res 4,(IX+011h)
push af ;push psw ;
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
add hl,bc ;dad b ;
pop bc ;pop b ;
ld a,(hl) ;mov a,m ;
and $EF ;ani $EF ;
ld (hl),a ;mov m,a ;
pop af ;pop psw ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: RES 4,(IX+d),A ;нет реализации?
: RES 4,(IX+d),B
: RES 4,(IX+d),C
: RES 4,(IX+d),D
: RES 4,(IX+d),E
: RES 4,(IX+d),H
: RES 4,(IX+d),L
;------------------------------------------------------------------------------
: RES 4,(IY+d)
push hl ;push h ; res 4,(IY+011h)
push af ;push psw ;
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
add hl,bc ;dad b ;
pop bc ;pop b ;
ld a,(hl) ;mov a,m ;
and $EF ;ani $EF ;
ld (hl),a ;mov m,a ;
pop af ;pop psw ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: RES 4,(IY+d),A ;нет реализации?
: RES 4,(IY+d),B
: RES 4,(IY+d),C
: RES 4,(IY+d),D
: RES 4,(IY+d),E
: RES 4,(IY+d),H
: RES 4,(IY+d),L
;------------------------------------------------------------------------------
: RES 5,A
push af ;push psw ; res 5,A
and $DF ;ani $DF ;
ld (TMP),a ;sta TMP ;
pop af ;pop psw ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: RES 5,B
push af ;push psw ; res 5,B
ld a,b ;mov a,b ;
and $DF ;ani $DF ;
ld b,a ;mov b,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 5,C
push af ;push psw ; res 5,C
ld a,c ;mov a,c ;
and $DF ;ani $DF ;
ld c,a ;mov c,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 5,D
push af ;push psw ; res 5,D
ld a,d ;mov a,d ;
and $DF ;ani $DF ;
ld d,a ;mov d,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 5,E
push af ;push psw ; res 5,E
ld a,e ;mov a,e ;
and $DF ;ani $DF ;
ld e,a ;mov e,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 5,H
push af ;push psw ; res 5,H
ld a,h ;mov a,h ;
and $DF ;ani $DF ;
ld h,a ;mov h,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 5,L
push af ;push psw ; res 5,L
ld a,l ;mov a,l ;
and $DF ;ani $DF ;
ld l,a ;mov l,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 5,(HL)
push af ;push psw ; res 5,(HL)
ld a,(hl) ;mov a,m ;
and $DF ;ani $DF ;
ld (hl),a ;mov m,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 5,(IX+d)
push hl ;push h ; res 5,(IX+011h)
push af ;push psw ;
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
add hl,bc ;dad b ;
pop bc ;pop b ;
ld a,(hl) ;mov a,m ;
and $DF ;ani $DF ;
ld (hl),a ;mov m,a ;
pop af ;pop psw ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: RES 5,(IX+d),A ;нет реализации?
: RES 5,(IX+d),B
: RES 5,(IX+d),C
: RES 5,(IX+d),D
: RES 5,(IX+d),E
: RES 5,(IX+d),H
: RES 5,(IX+d),L
;------------------------------------------------------------------------------
: RES 5,(IY+d)
push hl ;push h ; res 5,(IY+011h)
push af ;push psw ;
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
add hl,bc ;dad b ;
pop bc ;pop b ;
ld a,(hl) ;mov a,m ;
and $DF ;ani $DF ;
ld (hl),a ;mov m,a ;
pop af ;pop psw ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: RES 5,(IY+d),A ;нет реализации?
: RES 5,(IY+d),B
: RES 5,(IY+d),C
: RES 5,(IY+d),D
: RES 5,(IY+d),E
: RES 5,(IY+d),H
: RES 5,(IY+d),L
;------------------------------------------------------------------------------
: RES 6,A
push af ;push psw ; res 6,A
and $BF ;ani $BF ;
ld (TMP),a ;sta TMP ;
pop af ;pop psw ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: RES 6,B
push af ;push psw ; res 6,B
ld a,b ;mov a,b ;
and $BF ;ani $BF ;
ld b,a ;mov b,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 6,C
push af ;push psw ; res 6,C
ld a,c ;mov a,c ;
and $BF ;ani $BF ;
ld c,a ;mov c,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 6,D
push af ;push psw ; res 6,D
ld a,d ;mov a,d ;
and $BF ;ani $BF ;
ld d,a ;mov d,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 6,E
push af ;push psw ; res 6,E
ld a,e ;mov a,e ;
and $BF ;ani $BF ;
ld e,a ;mov e,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 6,H
push af ;push psw ; res 6,H
ld a,h ;mov a,h ;
and $BF ;ani $BF ;
ld h,a ;mov h,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 6,L
push af ;push psw ; res 6,L
ld a,l ;mov a,l ;
and $BF ;ani $BF ;
ld l,a ;mov l,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 6,(HL)
push af ;push psw ; res 6,(HL)
ld a,(hl) ;mov a,m ;
and $BF ;ani $BF ;
ld (hl),a ;mov m,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 6,(IX+d)
push hl ;push h ; res 6,(IX+011h)
push af ;push psw ;
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
add hl,bc ;dad b ;
pop bc ;pop b ;
ld a,(hl) ;mov a,m ;
and $BF ;ani $BF ;
ld (hl),a ;mov m,a ;
pop af ;pop psw ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: RES 6,(IX+d),A ;нет реализации?
: RES 6,(IX+d),B
: RES 6,(IX+d),C
: RES 6,(IX+d),D
: RES 6,(IX+d),E
: RES 6,(IX+d),H
: RES 6,(IX+d),L
;------------------------------------------------------------------------------
: RES 6,(IY+d)
push hl ;push h ; res 6,(IY+011h)
push af ;push psw ;
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
add hl,bc ;dad b ;
pop bc ;pop b ;
ld a,(hl) ;mov a,m ;
and $BF ;ani $BF ;
ld (hl),a ;mov m,a ;
pop af ;pop psw ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: RES 6,(IY+d),A ;нет реализации?
: RES 6,(IY+d),B
: RES 6,(IY+d),C
: RES 6,(IY+d),D
: RES 6,(IY+d),E
: RES 6,(IY+d),H
: RES 6,(IY+d),L
;------------------------------------------------------------------------------
: RES 7,A
push af ;push psw ; res 7,A
and $7F ;ani $7F ;
ld (TMP),a ;sta TMP ;
pop af ;pop psw ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: RES 7,B
push af ;push psw ; res 7,B
ld a,b ;mov a,b ;
and $7F ;ani $7F ;
ld b,a ;mov b,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 7,C
push af ;push psw ; res 7,C
ld a,c ;mov a,c ;
and $7F ;ani $7F ;
ld c,a ;mov c,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 7,D
push af ;push psw ; res 7,D
ld a,d ;mov a,d ;
and $7F ;ani $7F ;
ld d,a ;mov d,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 7,E
push af ;push psw ; res 7,E
ld a,e ;mov a,e ;
and $7F ;ani $7F ;
ld e,a ;mov e,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 7,H
push af ;push psw ; res 7,H
ld a,h ;mov a,h ;
and $7F ;ani $7F ;
ld h,a ;mov h,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 7,L
push af ;push psw ; res 7,L
ld a,l ;mov a,l ;
and $7F ;ani $7F ;
ld l,a ;mov l,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 7,(HL)
push af ;push psw ; res 7,(HL)
ld a,(hl) ;mov a,m ;
and $7F ;ani $7F ;
ld (hl),a ;mov m,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: RES 7,(IX+d)
push hl ;push h ; res 7,(IX+011h)
push af ;push psw ;
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
add hl,bc ;dad b ;
pop bc ;pop b ;
ld a,(hl) ;mov a,m ;
and $7F ;ani $7F ;
ld (hl),a ;mov m,a ;
pop af ;pop psw ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: RES 7,(IX+d),A ;нет реализации?
: RES 7,(IX+d),B
: RES 7,(IX+d),C
: RES 7,(IX+d),D
: RES 7,(IX+d),E
: RES 7,(IX+d),H
: RES 7,(IX+d),L
;------------------------------------------------------------------------------
: RES 7,(IY+d)
push hl ;push h ; res 7,(IY+011h)
push af ;push psw ;
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
add hl,bc ;dad b ;
pop bc ;pop b ;
ld a,(hl) ;mov a,m ;
and $7F ;ani $7F ;
ld (hl),a ;mov m,a ;
pop af ;pop psw ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: RES 7,(IY+d),A ;нет реализации?
: RES 7,(IY+d),B
: RES 7,(IY+d),C
: RES 7,(IY+d),D
: RES 7,(IY+d),E
: RES 7,(IY+d),H
: RES 7,(IY+d),L
;------------------------------------------------------------------------------
; 8080 rla ;ral
; 8080 rra ;rar
; 8080 rlca ;rlc
; 8080 rrca ;rrc
;------------------------------------------------------------------------------
: RL A
rla ;ral ; rl A
;------------------------------------------------------------------------------
: RL B
ld (TMP),a ;sta TMP ; rl B
ld a,b ;mov a,b ;
rla ;ral ;
ld b,a ;mov b,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: RL C
ld (TMP),a ;sta TMP ; rl C
ld a,c ;mov a,c ;
rla ;ral ;
ld c,a ;mov c,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: RL D
ld (TMP),a ;sta TMP ; rl D
ld a,d ;mov a,d ;
rla ;ral ;
ld d,a ;mov d,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: RL E
ld (TMP),a ;sta TMP ; rl E
ld a,e ;mov a,e ;
rla ;ral ;
ld e,a ;mov e,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: RL H
ld (TMP),a ;sta TMP ; rl H
ld a,h ;mov a,h ;
rla ;ral ;
ld h,a ;mov h,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: RL L
ld (TMP),a ;sta TMP ; rl L
ld a,l ;mov a,l ;
rla ;ral ;
ld l,a ;mov l,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: RL (HL)
ld (TMP),a ;sta TMP ; rl (HL)
ld a,(hl) ;mov a,m ;
rla ;ral ;
ld (hl),a ;mov m,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: RL (IX+d)
push hl ;push h ; rl (IX+011h)
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld (TMP),a ;sta TMP ;
ld a,(hl) ;mov a,m ;
rla ;ral ;
ld (hl),a ;mov m,a ;
ld a,(TMP) ;lda TMP ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: RL (IX+d),A ;нет реализации?
: RL (IX+d),B
: RL (IX+d),C
: RL (IX+d),D
: RL (IX+d),E
: RL (IX+d),H
: RL (IX+d),L
;------------------------------------------------------------------------------
: RL (IY+d)
push hl ;push h ; rl (IY+011h)
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld (TMP),a ;sta TMP ;
ld a,(hl) ;mov a,m ;
rla ;ral ;
ld (hl),a ;mov m,a ;
ld a,(TMP) ;lda TMP ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: RL (IY+d),A ;нет реализации?
: RL (IY+d),B
: RL (IY+d),C
: RL (IY+d),D
: RL (IY+d),E
: RL (IY+d),H
: RL (IY+d),L
;------------------------------------------------------------------------------
: RLC A
rlca ;rlc ; rlc A
;------------------------------------------------------------------------------
: RLC B
ld (TMP),a ;sta TMP ; rlc B
ld a,b ;mov a,b ;
rlca ;rlc ;
ld b,a ;mov b,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: RLC C
ld (TMP),a ;sta TMP ; rlc C
ld a,c ;mov a,c ;
rlca ;rlc ;
ld c,a ;mov c,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: RLC D
ld (TMP),a ;sta TMP ; rlc D
ld a,d ;mov a,d ;
rlca ;rlc ;
ld d,a ;mov d,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: RLC E
ld (TMP),a ;sta TMP ; rlc E
ld a,e ;mov a,e ;
rlca ;rlc ;
ld e,a ;mov e,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: RLC H
ld (TMP),a ;sta TMP ; rlc H
ld a,h ;mov a,h ;
rlca ;rlc ;
ld h,a ;mov h,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: RLC L
ld (TMP),a ;sta TMP ; rlc L
ld a,l ;mov a,l ;
rlca ;rlc ;
ld l,a ;mov l,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: RLC (HL)
ld (TMP),a ;sta TMP ; rlc (HL)
ld a,(hl) ;mov a,m ;
rlca ;rlc ;
ld (hl),a ;mov m,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: RLC (IX+d)
push hl ;push h ; rlc (IX+011h)
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld (TMP),a ;sta TMP ;
ld a,(hl) ;mov a,m ;
rlca ;rlc ;
ld (hl),a ;mov m,a ;
ld a,(TMP) ;lda TMP ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: RLC (IX+d),A ;нет реализации?
: RLC (IX+d),B
: RLC (IX+d),C
: RLC (IX+d),D
: RLC (IX+d),E
: RLC (IX+d),H
: RLC (IX+d),L
;------------------------------------------------------------------------------
: RLC (IY+d)
push hl ;push h ; rlc (IY+011h)
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld (TMP),a ;sta TMP ;
ld a,(hl) ;mov a,m ;
rlca ;rlc ;
ld (hl),a ;mov m,a ;
ld a,(TMP) ;lda TMP ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: RLC (IY+d),A ;нет реализации?
: RLC (IY+d),B
: RLC (IY+d),C
: RLC (IY+d),D
: RLC (IY+d),E
: RLC (IY+d),H
: RLC (IY+d),L
;------------------------------------------------------------------------------
: RR A
rra ;rar ; rr A
;------------------------------------------------------------------------------
: RR B
ld (TMP),a ;sta TMP ; rr B
ld a,b ;mov a,b ;
rra ;rar ;
ld b,a ;mov b,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: RR C
ld (TMP),a ;sta TMP ; rr C
ld a,c ;mov a,c ;
rra ;rar ;
ld c,a ;mov c,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: RR D
ld (TMP),a ;sta TMP ; rr D
ld a,d ;mov a,d ;
rra ;rar ;
ld d,a ;mov d,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: RR E
ld (TMP),a ;sta TMP ; rr E
ld a,e ;mov a,e ;
rra ;rar ;
ld e,a ;mov e,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: RR H
ld (TMP),a ;sta TMP ; rr H
ld a,h ;mov a,h ;
rra ;rar ;
ld h,a ;mov h,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: RR L
ld (TMP),a ;sta TMP ; rr L
ld a,l ;mov a,l ;
rra ;rar ;
ld l,a ;mov l,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: RR (HL)
ld (TMP),a ;sta TMP ; rr (HL)
ld a,(hl) ;mov a,m ;
rra ;rar ;
ld (hl),a ;mov m,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: RR (IX+d)
push hl ;push h ; rr (IX+011h)
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld (TMP),a ;sta TMP ;
ld a,(hl) ;mov a,m ;
rra ;rar ;
ld (hl),a ;mov m,a ;
ld a,(TMP) ;lda TMP ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: RR (IX+d),A ;нет реализации?
: RR (IX+d),B
: RR (IX+d),C
: RR (IX+d),D
: RR (IX+d),E
: RR (IX+d),H
: RR (IX+d),L
;------------------------------------------------------------------------------
: RR (IY+d)
push hl ;push h ; rr (IY+011h)
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld (TMP),a ;sta TMP ;
ld a,(hl) ;mov a,m ;
rra ;rar ;
ld (hl),a ;mov m,a ;
ld a,(TMP) ;lda TMP ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: RR (IY+d),A ;нет реализации?
: RR (IY+d),B
: RR (IY+d),C
: RR (IY+d),D
: RR (IY+d),E
: RR (IY+d),H
: RR (IY+d),L
;------------------------------------------------------------------------------
: RRC A
rrca ;rrc ; rrc A
;------------------------------------------------------------------------------
: RRC B
ld (TMP),a ;sta TMP ; rrc B
ld a,b ;mov a,b ;
rrca ;rrc ;
ld b,a ;mov b,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: RRC C
ld (TMP),a ;sta TMP ; rrc C
ld a,c ;mov a,c ;
rrca ;rrc ;
ld c,a ;mov c,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: RRC D
ld (TMP),a ;sta TMP ; rrc D
ld a,d ;mov a,d ;
rrca ;rrc ;
ld d,a ;mov d,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: RRC E
ld (TMP),a ;sta TMP ; rrc E
ld a,e ;mov a,e ;
rrca ;rrc ;
ld e,a ;mov e,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: RRC H
ld (TMP),a ;sta TMP ; rrc H
ld a,h ;mov a,h ;
rrca ;rrc ;
ld h,a ;mov h,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: RRC L
ld (TMP),a ;sta TMP ; rrc L
ld a,l ;mov a,l ;
rrca ;rrc ;
ld l,a ;mov l,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: RRC (HL)
ld (TMP),a ;sta TMP ; rrc (HL)
ld a,(hl) ;mov a,m ;
rrca ;rrc ;
ld (hl),a ;mov m,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: RRC (IX+d)
push hl ;push h ; rrc (IX+011h)
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld (TMP),a ;sta TMP ;
ld a,(hl) ;mov a,m ;
rrca ;rrc ;
ld (hl),a ;mov m,a ;
ld a,(TMP) ;lda TMP ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: RRC (IX+d),A ;нет реализации?
: RRC (IX+d),B
: RRC (IX+d),C
: RRC (IX+d),D
: RRC (IX+d),E
: RRC (IX+d),H
: RRC (IX+d),L
;------------------------------------------------------------------------------
: RRC (IY+d)
push hl ;push h ; rrc (IY+011h)
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld (TMP),a ;sta TMP ;
ld a,(hl) ;mov a,m ;
rrca ;rrc ;
ld (hl),a ;mov m,a ;
ld a,(TMP) ;lda TMP ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: RRC (IY+d),A ;нет реализации?
: RRC (IY+d),B
: RRC (IY+d),C
: RRC (IY+d),D
: RRC (IY+d),E
: RRC (IY+d),H
: RRC (IY+d),L
;------------------------------------------------------------------------------
: RLD
push de ;push d ; rld
ld e,(hl) ;mov e,m ;
ld d,$00 ;mvi d,0 ;
ex de,hl ;xchg ;
add hl,hl ;dad h ;
add hl,hl ;dad h ;
add hl,hl ;dad h ;
add hl,hl ;dad h ;
ex de,hl ;xchg ;
ld (hl),a ;mov m,a ;
and $0F ;ani 00Fh ;
or e ;ora e ;
ld e,(hl) ;mov e,m ;
ld (hl),a ;mov m,a ;
ld a,$F0 ;mvi a,0F0h ;
and e ;ana e ;
or d ;ora d ;
pop de ;pop d ; DAO
; ret ;ret
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
: RLD (TASM Version)
push de ;push d ;
ld e,(hl) ;mov e,m ;
ld d,$00 ;mvi d,0 ;
ex de,hl ;xchg ;
add hl,hl ;dad h ;
add hl,hl ;dad h ;
add hl,hl ;dad h ;
add hl,hl ;dad h ;
ex de,hl ;xchg ;
ld (TMP),a ;sta TMP ;
and $0F ;ani 0Fh ;
or e ;ora e ;
ld (hl),a ;mov m,a ;
ld a,(TMP) ;lda TMP ;
and $F0 ;ani 0F0h ;
or d ;ora d ;
pop de ;pop d ; TASM
; ret ;ret
; RLD (TASM)
; - флаг С будет всегда сброшен,
; на Z80 при выполнении этих команд не изменяется
;------------------------------------------------------------------------------
: RRD
push bc ;push b ; rrd
ld b,a ;mov b,a ;
and $0F ;ani 00Fh ;
ld c,a ;mov c,a ;
ld a,(hl) ;mov a,m ;
and $F0 ;ani 0F0h ;
or c ;ora c ;
rrca ;rrc ;
rrca ;rrc ;
rrca ;rrc ;
rrca ;rrc ;
ld c,(hl) ;mov c,m ;
ld (hl),a ;mov m,a ;
ld a,$F0 ;mvi a,0F0h ;
and b ;ana b ;
ld b,a ;mov b,a ;
ld a,$0F ;mvi a,00Fh ;
and c ;ana c ;
or b ;ora b ;
pop bc ;pop b ; DAO
; ret ;ret
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
: RRD (TASM Version)
push de ;push d ;
push bc ;push b ;
ld c,a ;mov c,a ;
ld a,(hl) ;mov a,m ;
ld d,a ;mov d,a ;
and $F0 ;ani 0F0h ;
ld e,a ;mov e,a ;
ld a,c ;mov a,c ;
and $0F ;ani 0Fh ;
or e ;ora e ;
rrca ;rrc ;
rrca ;rrc ;
rrca ;rrc ;
rrca ;rrc ;
ld (hl),a ;mov m,a ;
ld a,c ;mov a,c ;
and $F0 ;ani 0F0h ;
ld e,a ;mov e,a ;
ld a,d ;mov a,d ;
and $0F ;ani 0Fh ;
or e ;ora e ;
pop bc ;pop b ;
pop de ;pop d ; TASM
; ret ;ret
; RRD (TASM)
; - флаг С будет всегда сброшен,
; на Z80 при выполнении этих команд не изменяется
;------------------------------------------------------------------------------
; 8080 sbc a ;sbb a
; 8080 sbc b ;sbb b
; 8080 sbc c ;sbb c
; 8080 sbc d ;sbb d
; 8080 sbc e ;sbb e
; 8080 sbc h ;sbb h
; 8080 sbc l ;sbb l
;------------------------------------------------------------------------------
: SBC A,ixh
push hl ;push h ; sbc A,IXH
ld hl,(rIX) ;lhld rIX ;
sbc h ;sbb h ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: SBC A,ixl
push hl ;push h ; sbc A,IXL
ld hl,(rIX) ;lhld rIX ;
sbc l ;sbb l ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: SBC A,iyh
push hl ;push h ; sbc A,IYH
ld hl,(rIY) ;lhld rIY ;
sbc h ;sbb h ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: SBC A,iyl
push hl ;push h ; sbc A,IYL
ld hl,(rIY) ;lhld rIY ;
sbc l ;sbb l ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
; 8080 sbc $22 ;sbi $22
; 8080 sbc (hl) ;sbb m
;------------------------------------------------------------------------------
: SBC A,(IX+d)
push hl ;push h ; sbc A,(IX+011h)
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
sbc (hl) ;sbb m ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: SBC A,(IY+d)
push hl ;push h ; sbc A,(IY+011h)
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
sbc (hl) ;sbb m ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: SBC HL,BC
ld (TMP),a ;sta TMP ; sbc HL,BC
ld a,l ;mov a,l ;
sbc c ;sbb c ;
ld l,a ;mov l,a ;
ld a,h ;mov a,h ;
sbc b ;sbb b ;
ld h,a ;mov h,a ;
jp c,$+7 ;jc $+7 ;
or l ;ora l ;
jp $+5 ;jmp $+5 ;
or l ;ora l ;
scf ;stc ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: SBC HL,DE
ld (TMP),a ;sta TMP ; sbc HL,DE
ld a,l ;mov a,l ;
sbc e ;sbb e ;
ld l,a ;mov l,a ;
ld a,h ;mov a,h ;
sbc d ;sbb d ;
ld h,a ;mov h,a ;
jp c,$+7 ;jc $+7 ;
or l ;ora l ;
jp $+5 ;jmp $+5 ;
or l ;ora l ;
scf ;stc ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: SBC HL,HL
ld hl,$0000 ;lxi h,$0000 ; sbc HL,HL
;совсем не правильно !!! ; ERROR
;------------------------------------------------------------------------------
: SBC HL,SP
ld (TMP),a ;sta TMP ; sbc HL,SP
push de ;push d ;
ex de,hl ;xchg ;
ld hl,$0000 ;lxi h,$0000 ;
add hl,sp ;dad sp ;
ex de,hl ;xchg ;
ld a,l ;mov a,l ;
sbc e ;sbb e ;
ld l,a ;mov l,a ;
ld a,h ;mov a,h ;
sbc d ;sbb d ;
ld h,a ;mov h,a ;
jp c,$+7 ;jc $+7 ;
or l ;ora l ;
jp $+5 ;jmp $+5 ;
or l ;ora l ;
scf ;stc ;
pop de ;pop d ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: SET 0,A
push af ;push psw ; set 0,A
or $01 ;ori $01 ;
ld (TMP),a ;sta TMP ;
pop af ;pop psw ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: SET 0,B
push af ;push psw ; set 0,B
ld a,b ;mov a,b ;
or $01 ;ori $01 ;
ld b,a ;mov b,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 0,C
push af ;push psw ; set 0,C
ld a,c ;mov a,c ;
or $01 ;ori $01 ;
ld c,a ;mov c,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 0,D
push af ;push psw ; set 0,D
ld a,d ;mov a,d ;
or $01 ;ori $01 ;
ld d,a ;mov d,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 0,E
push af ;push psw ; set 0,E
ld a,e ;mov a,e ;
or $01 ;ori $01 ;
ld e,a ;mov e,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 0,H
push af ;push psw ; set 0,H
ld a,h ;mov a,h ;
or $01 ;ori $01 ;
ld h,a ;mov h,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 0,L
push af ;push psw ; set 0,L
ld a,l ;mov a,l ;
or $01 ;ori $01 ;
ld l,a ;mov l,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 0,(HL)
push af ;push psw ; set 0,(HL)
ld a,(hl) ;mov a,m ;
or $01 ;ori $01 ;
ld (hl),a ;mov m,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 0,(IX+d)
push af ;push psw ; set 0,(IX+011h)
push hl ;push h ;
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
add hl,bc ;dad b ;
pop bc ;pop b ;
ld a,(hl) ;mov a,m ;
or $01 ;ori $01 ;
ld (hl),a ;mov m,a ;
pop hl ;pop h ;
pop af ;pop psw ;
;------------------------------------------------------------------------------
: SET 0,(IX+d),A ;нет реализации?
: SET 0,(IX+d),B
: SET 0,(IX+d),C
: SET 0,(IX+d),D
: SET 0,(IX+d),E
: SET 0,(IX+d),H
: SET 0,(IX+d),L
;------------------------------------------------------------------------------
: SET 0,(IY+d)
push af ;push psw ; set 0,(IY+011h)
push hl ;push h ;
ld hl,(rIY) ;lhld IY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,00011h ;
add hl,bc ;dad b ;
pop bc ;pop b ;
ld a,(hl) ;mov a,m ;
or $01 ;ori 001h ;
ld (hl),a ;mov m,a ;
pop hl ;pop h ;
pop af ;pop psw ;
;------------------------------------------------------------------------------
: SET 0,(IY+d),A ;нет реализации?
: SET 0,(IY+d),B
: SET 0,(IY+d),C
: SET 0,(IY+d),D
: SET 0,(IY+d),E
: SET 0,(IY+d),H
: SET 0,(IY+d),L
;------------------------------------------------------------------------------
: SET 1,A
push af ;push psw ; set 1,A
or $02 ;ori 002h ;
ld (TMP),a ;sta TMP ;
pop af ;pop psw ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: SET 1,B
push af ;push psw ; set 1,B
ld a,b ;mov a,b ;
or $02 ;ori $02 ;
ld b,a ;mov b,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 1,C
push af ;push psw ; set 1,C
ld a,c ;mov a,c ;
or $02 ;ori $02 ;
ld c,a ;mov c,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 1,D
push af ;push psw ; set 1,D
ld a,d ;mov a,d ;
or $02 ;ori $02 ;
ld d,a ;mov d,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 1,E
push af ;push psw ; set 1,E
ld a,e ;mov a,e ;
or $02 ;ori $02 ;
ld e,a ;mov e,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 1,H
push af ;push psw ; set 1,H
ld a,h ;mov a,h ;
or $02 ;ori $02 ;
ld h,a ;mov h,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 1,L
push af ;push psw ; set 1,L
ld a,l ;mov a,l ;
or $02 ;ori $02 ;
ld l,a ;mov l,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 1,(HL)
push af ;push psw ; set 1,(HL)
ld a,(hl) ;mov a,m ;
or $02 ;ori $02 ;
ld (hl),a ;mov m,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 1,(IX+d)
push af ;push psw ; set 1,(IX+011h)
push hl ;push h ;
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
add hl,bc ;dad b ;
pop bc ;pop b ;
ld a,(hl) ;mov a,m ;
or $02 ;ori $02 ;
ld (hl),a ;mov m,a ;
pop hl ;pop h ;
pop af ;pop psw ;
;------------------------------------------------------------------------------
: SET 1,(IX+d),A ;нет реализации?
: SET 1,(IX+d),B
: SET 1,(IX+d),C
: SET 1,(IX+d),D
: SET 1,(IX+d),E
: SET 1,(IX+d),H
: SET 1,(IX+d),L
;------------------------------------------------------------------------------
: SET 1,(IY+d)
push af ;push psw ; set 1,(IY+011h)
push hl ;push h ;
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,00011h ;
add hl,bc ;dad b ;
pop bc ;pop b ;
ld a,(hl) ;mov a,m ;
or $02 ;ori 002h ;
ld (hl),a ;mov m,a ;
pop hl ;pop h ;
pop af ;pop psw ;
;------------------------------------------------------------------------------
: SET 1,(IY+d),A ;нет реализации?
: SET 1,(IY+d),B
: SET 1,(IY+d),C
: SET 1,(IY+d),D
: SET 1,(IY+d),E
: SET 1,(IY+d),H
: SET 1,(IY+d),L
;------------------------------------------------------------------------------
: SET 2,A
push af ;push psw ; set 2,A
or $04 ;ori 004h ;
ld (TMP),a ;sta TMP ;
pop af ;pop psw ;
ld a,(TMP) ;lda TMP ;
;может можно оптимизировать по размеру?
;------------------------------------------------------------------------------
: SET 2,B
push af ;push psw ; set 2,B
ld a,b ;mov a,b ;
or $04 ;ori $04 ;
ld b,a ;mov b,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 2,C
push af ;push psw ; set 2,C
ld a,c ;mov a,c ;
or $04 ;ori $04 ;
ld c,a ;mov c,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 2,D
push af ;push psw ; set 2,D
ld a,d ;mov a,d ;
or $04 ;ori $04 ;
ld d,a ;mov d,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 2,E
push af ;push psw ; set 2,E
ld a,e ;mov a,e ;
or $04 ;ori $04 ;
ld e,a ;mov e,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 2,H
push af ;push psw ; set 2,H
ld a,h ;mov a,h ;
or $04 ;ori $04 ;
ld h,a ;mov h,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 2,L
push af ;push psw ; set 2,L
ld a,l ;mov a,l ;
or $04 ;ori $04 ;
ld l,a ;mov l,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 2,(HL)
push af ;push psw ; set 2,(HL)
ld a,(hl) ;mov a,m ;
or $04 ;ori $04 ;
ld (hl),a ;mov m,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 2,(IX+d)
push af ;push psw ; set 2,(IX+011h)
push hl ;push h ;
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
add hl,bc ;dad b ;
pop bc ;pop b ;
ld a,(hl) ;mov a,m ;
or $04 ;ori $04 ;
ld (hl),a ;mov m,a ;
pop hl ;pop h ;
pop af ;pop psw ;
;------------------------------------------------------------------------------
: SET 2,(IX+d),A ;нет реализации?
: SET 2,(IX+d),B
: SET 2,(IX+d),C
: SET 2,(IX+d),D
: SET 2,(IX+d),E
: SET 2,(IX+d),H
: SET 2,(IX+d),L
;------------------------------------------------------------------------------
: SET 2,(IY+d)
push af ;push psw ; set 2,(IY+011h)
push hl ;push h ;
ld hl,(rIY) ;lhld IY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,00011h ;
add hl,bc ;dad b ;
pop bc ;pop b ;
ld a,(hl) ;mov a,m ;
or $04 ;ori 004h ;
ld (hl),a ;mov m,a ;
pop hl ;pop h ;
pop af ;pop psw ;
;------------------------------------------------------------------------------
: SET 2,(IY+d),A ;нет реализации?
: SET 2,(IY+d),B
: SET 2,(IY+d),C
: SET 2,(IY+d),D
: SET 2,(IY+d),E
: SET 2,(IY+d),H
: SET 2,(IY+d),L
;------------------------------------------------------------------------------
: SET 3,A
push af ;push psw ; set 3,A
or $08 ;ori 008h ;
ld (TMP),a ;sta TMP ;
pop af ;pop psw ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: SET 3,B
push af ;push psw ; set 3,B
ld a,b ;mov a,b ;
or $08 ;ori $08 ;
ld b,a ;mov b,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 3,C
push af ;push psw ; set 3,C
ld a,c ;mov a,c ;
or $08 ;ori $08 ;
ld c,a ;mov c,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 3,D
push af ;push psw ; set 3,D
ld a,d ;mov a,d ;
or $08 ;ori $08 ;
ld d,a ;mov d,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 3,E
push af ;push psw ; set 3,E
ld a,e ;mov a,e ;
or $08 ;ori $08 ;
ld e,a ;mov e,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 3,H
push af ;push psw ; set 3,H
ld a,h ;mov a,h ;
or $08 ;ori $08 ;
ld h,a ;mov h,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 3,L
push af ;push psw ; set 3,L
ld a,l ;mov a,l ;
or $08 ;ori $08 ;
ld l,a ;mov l,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 3,(HL)
push af ;push psw ; set 3,(HL)
ld a,(hl) ;mov a,m ;
or $08 ;ori $08 ;
ld (hl),a ;mov m,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 3,(IX+d)
push af ;push psw ; set 3,(IX+011h)
push hl ;push h ;
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
add hl,bc ;dad b ;
pop bc ;pop b ;
ld a,(hl) ;mov a,m ;
or $08 ;ori $08 ;
ld (hl),a ;mov m,a ;
pop hl ;pop h ;
pop af ;pop psw ;
;------------------------------------------------------------------------------
: SET 3,(IX+d),A ;нет реализации?
: SET 3,(IX+d),B
: SET 3,(IX+d),C
: SET 3,(IX+d),D
: SET 3,(IX+d),E
: SET 3,(IX+d),H
: SET 3,(IX+d),L
;------------------------------------------------------------------------------
: SET 3,(IY+d)
push af ;push psw ; set 3,(IY+011h)
push hl ;push h ;
ld hl,(rIY) ;lhld IY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,00011h ;
add hl,bc ;dad b ;
pop bc ;pop b ;
ld a,(hl) ;mov a,m ;
or $08 ;ori 008h ;
ld (hl),a ;mov m,a ;
pop hl ;pop h ;
pop af ;pop psw ;
;------------------------------------------------------------------------------
: SET 3,(IY+d),A ;нет реализации?
: SET 3,(IY+d),B
: SET 3,(IY+d),C
: SET 3,(IY+d),D
: SET 3,(IY+d),E
: SET 3,(IY+d),H
: SET 3,(IY+d),L
;------------------------------------------------------------------------------
: SET 4,A
push af ;push psw ; set 4,A
or $10 ;ori 010h ;
ld (TMP),a ;sta TMP ;
pop af ;pop psw ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: SET 4,B
push af ;push psw ; set 4,B
ld a,b ;mov a,b ;
or $10 ;ori $10 ;
ld b,a ;mov b,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 4,C
push af ;push psw ; set 4,C
ld a,c ;mov a,c ;
or $10 ;ori $10 ;
ld c,a ;mov c,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 4,D
push af ;push psw ; set 4,D
ld a,d ;mov a,d ;
or $10 ;ori $10 ;
ld d,a ;mov d,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 4,E
push af ;push psw ; set 4,E
ld a,e ;mov a,e ;
or $10 ;ori $10 ;
ld e,a ;mov e,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 4,H
push af ;push psw ; set 4,H
ld a,h ;mov a,h ;
or $10 ;ori $10 ;
ld h,a ;mov h,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 4,L
push af ;push psw ; set 4,L
ld a,l ;mov a,l ;
or $10 ;ori $10 ;
ld l,a ;mov l,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 4,(HL)
push af ;push psw ; set 4,(HL)
ld a,(hl) ;mov a,m ;
or $10 ;ori $10 ;
ld (hl),a ;mov m,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 4,(IX+d)
push af ;push psw ; set 4,(IX+011h)
push hl ;push h ;
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
add hl,bc ;dad b ;
pop bc ;pop b ;
ld a,(hl) ;mov a,m ;
or $10 ;ori $10 ;
ld (hl),a ;mov m,a ;
pop hl ;pop h ;
pop af ;pop psw ;
;------------------------------------------------------------------------------
: SET 4,(IX+d),A ;нет реализации?
: SET 4,(IX+d),B
: SET 4,(IX+d),C
: SET 4,(IX+d),D
: SET 4,(IX+d),E
: SET 4,(IX+d),H
: SET 4,(IX+d),L
;------------------------------------------------------------------------------
: SET 4,(IY+d)
push af ;push psw ; set 4,(IY+011h)
push hl ;push h ;
ld hl,(rIY) ;lhld IY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,00011h ;
add hl,bc ;dad b ;
pop bc ;pop b ;
ld a,(hl) ;mov a,m ;
or $10 ;ori 010h ;
ld (hl),a ;mov m,a ;
pop hl ;pop h ;
pop af ;pop psw ;
;------------------------------------------------------------------------------
: SET 4,(IY+d),A ;нет реализации?
: SET 4,(IY+d),B
: SET 4,(IY+d),C
: SET 4,(IY+d),D
: SET 4,(IY+d),E
: SET 4,(IY+d),H
: SET 4,(IY+d),L
;------------------------------------------------------------------------------
: SET 5,A
push af ;push psw ; set 5,A
or $20 ;ori 020h ;
ld (TMP),a ;sta TMP ;
pop af ;pop psw ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: SET 5,B
push af ;push psw ; set 5,B
ld a,b ;mov a,b ;
or $20 ;ori $20 ;
ld b,a ;mov b,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 5,C
push af ;push psw ; set 5,C
ld a,c ;mov a,c ;
or $20 ;ori $20 ;
ld c,a ;mov c,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 5,D
push af ;push psw ; set 5,D
ld a,d ;mov a,d ;
or $20 ;ori $20 ;
ld d,a ;mov d,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 5,E
push af ;push psw ; set 5,E
ld a,e ;mov a,e ;
or $20 ;ori $20 ;
ld e,a ;mov e,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 5,H
push af ;push psw ; set 5,H
ld a,h ;mov a,h ;
or $20 ;ori $20 ;
ld h,a ;mov h,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 5,L
push af ;push psw ; set 5,L
ld a,l ;mov a,l ;
or $20 ;ori $20 ;
ld l,a ;mov l,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 5,(HL)
push af ;push psw ; set 5,(HL)
ld a,(hl) ;mov a,m ;
or $20 ;ori $20 ;
ld (hl),a ;mov m,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 5,(IX+d)
push af ;push psw ; set 5,(IX+011h)
push hl ;push h ;
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
add hl,bc ;dad b ;
pop bc ;pop b ;
ld a,(hl) ;mov a,m ;
or $20 ;ori $20 ;
ld (hl),a ;mov m,a ;
pop hl ;pop h ;
pop af ;pop psw ;
;------------------------------------------------------------------------------
: SET 5,(IX+d),A ;нет реализации?
: SET 5,(IX+d),B
: SET 5,(IX+d),C
: SET 5,(IX+d),D
: SET 5,(IX+d),E
: SET 5,(IX+d),H
: SET 5,(IX+d),L
;------------------------------------------------------------------------------
: SET 5,(IY+d)
push af ;push psw ; set 5,(IY+011h)
push hl ;push h ;
ld hl,(rIY) ;lhld IY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,00011h ;
add hl,bc ;dad b ;
pop bc ;pop b ;
ld a,(hl) ;mov a,m ;
or $20 ;ori 020h ;
ld (hl),a ;mov m,a ;
pop hl ;pop h ;
pop af ;pop psw ;
;------------------------------------------------------------------------------
: SET 5,(IY+d),A ;нет реализации?
: SET 5,(IY+d),B
: SET 5,(IY+d),C
: SET 5,(IY+d),D
: SET 5,(IY+d),E
: SET 5,(IY+d),H
: SET 5,(IY+d),L
;------------------------------------------------------------------------------
: SET 6,A
push af ;push psw ; set 6,A
or $40 ;ori 040h ;
ld (TMP),a ;sta TMP ;
pop af ;pop psw ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: SET 6,B
push af ;push psw ; set 6,B
ld a,b ;mov a,b ;
or $40 ;ori $40 ;
ld b,a ;mov b,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 6,C
push af ;push psw ; set 6,C
ld a,c ;mov a,c ;
or $40 ;ori $40 ;
ld c,a ;mov c,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 6,D
push af ;push psw ; set 6,D
ld a,d ;mov a,d ;
or $40 ;ori $40 ;
ld d,a ;mov d,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 6,E
push af ;push psw ; set 6,E
ld a,e ;mov a,e ;
or $40 ;ori $40 ;
ld e,a ;mov e,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 6,H
push af ;push psw ; set 6,H
ld a,h ;mov a,h ;
or $40 ;ori $40 ;
ld h,a ;mov h,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 6,L
push af ;push psw ; set 6,L
ld a,l ;mov a,l ;
or $40 ;ori $40 ;
ld l,a ;mov l,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 6,(HL)
push af ;push psw ; set 6,(HL)
ld a,(hl) ;mov a,m ;
or $40 ;ori $40 ;
ld (hl),a ;mov m,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 6,(IX+d)
push af ;push psw ; set 6,(IX+011h)
push hl ;push h ;
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
add hl,bc ;dad b ;
pop bc ;pop b ;
ld a,(hl) ;mov a,m ;
or $40 ;ori $40 ;
ld (hl),a ;mov m,a ;
pop hl ;pop h ;
pop af ;pop psw ;
;------------------------------------------------------------------------------
: SET 6,(IX+d),A ;нет реализации?
: SET 6,(IX+d),B
: SET 6,(IX+d),C
: SET 6,(IX+d),D
: SET 6,(IX+d),E
: SET 6,(IX+d),H
: SET 6,(IX+d),L
;------------------------------------------------------------------------------
: SET 6,(IY+d)
push af ;push psw ; set 6,(IY+011h)
push hl ;push h ;
ld hl,(rIY) ;lhld IY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,00011h ;
add hl,bc ;dad b ;
pop bc ;pop b ;
ld a,(hl) ;mov a,m ;
or $40 ;ori 040h ;
ld (hl),a ;mov m,a ;
pop hl ;pop h ;
pop af ;pop psw ;
;------------------------------------------------------------------------------
: SET 6,(IY+d),A ;нет реализации?
: SET 6,(IY+d),B
: SET 6,(IY+d),C
: SET 6,(IY+d),D
: SET 6,(IY+d),E
: SET 6,(IY+d),H
: SET 6,(IY+d),L
;------------------------------------------------------------------------------
: SET 7,A
push af ;push psw ; set 7,A
or $80 ;ori 080h ;
ld (TMP),a ;sta TMP ;
pop af ;pop psw ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: SET 7,B
push af ;push psw ; set 7,B
ld a,b ;mov a,b ;
or $80 ;ori $80 ;
ld b,a ;mov b,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 7,C
push af ;push psw ; set 7,C
ld a,c ;mov a,c ;
or $80 ;ori $80 ;
ld c,a ;mov c,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 7,D
push af ;push psw ; set 7,D
ld a,d ;mov a,d ;
or $80 ;ori $80 ;
ld d,a ;mov d,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 7,E
push af ;push psw ; set 7,E
ld a,e ;mov a,e ;
or $80 ;ori $80 ;
ld e,a ;mov e,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 7,H
push af ;push psw ; set 7,H
ld a,h ;mov a,h ;
or $80 ;ori $80 ;
ld h,a ;mov h,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 7,L
push af ;push psw ; set 7,L
ld a,l ;mov a,l ;
or $80 ;ori $80 ;
ld l,a ;mov l,a ;
pop af ;pop psw ; DAO \ TASM
;------------------------------------------------------------------------------
: SET 7,(HL)
push af ;push psw ; set 7,(HL)
ld a,(hl) ;mov a,m ;
or $80 ;ori $80 ;
ld (hl),a ;mov m,a ;
pop af ;pop psw ;
;------------------------------------------------------------------------------
: SET 7,(IX+d)
push af ;push psw ; set 7,(IX+011h)
push hl ;push h ;
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
add hl,bc ;dad b ;
pop bc ;pop b ;
ld a,(hl) ;mov a,m ;
or $80 ;ori $80 ;
ld (hl),a ;mov m,a ;
pop hl ;pop h ;
pop af ;pop psw ;
;------------------------------------------------------------------------------
: SET 7,(IX+d),A ;нет реализации?
: SET 7,(IX+d),B
: SET 7,(IX+d),C
: SET 7,(IX+d),D
: SET 7,(IX+d),E
: SET 7,(IX+d),H
: SET 7,(IX+d),L
;------------------------------------------------------------------------------
: SET 7,(IY+d)
push af ;push psw ; set 7,(IY+011h)
push hl ;push h ;
ld hl,(rIY) ;lhld IY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,00011h ;
add hl,bc ;dad b ;
pop bc ;pop b ;
ld a,(hl) ;mov a,m ;
or $80 ;ori 080h ;
ld (hl),a ;mov m,a ;
pop hl ;pop h ;
pop af ;pop psw ;
;------------------------------------------------------------------------------
: SET 7,(IY+d),A ;нет реализации?
: SET 7,(IY+d),B
: SET 7,(IY+d),C
: SET 7,(IY+d),D
: SET 7,(IY+d),E
: SET 7,(IY+d),H
: SET 7,(IY+d),L
;------------------------------------------------------------------------------
: SLA A
or a ;ora a ; sla A
rla ;ral ;
;------------------------------------------------------------------------------
: SLA B
ld (TMP),a ;sta TMP ; sla B
ld a,b ;mov a,b ;
or a ;ora a ;
rla ;ral ;
ld b,a ;mov b,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: SLA C
ld (TMP),a ;sta TMP ; sla C
ld a,c ;mov a,c ;
or a ;ora a ;
rla ;ral ;
ld c,a ;mov c,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: SLA D
ld (TMP),a ;sta TMP ; sla D
ld a,d ;mov a,d ;
or a ;ora a ;
rla ;ral ;
ld d,a ;mov d,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: SLA E
ld (TMP),a ;sta TMP ; sla E
ld a,e ;mov a,e ;
or a ;ora a ;
rla ;ral ;
ld e,a ;mov e,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: SLA H
ld (TMP),a ;sta TMP ; sla H
ld a,h ;mov a,h ;
or a ;ora a ;
rla ;ral ;
ld h,a ;mov h,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: SLA L
ld (TMP),a ;sta TMP ; sla L
ld a,l ;mov a,l ;
or a ;ora a ;
rla ;ral ;
ld l,a ;mov l,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: SLA (HL)
ld (TMP),a ;sta TMP ; sla (HL)
ld a,(hl) ;mov a,m ;
or a ;ora a ;
rla ;ral ;
ld (hl),a ;mov m,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: SLA (IX+d)
push hl ;push h ; sla (IX+011h)
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld (TMP),a ;sta TMP ;
ld a,(hl) ;mov a,m ;
or a ;ora a ;
rla ;ral ;
ld (hl),a ;mov m,a ;
ld a,(TMP) ;lda TMP ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: SLA (IX+d),A ;нет реализации?
: SLA (IX+d),B
: SLA (IX+d),C
: SLA (IX+d),D
: SLA (IX+d),E
: SLA (IX+d),H
: SLA (IX+d),L
;------------------------------------------------------------------------------
: SLA (IY+d)
push hl ;push h ; sla (IY+011h)
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld (TMP),a ;sta TMP ;
ld a,(hl) ;mov a,m ;
or a ;ora a ;
rla ;ral ;
ld (hl),a ;mov m,a ;
ld a,(TMP) ;lda TMP ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: SLA (IY+d),A ;нет реализации?
: SLA (IY+d),B
: SLA (IY+d),C
: SLA (IY+d),D
: SLA (IY+d),E
: SLA (IY+d),H
: SLA (IY+d),L
;------------------------------------------------------------------------------
: SLL A
rlca ;rlc ; sll A
or $01 ;ori $01 ;
;------------------------------------------------------------------------------
: SLL B
ld (TMP),a ;sta TMP ; sll B
ld a,b ;mov a,b ;
rlca ;rlc ;
or $01 ;ori $01 ;
ld b,a ;mov b,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: SLL C
ld (TMP),a ;sta TMP ; sll C
ld a,c ;mov a,c ;
rlca ;rlc ;
or $01 ;ori $01 ;
ld c,a ;mov c,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: SLL D
ld (TMP),a ;sta TMP ; sll D
ld a,d ;mov a,d ;
rlca ;rlc ;
or $01 ;ori $01 ;
ld d,a ;mov d,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: SLL E
ld (TMP),a ;sta TMP ; sll E
ld a,e ;mov a,e ;
rlca ;rlc ;
or $01 ;ori $01 ;
ld e,a ;mov e,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: SLL H
ld (TMP),a ;sta TMP ; sll H
ld a,h ;mov a,h ;
rlca ;rlc ;
or $01 ;ori $01 ;
ld h,a ;mov h,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: SLL L
ld (TMP),a ;sta TMP ; sll L
ld a,l ;mov a,l ;
rlca ;rlc ;
or $01 ;ori $01 ;
ld l,a ;mov l,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: SLL (HL)
ld (TMP),a ;sta TMP ; sll (HL)
ld a,(hl) ;mov a,m ;
rlca ;rlc ;
or $01 ;ori $01 ;
ld (hl),a ;mov m,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: SLL (IX+d) ;нет реализации?
;мусор
; ld (TMP),a ;sta TMP ; rl C
; ld a,(hl) ;mov a,m ;
; rlca ;rlc ;
; or $01 ;ori 001h ;
; ld (hl),a ;mov m,a ;
; ld a,(TMP) ;lda TMP ;
; ld (hl),$00 ;mvi m,000h
;------------------------------------------------------------------------------
: SLL (IX+d),A ;нет реализации?
: SLL (IX+d),B
: SLL (IX+d),C
: SLL (IX+d),D
: SLL (IX+d),E
: SLL (IX+d),H
: SLL (IX+d),L
;------------------------------------------------------------------------------
: SLL (IY+d) ;нет реализации?
;мусор
; ld (TMP),a ;sta TMP ; rl C
; ld a,(hl) ;mov a,m ;
; rlca ;rlc ;
; or $01 ;ori 001h ;
; ld (hl),a ;mov m,a ;
; ld a,(TMP) ;lda TMP ;
; ld (hl),$00 ;mvi m,000h
;------------------------------------------------------------------------------
: SLL (IY+d),A ;нет реализации?
: SLL (IY+d),B
: SLL (IY+d),C
: SLL (IY+d),D
: SLL (IY+d),E
: SLL (IY+d),H
: SLL (IY+d),L
;------------------------------------------------------------------------------
: SRA A
ld (TMP),a ;sta TMP ; sra A
rla ;ral ;
ld a,(TMP) ;lda TMP ;
rra ;rar ;
;------------------------------------------------------------------------------
: SRA B
ld (TMP),a ;sta TMP ; sra B
ld a,b ;mov a,b ;
rla ;ral ;
ld a,b ;mov a,b ;
rra ;rar ;
ld b,a ;mov b,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: SRA C
ld (TMP),a ;sta TMP ; sra C
ld a,c ;mov a,c ;
rla ;ral ;
ld a,c ;mov a,c ;
rra ;rar ;
ld c,a ;mov c,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: SRA D
ld (TMP),a ;sta TMP ; sra D
ld a,d ;mov a,d ;
rla ;ral ;
ld a,d ;mov a,d ;
rra ;rar ;
ld d,a ;mov d,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: SRA E
ld (TMP),a ;sta TMP ; sra E
ld a,e ;mov a,e ;
rla ;ral ;
ld a,e ;mov a,e ;
rra ;rar ;
ld e,a ;mov e,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: SRA H
ld (TMP),a ;sta TMP ; sra H
ld a,h ;mov a,h ;
rla ;ral ;
ld a,h ;mov a,h ;
rra ;rar ;
ld h,a ;mov h,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: SRA L
ld (TMP),a ;sta TMP ; sra L
ld a,l ;mov a,l ;
rla ;ral ;
ld a,l ;mov a,l ;
rra ;rar ;
ld l,a ;mov l,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: SRA (HL)
ld (TMP),a ;sta TMP ; sra (HL)
ld a,(hl) ;mov a,m ;
rla ;ral ;
ld a,(hl) ;mov a,m ;
rra ;rar ;
ld (hl),a ;mov m,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: SRA (IX+d)
push hl ;push h ; sra (IX+011h)
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld (TMP),a ;sta TMP ;
ld a,(hl) ;mov a,m ;
rla ;ral ;
ld a,(hl) ;mov a,m ;
rra ;rar ;
ld (hl),a ;mov m,a ;
ld a,(TMP) ;lda TMP ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: SRA (IX+d),A ;нет реализации?
: SRA (IX+d),B
: SRA (IX+d),C
: SRA (IX+d),D
: SRA (IX+d),E
: SRA (IX+d),H
: SRA (IX+d),L
;------------------------------------------------------------------------------
: SRA (IY+d)
push hl ;push h ; sra (IY+011h)
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
ld (TMP),a ;sta TMP ;
ld a,(hl) ;mov a,m ;
rla ;ral ;
ld a,(hl) ;mov a,m ;
rra ;rar ;
ld (hl),a ;mov m,a ;
ld a,(TMP) ;lda TMP ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: SRA (IY+d),A ;нет реализации?
: SRA (IY+d),B
: SRA (IY+d),C
: SRA (IY+d),D
: SRA (IY+d),E
: SRA (IY+d),H
: SRA (IY+d),L
;------------------------------------------------------------------------------
: SRL A ;уточнить !!!
or a ;ora a ; srl A
rra ;rar ;
;------------------------------------------------------------------------------
: SRL B
ld (TMP),a ;sta TMP ; srl B
ld a,b ;mov a,b ;
or a ;ora a ;
rra ;rar ;
ld b,a ;mov b,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: SRL C
ld (TMP),a ;sta TMP ; srl C
ld a,c ;mov a,c ;
or a ;ora a ;
rra ;rar ;
ld c,a ;mov c,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: SRL D
ld (TMP),a ;sta TMP ; srl D
ld a,d ;mov a,d ;
or a ;ora a ;
rra ;rar ;
ld d,a ;mov d,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: SRL E
ld (TMP),a ;sta TMP ; srl E
ld a,e ;mov a,e ;
or a ;ora a ;
rra ;rar ;
ld e,a ;mov e,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: SRL H
ld (TMP),a ;sta TMP ; srl H
ld a,h ;mov a,h ;
or a ;ora a ;
rra ;rar ;
ld h,a ;mov h,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: SRL L
ld (TMP),a ;sta TMP ; srl L
ld a,l ;mov a,l ;
or a ;ora a ;
rra ;rar ;
ld l,a ;mov l,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: SRL (HL)
ld (TMP),a ;sta TMP ; srl (HL)
ld a,(hl) ;mov a,m ;
or a ;ora a ;
rra ;rar ;
ld (hl),a ;mov m,a ;
ld a,(TMP) ;lda TMP ;
;------------------------------------------------------------------------------
: SRL (IX+d) ;нет реализации?
;мусор
; ld (TMP),a ;sta TMP ; rl C
; ld a,(hl) ;mov a,m ;
; or a ;ora a ;
; rra ;rar ;
; ld (hl),a ;mov m,a ;
; ld a,(TMP) ;lda TMP ;
; ld a,$00 ;mvi a,000h
;------------------------------------------------------------------------------
: SRL (IX+d),A ;нет реализации?
: SRL (IX+d),B
: SRL (IX+d),C
: SRL (IX+d),D
: SRL (IX+d),E
: SRL (IX+d),H
: SRL (IX+d),L
;------------------------------------------------------------------------------
: SRL (IY+d) ;нет реализации?
;мусор
; ld (TMP),a ;sta TMP ; rl C
; ld a,(hl) ;mov a,m ;
; or a ;ora a ;
; rra ;rar ;
; ld (hl),a ;mov m,a ;
; ld a,(TMP) ;lda TMP ;
; ld a,$00 ;mvi a,000h
;------------------------------------------------------------------------------
: SRL (IY+d),A ;нет реализации?
: SRL (IY+d),B
: SRL (IY+d),C
: SRL (IY+d),D
: SRL (IY+d),E
: SRL (IY+d),H
: SRL (IY+d),L
;------------------------------------------------------------------------------
; 8080 sub a ;sub a
; 8080 sub b ;sub b
; 8080 sub c ;sub c
; 8080 sub d ;sub d
; 8080 sub e ;sub e
; 8080 sub h ;sub h
; 8080 sub l ;sub l
;------------------------------------------------------------------------------
: SUB ixh
push hl ;push h ; sub IXH
ld hl,(rIX) ;lhld rIX ;
sub h ;sub h ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: SUB ixl
push hl ;push h ; sub IXL
ld hl,(rIX) ;lhld rIX ;
sub l ;sub l ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: SUB iyh
push hl ;push h ; sub IYH
ld hl,(rIY) ;lhld rIY ;
sub h ;sub h ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: SUB iyl
push hl ;push h ; sub IYL
ld hl,(rIY) ;lhld rIY ;
sub l ;sub l ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
; 8080 sub $22 ;sui $22
; 8080 sub (hl) ;sub m
;при первой попытке DAO вообще не выдал никакой команды!!!
;------------------------------------------------------------------------------
: SUB (IX+d)
push hl ;push h ; sub (IX+011h)
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
add hl,bc ;dad b ;
pop bc ;pop b ;
sub (hl) ;sub m ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: SUB (IY+d)
push hl ;push h ; sub (IY+011h)
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
add hl,bc ;dad b ;
pop bc ;pop b ;
sub (hl) ;sub m ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
; 8080 xor a ;xra a
; 8080 xor b ;xra b
; 8080 xor c ;xra c
; 8080 xor d ;xra d
; 8080 xor e ;xra e
; 8080 xor h ;xra h
; 8080 xor l ;xra l
;------------------------------------------------------------------------------
: XOR ixh
push hl ;push h ; xor rIXH
ld hl,(rIX) ;lhld rIX ;
xor h ;xra h ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: XOR ixl
push hl ;push h ; xor rIXL
ld hl,(rIX) ;lhld rIX ;
xor l ;xra l ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: XOR iyh
push hl ;push h ; xor rIYH
ld hl,(rIY) ;lhld rIY ;
xor h ;xra h ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: XOR iyl
push hl ;push h ; xor rIYL
ld hl,(rIY) ;lhld rIY ;
xor l ;xra l ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
; 8080 xor $22 ;xri $22
; 8080 xor (hl) ;xra m
;------------------------------------------------------------------------------
: XOR (IX+d)
push hl ;push h ; xor (IX+011h)
ld hl,(rIX) ;lhld rIX ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
xor (hl) ;xra m ;
pop hl ;pop h ;
;------------------------------------------------------------------------------
: XOR (IY+d)
push hl ;push h ; xor (IY+011h)
ld hl,(rIY) ;lhld rIY ;
push bc ;push b ;
ld bc,$0011 ;lxi b,$0011 ;
push af ;push psw ;
add hl,bc ;dad b ;
pop af ;pop psw ;
pop bc ;pop b ;
xor (hl) ;xra m ;
pop hl ;pop h ;
;==============================================================================