Как написать игру для ZX Spectrum на ассемблере

       

КОМАНДЫ АССЕМБЛЕРА



КОМАНДЫ АССЕМБЛЕРА

Это приложение содержит таблицу кодировки команд микропроцессора Z80. В первой графе указывается мнемоника, во второй - соответствующий ей машинный код, а в последней - время исполнения инструкции, измеряемое в тактах микропроцессора. Для условных и циклических команд (таких как LDIR) даются два значения времени, так как при соблюдении условия или завершении цикла на их выполнение требуется больше тактов. Для некоторых команд приведены два варианта машинных кодов, но время исполнения относится только к более короткому варианту. Следует помнить, что ассемблер при трансляции мнемоник также выбирает более короткий код. Вообще же для многих команд существуют дополнительные варианты кодировки, но они уже относятся к набору так называемых недокументированных команд, некоторые из них приведены в следующем приложении. Обозначения: ADDR - двухбайтовый адрес, N - однобайтовое число, NN - двухбайтовое число, PORT - младший байт адреса порта, XX - шестнадцатеричный байт-аргумент, Д - байт смещения (-128...+127).



КомандаКодыT
ADC A,(HL)8E7
ADC A,(IX+Д)DD8EXX19
ADC A,(IY+Д)FD8EXX19
ADC A,A8F4
ADC A,B884
ADC A,C894
ADC A,D8A4
ADC A,E8B4
ADC A,H8C4
ADC A,L8D4
ADC A,NCEXX7
ADC HL,BCED4A15
ADC HL,DEED5A15
ADC HL,HLED6A15
ADC HL,SPED7A15
ADD A,(HL)867
ADD A,(IX+Д)DD86XX19
ADD A,(IY+Д)FD86XX19
ADD A,A874
ADD A,B804
ADD A,C814
ADD A,D824
ADD A,E834
ADD A,H844
ADD A,L854
ADD A,NC6XX7
ADD HL,BC0911
ADD HL,DE1911
ADD HL,HL2911
ADD HL,SP3911
ADD IX,BCDD0915
ADD IX,DEDD1915
ADD IX,IXDD2915
ADD IX,SPDD3915
ADD IY,BCFD0915
ADD IY,DEFD1915
ADD IY,IYFD2915
ADD IY,SPFD3915
AND (HL)A67
AND (IX+Д)DDA6XX19
AND (IY+Д)FDA6XX19
AND AA74
AND BA04
AND CA14
AND DA24
AND EA34
AND HA44
AND LA54
AND NE6XX7
BIT 0,(HL)CB4612
BIT 0,(IX+Д)DDCBXX4620
BIT 0,(IY+Д)FDCBXX4620
BIT 0,ACB478
BIT 0,BCB408
BIT 0,CCB418
BIT 0,DCB428
BIT 0,ECB438
BIT 0,HCB448
BIT 0,LCB458
BIT 1,(HL)CB4E12
BIT 1,(IX+Д)DDCBXX4E20
BIT 1,(IY+Д)FDCBXX4E20
BIT 1,ACB4F8
BIT 1,BCB488
BIT 1,CCB498
BIT 1,DCB4A8
BIT 1,ECB4B8
BIT 1,HCB4C8
BIT 1,LCB4D8
BIT 2,(HL)CB5612
BIT 2,(IX+Д)DDCBXX5620
BIT 2,(IY+Д)FDCBXX5620
BIT 2,ACB578
BIT 2,BCB508
BIT 2,CCB518
BIT 2,DCB528
BIT 2,ECB538
BIT 2,HCB548
BIT 2,LCB558
BIT 3,(HL)CB5E12
BIT 3,(IX+Д)DDCBXX5E20
BIT 3,(IY+Д)FDCBXX5E8
BIT 3,ACB5F8
BIT 3,BCB588
BIT 3,CCB598
BIT 3,DCB5A8
BIT 3,ECB5B8
BIT 3,HCB5C8
BIT 3,LCB5D8
BIT 4,(HL)CB6612
BIT 4,(IX+Д)DDCBXX6620
BIT 4,(IY+Д)FDCBXX6620
BIT 4,ACB678
BIT 4,BCB608
BIT 4,CCB618
BIT 4,DCB628
BIT 4,ECB638
BIT 4,HCB648
BIT 4,LCB658
BIT 5,(HL)CB6E12
BIT 5,(IX+Д)DDCBXX6E20
BIT 5,(IY+Д)FDCBXX6E20
BIT 5,ACB6F8
BIT 5,BCB688
BIT 5,CCB698
BIT 5,DCB6A8
BIT 5,ECB6B8
BIT 5,HCB6C8
BIT 5,LCB6D8
BIT 6,(HL)CB7612
BIT 6,(IX+Д)DDCBXX7620
BIT 6,(IY+Д)FDCBXX7620
BIT 6,ACB778
BIT 6,BCB708
BIT 6,CCB718
BIT 6,DCB728
BIT 6,ECB738
BIT 6,HCB748
BIT 6,LCB758
BIT 7,(HL)CB7E12
BIT 7,(IX+Д)DDCBXX7E20
BIT 7,(IY+Д)FDCBXX7E20
BIT 7,ACB7F8
BIT 7,BCB788
BIT 7,CCB798
BIT 7,DCB7A8
BIT 7,ECB7B8
BIT 7,HCB7C8
BIT 7,LCB7D8
CALL ADDRCDXXXX17
CALL C,ADDRDCXXXX10/17
CALL M,ADDRFCXXXX10/17
CALL NC,ADDRD4XXXX10/17
CALL NZ,ADDRC4XXXX10/17
CALL P,ADDRF4XXXX10/17
CALL PE,ADDRECXXXX10/17
CALL PO,ADDRE4XXXX10/17
CALL Z,ADDRCCXXXX10/17
CCF3F4
CP (HL)BE7
CP (IX+Д)DDBEXX19
CP (IY+Д)FDBEXX19
CP ABF4
CP BB84
CP CB94
CP DBA4
CP EBB4
CP HBC4
CP LBD4
CP NFEXX7
CPDEDA916
CPDREDB921/16
CPIEDA116
CPIREDB121/16
CPL2F4
DAA274
DEC (HL)3511
DEC (IX+Д)DD35XX23
DEC (IY+Д)FD35XX23
DEC A3D4
DEC B054
DEC BC0B6
DEC C0D4
DEC D154
DEC DE1B6
DEC E1D4
DEC H254
DEC HL2B6
DEC IXDD2B10
DEC IYFD2B10
DEC L2D4
DEC SP3B6
DIF34
DJNZ Д10XX13/8
EIFB4
EX (SP),HLE319
EX (SP),IXDDE323
EX (SP),IYFDE323
EX AF,AF'084
EX DE,HLEB4
EXXD94
HALT764
IM 0ED468
IM 1ED568
IM 2ED5E8
IN (HL),(C)ED7012
IN A,(C)ED7812
IN A,(PORT)DBXX11
IN B,(C)ED4012
IN C,(C)ED4812
IN D,(C)ED5012
IN E,(C)ED5812
IN H,(C)ED6012
IN L,(C)ED6812
INC (HL)3411
INC (IX+Д)DD34XX23
INC (IY+Д)FD34XX23
INC A3C4
INC B044
INC BC036
INC C0C4
INC D144
INC DE136
INC E1C4
INC H244
INC HL236
INC IXDD2310
INC IYFD2310
INC L2C4
INC SP336
INDEDAA16
INDREDBA21/16
INIEDA216
INIREDB221/16
JP (HL)E94
JP (IX)DDE98
JP (IY)FDE98
JP ADDRC3XXXX10
JP C,ADDRDAXXXX10
JP M,ADDRFAXXXX10
JP NC,ADDRD2XXXX10
JP NZ,ADDRC2XXXX10
JP P,ADDRF2XXXX10
JP PE,ADDREAXXXX10
JP PO,ADDRE2XXXX10
JP Z,ADDRCAXXXX10
JR Д18XX12
JR C,Д38XX12/7
JR NC,Д30XX12/7
JR NZ,Д20XX12/7
JR Z,Д28XX12/7
LD (ADDR),A32XXXX13
LD (ADDR),BCED43XXXX20
LD (ADDR),DEED53XXXX20
LD (ADDR),HL22XXXX
ED63XXXX
16
LD (ADDR),IXDD22XXXX20
LD (ADDR),IYFD22XXXX20
LD (ADDR),SPED73XXXX20
LD (BC),A027
LD (DE),A127
LD (HL),A777
LD (HL),B707
LD (HL),C717
LD (HL),D727
LD (HL),E737
LD (HL),H747
LD (HL),L757
LD (HL),N36XX10
LD (IX+Д),ADD77XX19
LD (IX+Д),BDD70XX19
LD (IX+Д),CDD71XX19
LD (IX+Д),DDD72XX19
LD (IX+Д),EDD73XX19
LD (IX+Д),HDD74XX19
LD (IX+Д),LDD75XX19
LD (IX+Д),NDD36XXXX19
LD (IY+Д),AFD77XX19
LD (IY+Д),BFD70XX19
LD (IY+Д),CFD71XX19
LD (IY+Д),DFD72XX19
LD (IY+Д),EFD73XX19
LD (IY+Д),HFD74XX19
LD (IY+Д),LFD75XX19
LD (IY+Д),NFD36XXXX19
LD A,(ADDR)3AXXXX13
LD A,(BC)0A7
LD A,(DE)1A7
LD A,(HL)7E7
LD A,(IX+Д)DD7EXX19
LD A,(IY+Д)FD7EXX19
LD A,A7F4
LD A,B784
LD A,C794
LD A,D7A4
LD A,E7B4
LD A,H7C4
LD A,IED579
LD A,L7D4
LD A,RED5F9
LD A,N3EXX7
LD B,(HL)467
LD B,(IX+Д)DD46XX19
LD B,(IY+Д)FD46XX19
LD B,A474
LD B,B404
LD B,C414
LD B,D424
LD B,E434
LD B,H444
LD B,L454
LD B,N06XX7
LD BC,(ADDR)ED4BXXXX20
LD BC,NN01XXXX10
LD C,(HL)4E7
LD C,(IX+Д)DD4EXX19
LD C,(IY+Д)FD4EXX19
LD C,A4F4
LD C,B484
LD C,C494
LD C,D4A4
LD C,E4B4
LD C,H4C4
LD C,L4D4
LD C,N0EXX7
LD D,(HL)567
LD D,(IX+Д)DD56XX19
LD D,(IY+Д)FD56XX19
LD D,A574
LD D,B504
LD D,C514
LD D,D524
LD D,E534
LD D,H544
LD D,L554
LD D,N16XX7
LD DE,(ADDR)ED5BXXXX20
LD DE,NN11XXXX10
LD E,(HL)5E7
LD E,(IX+Д)DD5EXX19
LD E,(IY+Д)FD5EXX19
LD E,A5F4
LD E,B584
LD E,C594
LD E,D5A4
LD E,E5B4
LD E,H5C4
LD E,L5D4
LD E,N1EXX7
LD H,(HL)667
LD H,(IX+Д)DD66XX19
LD H,(IY+Д)FD66XX19
LD H,A674
LD H,B604
LD H,C614
LD H,D624
LD H,E634
LD H,H644
LD H,L654
LD H,N26XX7
LD HL,(ADDR)2AXXXX
ED6BXXXX
16
LD HL,NN21XXXX10
LD I,AED479
LD IX,(ADDR)DD2AXXXX20
LD IX,NNDD21XXXX14
LD IY,(ADDR)FD2AXXXX20
LD IY,NNFD21XXXX14
LD L,(HL)6E7
LD L,(IX+Д)DD6EXX19

КомандаКодыT LD L,(IY+Д)FD6EXX19 LD L,A6F4 LD L,B684 LD L,C694 LD L,D6A4 LD L,E6B4 LD L,H6C4 LD L,L6D4 LD L,N2EXX7 LD R,AED4F9 LD SP,(ADDR)ED7BXXXX20 LD SP,IXDDF910 LD SP,IYFDF910 LD SP,HLF96 LD SP,NN31XXXX10 LDDEDA816 LDDREDB821/16 LDIEDA016 LDIREDB021/16 NEGED448 NOP004 OR (HL)B67 OR (IX+Д)DDB6XX19 OR (IY+Д)FDB6XX19 OR AB74 OR BB04 OR CB14 OR DB24 OR EB34 OR HB44 OR LB54 OR NF6XX7 OTDREDBB21/15 OTIREDB321/15 OUT (C),AED7912 OUT (C),BED4112 OUT (C),CED4912 OUT (C),DED5112 OUT (C),EED5912 OUT (C),HED6112 OUT (C),LED6912 OUT (PORT),AD3XX12 OUTDEDAB16 OUTIEDA316 POP AFF110 POP BCC110 POP DED110 POP HLE110 POP IXDDE114 POP IYFDE114 PUSH AFF511 PUSH BCC511 PUSH DED511 PUSH HLE511 PUSH IXDDE515 PUSH IYFDE515 RES 0,(HL)CB8615 RES 0,(IX+Д)DDCBXX8623 RES 0,(IY+Д)FDCBXX8623 RES 0,ACB878 RES 0,BCB808 RES 0,CCB818 RES 0,DCB828 RES 0,ECB838 RES 0,HCB848 RES 0,LCB858 RES 1,(HL)CB8E15 RES 1,(IX+Д)DDCBXX8E23 RES 1,(IY+Д)FDCBXX8E23 RES 1,ACB8F8 RES 1,BCB888 RES 1,CCB898 RES 1,DCB8A8 RES 1,ECB8B8 RES 1,HCB8C8 RES 1,LCB8D8 RES 2,(HL)CB9615 RES 2,(IX+Д)DDCBXX9623 RES 2,(IY+Д)FDCBXX9623 RES 2,ACB978 RES 2,BCB908 RES 2,CCB918 RES 2,DCB928 RES 2,ECB938 RES 2,HCB948 RES 2,LCB958 RES 3,(HL)CB9E15 RES 3,(IX+Д)DDCBXX9E23 RES 3,(IY+Д)FDCBXX9E23 RES 3,ACB9F8 RES 3,BCB988 RES 3,CCB998 RES 3,DCB9A8 RES 3,ECB9B8 RES 3,HCB9C8 RES 3,LCB9D8 RES 4,(HL)CBA615 RES 4,(IX+Д)DDCBXXA623 RES 4,(IY+Д)FDCBXXA623 RES 4,ACBA78 RES 4,BCBA08 RES 4,CCBA18 RES 4,DCBA28 RES 4,ECBA38 RES 4,HCBA48 RES 4,LCBA58 RES 5,(HL)CBAE15 RES 5,(IX+Д)DDCBXXAE23 RES 5,(IY+Д)FDCBXXAE23 RES 5,ACBAF8 RES 5,BCBA88 RES 5,CCBA98 RES 5,DCBAA8 RES 5,ECBAB8 RES 5,HCBAC8 RES 5,LCBAD8 RES 6,(HL)CBB615
RES 6,(IX+Д)DDCBXXB623
RES 6,(IY+Д)FDCBXXB623
RES 6,ACBB78
RES 6,BCBB08
RES 6,CCBB18
RES 6,DCBB28
RES 6,ECBB38
RES 6,HCBB48
RES 6,LCBB58
RES 7,(HL)CBBE15
RES 7,(IX+Д)DDCBXXBE23
RES 7,(IY+Д)FDCBXXBE23
RES 7,ACBBF8
RES 7,BCBB88
RES 7,CCBB98
RES 7,DCBBA8
RES 7,ECBBB8
RES 7,HCBBC8
RES 7,LCBBD8
RETC910
RET CD811/5
RET MF811/5
RET NCD011/5
RET NZC011/5
RET PF011/5
RET PEE811/5
RET POE011/5
RET ZC811/5
RETIED4D14
RETNED4514
RL (HL)CB1615
RL (IX+Д)DDCBXX1623
RL (IY+Д)FDCBXX1623
RL ACB178
RL BCB108
RL CCB118
RL DCB128
RL ECB138
RL HCB148
RL LCB158
RLA174
RLC (HL)CB0615
RLC (IX+Д)DDCBXX0623
RLC (IY+Д)FDCBXX0623
RLC ACB078
RLC BCB008
RLC CCB018
RLC DCB028
RLC ECB038
RLC HCB048
RLC LCB058
RLCA074
RLDED6F18
RR (HL)CB1E15
RR (IX+Д)DDCBXX1E23
RR (IY+Д)FDCBXX1E23
RR ACB1F8
RR BCB188
RR CCB198
RR DCB1A8
RR ECB1B8
RR HCB1C8
RR LCB1D8
RRA1F4
RRC (HL)CB0E15
RRC (IX+Д)DDCBXX0E23
RRC (IY+Д)FDCBXX0E23
RRC ACB0F8
RRC BCB088
RRC CCB098
RRC DCB0A8
RRC ECB0B8
RRC HCB0C8
RRC LCB0D8
RRCA0F4
RRDED6718
RST 00C711
RST 08CF11
RST 10D711
RST 18DF11
RST 20E711
RST 28EF11
RST 30F711
RST 38FF11
SBC A,(HL)9E7
SBC A,(IX+Д)DD9EXX19
SBC A,(IY+Д)FD9EXX19
SBC A,A9F4
SBC A,B984
SBC A,C994
SBC A,D9A4
SBC A,E9B4
SBC A,H9C4
SBC A,L9D4
SBC A,NDEXX7
SBC HL,BCED4215
SBC HL,DEED5215
SBC HL,HLED6215
SBC HL,SPED7215
SCF374
SET 0,(HL)CBC615
SET 0,(IX+Д)DDCBXXC623
SET 0,(IY+Д)FDCBXXC623
SET 0,ACBC78
SET 0,BCBC08
SET 0,CCBC18
SET 0,DCBC28
SET 0,ECBC38
SET 0,HCBC48
SET 0,LCBC58
SET 1,(HL)CBCE15
SET 1,(IX+Д)DDCBXXCE23
SET 1,(IY+Д)FDCBXXCE23
SET 1,ACBCF8
SET 1,BCBC88
SET 1,CCBC98
SET 1,DCBCA8
SET 1,ECBCB8
SET 1,HCBCC8
SET 1,LCBCD8
SET 2,(HL)CBD615
SET 2,(IX+Д)DDCBXXD623
SET 2,(IY+Д)FDCBXXD623
SET 2,ACBD78
SET 2,BCBD08
SET 2,CCBD18
SET 2,DCBD28
SET 2,ECBD38
SET 2,HCBD48
SET 2,LCBD58
SET 3,(HL)CBDE15
SET 3,(IX+Д)DDCBXXDE23
SET 3,(IY+Д)FDCBXXDE23
SET 3,ACBDF8
SET 3,BCBD88
SET 3,CCBD98
SET 3,DCBDA8
SET 3,ECBDB8
SET 3,HCBDC8
SET 3,LCBDD8
SET 4,(HL)CBE615
SET 4,(IX+Д)DDCBXXE623
SET 4,(IY+Д)FDCBXXE623
SET 4,ACBE78
SET 4,BCBE08
SET 4,CCBE18
SET 4,DCBE28
SET 4,ECBE38
SET 4,HCBE48
SET 4,LCBE58
SET 5,(HL)CBEE15
SET 5,(IX+Д)DDCBXXEE23
SET 5,(IY+Д)FDCBXXEE23
SET 5,ACBEF8
SET 5,BCBE88
SET 5,CCBE98
SET 5,DCBEA8
SET 5,ECBEB8
SET 5,HCBEC8
SET 5,LCBED8
SET 6,(HL)CBF615
SET 6,(IX+Д)DDCBXXF623
SET 6,(IY+Д)FDCBXXF623
SET 6,ACBF78
SET 6,BCBF08
SET 6,CCBF18
SET 6,DCBF28
SET 6,ECBF38
SET 6,HCBF48
SET 6,LCBF58
SET 7,(HL)CBFE15
SET 7,(IX+Д)DDCBXXFE23
SET 7,(IY+Д)FDCBXXFE23
SET 7,ACBFF8
SET 7,BCBF88
SET 7,CCBF98
SET 7,DCBFA8
SET 7,ECBFB8
SET 7,HCBFC8
SET 7,LCBFD8
SLA (HL)CB2615
SLA (IX+Д)DDCBXX2623
SLA (IY+Д)FDCBXX2623
SLA ACB278
SLA BCB208
SLA CCB218
SLA DCB228
SLA ECB238
SLA HCB248
SLA LCB258
SRA (HL)CB2E15
SRA (IX+Д)DDCBXX2E23
SRA (IY+Д)FDCBXX2E23
SRA ACB2F8
SRA BCB288
SRA CCB298
SRA DCB2A8
SRA ECB2B8
SRA HCB2C8
SRA LCB2D8
SRL (HL)CB3E15
SRL (IX+Д)DDCBXX3E23
SRL (IY+Д)FDCBXX3E23
SRL ACB3F8
SRL BCB388
SRL CCB398
SRL DCB3A8
SRL ECB3B8
SRL HCB3C8
SRL LCB3D8
SUB (HL)967
SUB (IX+Д)DD96XX19
SUB (IY+Д)FD96XX19
SUB A974
SUB B904
SUB C914
SUB D924
SUB E934
SUB H944
SUB L954
SUB ND6XX7
XOR (HL)AE7
XOR (IX+Д)DDAEXX19
XOR (IY+Д)FDAEXX19
XOR AAF4
XOR BA84
XOR CA94
XOR DAA4
XOR EAB4
XOR HAC4
XOR LAD4
XOR NEEXX7



Содержание раздела