The Complete Machine Code Tutor (UK) (Face 4) (1985) [Original] [TAPE] [UTILITAIRE].cdt

[STRUCTURE]

The Complete Machine Code Tutor (UK) (Face 4) (1985) [Original] [TAPE] [UTILITAIRE].cdt


Creator : ZXTape!
Total of blocks : 5
Blocks format : [P]PAUSE[/P] (1), [P]TURBO LOADING DATA[/P] (4)[/STRUCTURE]

CheckData
BLOCKSTOTAL
PAUSE1
TURBO LOADING DATA4
TOTAL5

SUM OF ALL DATA3 623 182
Sum of data for Turbo Loading - Turbo Loading size 1 byte3 623 182- 03 623 182
Sum of data for Pure Data - Pure Data size 3 bytes (sum = 262)0- 00
 


Result 3 623 182- 03 623 182
BLOCKTYPE BLOCKSUMDATAUsed bits
in last byte
Last
byte
DATA
0000PAUSE 
0001TURBO LOADING DATA1 6338FF263
0002TURBO LOADING DATA1 893 9418FF21935
0003TURBO LOADING DATA1 4858FF263
0004TURBO LOADING DATA1 726 1238FF21935

ZXTape! Major Version : 01 Minor Version : 0C
next* BLOCK 0000 : PAUSE
Total size : 3 bytes
Pause : 14750ms
previousnext* BLOCK 0001 : TURBO LOADING DATA

Length of PILOT pulse : 2309
Length of SYNC First pulse : 1111
Length of SYNC Second pulse : 1190
Length of ZERO bit pulse : 1160
Length of ONE bit pulse : 2320
Length of PILOT tone : 4096
Used bits in last byte : 8
Pause After this block : 2559ms
Data : 263 bytes
Total size : 282 bytes

Sum DATA : 1 633
000000: FC 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0000A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0000B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0000C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0000D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0000E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0000F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000100: 00 C9 9A FF FF FF FF .......
previousnext* BLOCK 0002 : TURBO LOADING DATA

Length of PILOT pulse : 2309
Length of SYNC First pulse : 1032
Length of SYNC Second pulse : 1190
Length of ZERO bit pulse : 1162
Length of ONE bit pulse : 2324
Length of PILOT tone : 4096
Used bits in last byte : 8
Pause After this block : 7113ms
Data : 21935 bytes
Total size : 21954 bytes

Sum DATA : 1 893 941
000000: FB 06 58 28 58 CC 9F 28 58 2C 58 39 58 40 58 44 ..X(X..(X,X9X@XD 000010: 58 4B 58 58 58 5C 58 63 58 73 58 7A 58 81 58 88 XKXXX\XcXsXzX.X. 000020: 58 8F 58 9F 58 A6 58 B9 58 00 B2 9E 01 00 C0 58 X.X.X.X.X......X 000030: 00 E2 5A 00 97 5D 00 A9 5E 01 00 7D 60 02 17 61 ..Z..]..^..}`..a 000040: 01 00 BE 61 01 00 C5 63 02 87 64 01 00 2B 65 00 ...a...c..d..+e. 000050: 8C 67 00 C5 68 00 FD 6A 01 00 95 6B 01 00 CE 6D .g..h..j...k...m 000060: 00 FB 6F 01 00 F5 70 00 24 72 00 5E 74 00 0E 77 ..o...p.$r.^t..w 000070: 00 7D 78 01 00 69 79 06 8F 7A 01 00 28 7B 00 DA .}x..iy..z..({.. 000080: 7D 01 00 C4 7E 06 53 7F 01 00 EA 7F 00 99 81 01 }...~.S......... 000090: 00 A3 83 00 08 86 00 8B 88 00 64 8A 00 6B 8C 01 .£........d..k.. 0000A0: 00 07 8D 02 47 8F 01 00 8C 8F 00 4D 92 00 5F 94 ....G......M.._. 0000B0: 00 5C 96 00 31 99 00 F2 99 01 00 BA 9B 00 82 9E .\..1........... 0000C0: 01 20 20 20 20 20 20 20 20 20 20 20 20 20 49 4E . IN 0000D0: 44 45 58 20 52 45 47 49 53 54 45 52 53 A0 A0 20 DEX REGISTERS.. 0000E0: 57 65 20 6E 6F 77 20 69 6E 74 72 6F 64 75 63 65 We now introduce 0000F0: 20 74 77 6F 20 6E 65 77 20 72 65 67 69 73 74 65 two new registe 000100: 72 AF 2E 73 2C 20 74 68 65 69 6E 64 65 78 20 72 r..s, theindex r 000110: 65 67 69 73 74 65 72 73 20 20 49 58 20 61 6E 64 egisters IX and 000120: 20 20 49 59 2E 20 20 20 54 68 65 73 65 20 74 77 IY. These tw 000130: 6F 72 65 67 69 73 74 65 72 73 20 20 61 72 65 20 oregisters are 000140: 20 69 64 65 6E 74 69 63 61 6C 20 69 6E 20 20 65 identical in e 000150: 76 65 72 79 20 77 61 79 2E 57 68 61 74 20 20 61 very way.What a 000160: 70 70 6C 69 65 73 20 20 74 6F 20 20 6F 6E 65 20 pplies to one 000170: 20 61 70 70 6C 69 65 73 20 20 74 6F 20 20 74 68 applies to th 000180: 65 6F 74 68 65 72 2E A0 A0 20 54 68 65 79 20 20 eother... They 000190: 63 61 6E 20 20 74 61 6B 65 20 20 74 68 65 20 70 can take the p 0001A0: 6C 61 63 65 20 20 6F 66 20 20 74 68 65 20 20 48 lace of the H 0001B0: 4C 72 65 67 69 73 74 65 72 20 20 69 6E 20 20 6D Lregister in m 0001C0: 6F 73 74 20 20 69 6E 73 74 72 75 63 74 69 6F 6E ost instruction 0001D0: 73 2E 20 20 49 74 20 69 73 73 69 6D 70 6C 65 72 s. It issimpler 0001E0: 20 20 74 6F 20 20 6C 69 73 74 20 74 68 65 20 20 to list the 0001F0: 69 6E 73 74 72 75 63 74 69 6F 6E 73 20 74 68 61 instructions tha 000200: 74 63 61 C9 9C 6E 20 62 65 20 70 65 72 66 6F 72 tca..n be perfor 000210: 6D 65 64 20 62 79 20 74 68 65 20 48 4C 20 72 65 med by the HL re 000220: 67 69 73 74 65 72 20 20 62 75 74 6E 6F 74 20 69 gister butnot i 000230: 6E 64 65 78 20 72 65 67 69 73 74 65 72 73 3A 2D ndex registers:- 000240: A0 A0 41 44 43 20 20 48 4C 2C 64 64 20 20 20 53 ..ADC HL,dd S 000250: 42 43 20 48 4C 2C 64 64 20 20 61 6E 64 20 45 58 BC HL,dd and EX 000260: 20 44 45 2C 48 4C 20 61 72 65 74 68 65 20 6F 6E DE,HL arethe on 000270: 6C 79 20 65 78 63 65 70 74 69 6F 6E 73 2E A0 A0 ly exceptions... 000280: 20 54 68 65 79 20 63 61 6E 6E 6F 74 20 62 65 20 They cannot be 000290: 65 78 63 68 61 6E 67 65 64 20 66 6F 72 20 48 4C exchanged for HL 0002A0: 20 69 66 20 74 68 61 74 72 65 67 69 73 74 65 72 if thatregister 0002B0: 20 20 70 61 69 72 20 69 73 20 20 6F 6E 6C 79 20 pair is only 0002C0: 20 69 6D 70 6C 69 65 64 20 20 69 6E 20 74 68 65 implied in the 0002D0: 69 6E 73 74 72 75 63 74 69 6F 6E 2C 20 69 2E 65 instruction, i.e 0002E0: 2E 20 52 52 44 2E A3 20 54 68 65 20 20 20 67 72 . RRD.£ The gr 0002F0: 65 61 74 20 20 20 61 64 76 61 6E 74 61 67 65 20 eat advantage 000300: 20 6F 66 20 20 6B FC 74 68 65 20 20 69 6E 64 65 of k.the inde 000310: 78 72 65 67 69 73 74 65 72 73 20 20 20 68 6F 77 xregisters how 000320: 65 76 65 72 20 20 20 69 73 20 20 74 68 61 74 20 ever is that 000330: 20 69 6E 64 69 72 65 63 74 61 64 64 72 65 73 73 indirectaddress 000340: 69 6E 67 20 20 69 73 20 20 6E 6F 74 20 20 20 73 ing is not s 000350: 69 6D 70 6C 79 20 20 28 48 4C 29 20 20 20 62 75 imply (HL) bu 000360: 74 28 49 58 2B 64 29 2E 20 20 20 20 54 68 65 20 t(IX+d). The 000370: 20 20 69 6E 64 69 72 65 63 74 20 20 20 61 64 64 indirect add 000380: 72 65 73 73 20 20 20 69 73 63 61 6C 63 75 6C 61 ress iscalcula 000390: 74 65 64 20 61 73 20 74 68 65 20 20 73 75 6D 20 ted as the sum 0003A0: 20 6F 66 20 74 68 65 20 20 63 6F 6E 74 65 6E 74 of the content 0003B0: 73 6F 66 20 74 68 65 20 20 49 58 2F 49 59 20 72 sof the IX/IY r 0003C0: 65 67 69 73 74 65 72 20 61 6E 64 20 74 68 65 20 egister and the 0003D0: 6F 66 66 73 65 74 20 20 64 73 70 65 63 69 66 69 offset dspecifi 0003E0: 65 64 20 20 20 69 6E 20 20 74 68 65 20 20 69 6E ed in the in 0003F0: 73 74 72 75 63 74 69 6F 6E 2E A0 A0 20 49 74 20 struction... It 000400: 69 73 20 65 61 73 69 45 84 65 72 20 74 6F 20 75 is easiE.er to u 000410: 73 65 20 74 68 65 20 69 6E 64 65 78 20 72 65 67 se the index reg 000420: 69 73 74 65 72 73 74 6F 20 20 69 6E 74 65 72 72 istersto interr 000430: 6F 67 61 74 65 20 20 74 61 62 6C 65 73 20 74 68 ogate tables th 000440: 61 6E 20 20 75 73 69 6E 67 20 20 48 4C 2E 54 68 an using HL.Th 000450: 65 20 6F 66 66 73 65 74 20 20 63 61 6E 20 64 65 e offset can de 000460: 66 69 6E 65 20 74 68 65 20 63 6F 6C 75 6D 6E 20 fine the column 000470: 69 6E 20 74 68 65 74 61 62 6C 65 20 20 61 6E 64 in thetable and 000480: 20 20 49 58 2F 49 59 20 20 72 65 67 69 73 74 65 IX/IY registe 000490: 72 20 70 6F 69 6E 74 20 74 6F 20 74 68 65 62 65 r point to thebe 0004A0: 67 69 6E 6E 69 6E 67 20 20 6F 66 20 20 74 68 65 ginning of the 0004B0: 20 20 6C 69 6E 65 2E 20 20 41 20 20 73 75 62 72 line. A subr 0004C0: 6F 75 74 69 6E 65 63 6F 75 6C 64 20 20 6D 61 6E outinecould man 0004D0: 69 70 75 6C 61 74 65 20 20 74 68 65 20 20 64 61 ipulate the da 0004E0: 74 61 20 20 77 69 74 68 69 6E 20 74 68 65 6C 69 ta within theli 0004F0: 6E 65 2C 20 20 75 73 69 6E 67 20 20 61 20 20 63 ne, using a c 000500: 6F 6E 73 74 61 6E 74 20 49 1A 94 58 2F 49 59 20 onstant I..X/IY 000510: 70 6F 69 6E 74 65 72 2E 53 75 62 73 65 71 75 65 pointer.Subseque 000520: 6E 74 20 6C 69 6E 65 73 20 63 61 6E 20 74 68 65 nt lines can the 000530: 6E 20 62 65 20 6D 61 6E 69 70 75 6C 61 74 65 64 n be manipulated 000540: 73 69 6D 70 6C 79 20 20 62 79 20 75 73 69 6E 67 simply by using 000550: 20 74 68 65 20 73 61 6D 65 20 73 75 62 72 6F 75 the same subrou 000560: 74 69 6E 65 20 61 6E 64 63 68 61 6E 67 69 6E 67 tine andchanging 000570: 20 74 68 65 20 20 49 58 2F 49 59 20 72 65 67 69 the IX/IY regi 000580: 73 74 65 72 20 74 6F 20 70 6F 69 6E 74 20 74 6F ster to point to 000590: 61 20 64 69 66 66 65 72 65 6E 74 20 6C 69 6E 65 a different line 0005A0: 2E A3 20 54 68 65 20 20 6F 6E 6C 79 20 69 6E 73 .£ The only ins 0005B0: 74 72 75 63 74 69 6F 6E 20 20 66 6F 72 20 20 77 truction for w 0005C0: 68 69 63 68 20 20 28 48 4C 29 63 61 6E 6E 6F 74 hich (HL)cannot 0005D0: 20 20 62 65 20 20 73 75 62 73 74 69 74 75 74 65 be substitute 0005E0: 64 20 20 62 79 20 20 28 49 58 2B 64 29 20 20 20 d by (IX+d) 0005F0: 6F 72 28 49 59 2B 64 29 20 69 73 20 4A 50 20 28 or(IY+d) is JP ( 000600: 48 4C 29 2E 20 20 4A 50 20 28 49 46 28 58 29 20 HL). JP (IF(X) 000610: 61 6E 64 20 20 4A 50 20 28 49 59 29 61 72 65 20 and JP (IY)are 000620: 61 76 61 69 6C 61 62 6C 65 20 68 6F 77 65 76 65 available howeve 000630: 72 2E A0 A0 20 54 68 65 20 20 73 75 6D 6D 61 72 r... The summar 000640: 79 20 20 20 6C 69 73 74 73 20 20 20 61 6C 6C 20 y lists all 000650: 69 6E 73 74 72 75 63 74 69 6F 6E 73 61 76 61 69 instructionsavai 000660: 6C 61 62 6C 65 20 20 75 73 69 6E 67 20 20 74 68 lable using th 000670: 65 20 20 49 58 20 72 65 67 69 73 74 65 72 2E 20 e IX register. 000680: 54 68 69 73 6C 69 73 74 20 20 20 63 61 6E 20 20 Thislist can 000690: 20 62 65 20 20 72 65 70 65 61 74 65 64 20 20 66 be repeated f 0006A0: 6F 72 20 20 74 68 65 20 20 20 49 59 72 65 67 69 or the IYregi 0006B0: 73 74 65 72 2E A3 20 53 75 6D 6D 61 72 79 20 2D ster.£ Summary - 0006C0: 20 69 6E 64 65 78 20 72 65 67 69 73 74 65 72 73 index registers 0006D0: A0 A0 4C 44 20 72 2C 28 49 58 2B 64 29 20 20 20 ..LD r,(IX+d) 0006E0: 4C 44 20 49 58 2C 6E 6E 20 20 20 20 20 4C 44 20 LD IX,nn LD 0006F0: 53 50 2C 49 58 A0 4C 44 20 28 49 58 2B 64 29 2C SP,IX.LD (IX+d), 000700: 72 20 20 20 4C 44 20 49 58 2C 28 6E 6E 19 3A 29 r LD IX,(nn.:) 000710: A0 4C 44 20 28 49 58 2B 64 29 2C 6E 20 20 20 4C .LD (IX+d),n L 000720: 44 20 28 6E 6E 29 2C 49 58 20 20 20 45 58 20 28 D (nn),IX EX ( 000730: 53 50 29 2C 49 58 A0 A0 41 44 44 20 41 2C 28 49 SP),IX..ADD A,(I 000740: 58 2B 64 29 20 20 49 4E 43 20 28 49 58 2B 64 29 X+d) INC (IX+d) 000750: 20 20 20 41 4E 44 20 28 49 58 2B 64 29 A0 41 44 AND (IX+d).AD 000760: 43 20 41 2C 28 49 58 2B 64 29 20 20 44 45 43 20 C A,(IX+d) DEC 000770: 28 49 58 2B 64 29 20 20 20 4F 52 20 28 49 58 2B (IX+d) OR (IX+ 000780: 64 29 A0 53 55 42 20 28 49 58 2B 64 29 20 20 20 d).SUB (IX+d) 000790: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 58 4F XO 0007A0: 52 20 28 49 58 2B 64 29 A0 53 42 43 20 41 2C 28 R (IX+d).SBC A,( 0007B0: 49 58 2B 64 29 20 20 43 50 20 28 49 58 2B 64 29 IX+d) CP (IX+d) 0007C0: A0 A0 41 44 44 20 49 58 2C 64 64 20 20 20 20 20 ..ADD IX,dd 0007D0: 49 4E 43 20 49 58 20 20 20 20 20 20 20 44 45 43 INC IX DEC 0007E0: 20 49 58 A0 A0 53 4C 41 20 28 49 58 2B 64 29 20 IX..SLA (IX+d) 0007F0: 20 20 20 53 52 41 20 28 49 58 2B 64 29 20 20 20 SRA (IX+d) 000800: 53 52 4C 20 28 49 58 2B 64 29 A0 52 4C 43 20 4E SRL (IX+d).RLC N 000810: D4 28 49 58 2B 64 29 20 20 20 20 52 4C 20 28 49 .(IX+d) RL (I 000820: 58 2B 64 29 20 20 20 20 52 52 43 20 28 49 58 2B X+d) RRC (IX+ 000830: 64 29 A0 52 52 20 20 28 49 58 2B 64 29 A0 A0 53 d).RR (IX+d)..S 000840: 45 54 20 4E 20 28 49 58 2B 64 29 20 20 52 45 53 ET N (IX+d) RES 000850: 20 4E 2C 28 49 58 2B 64 29 20 42 49 54 20 4E 2C N,(IX+d) BIT N, 000860: 28 49 58 2B 64 29 A0 A0 4A 50 20 28 49 58 29 A0 (IX+d)..JP (IX). 000870: A0 57 69 74 68 20 61 6E 20 69 64 65 6E 74 69 63 .With an identic 000880: 61 6C 20 73 65 74 20 66 6F 72 20 49 59 A3 20 20 al set for IY£ 000890: 20 20 20 45 58 41 4D 50 4C 45 20 4F 46 20 55 53 EXAMPLE OF US 0008A0: 45 20 4F 46 20 49 4E 44 45 58 20 52 45 47 49 53 E OF INDEX REGIS 0008B0: 54 45 52 A0 A0 20 54 68 65 20 65 78 61 6D 70 6C TER.. The exampl 0008C0: 65 20 20 75 73 65 73 20 20 74 68 65 20 49 58 20 e uses the IX 0008D0: 72 65 67 69 73 74 65 72 20 61 73 20 61 70 6F 69 register as apoi 0008E0: 6E 74 65 72 20 74 6F 20 61 20 74 61 62 6C 65 20 nter to a table 0008F0: 6F 66 20 74 77 6F 20 20 62 79 74 65 20 6E 75 6D of two byte num 000900: 62 65 72 73 2E 45 61 63 68 20 6E 75 6D 62 65 72 bers.Each number 000910: 20 5E 08 69 73 20 74 6F 20 62 65 20 64 69 76 69 ^.is to be divi 000920: 64 65 64 20 62 79 20 32 2E A3 20 4C 44 20 42 2C ded by 2.£ LD B, 000930: 36 A0 20 20 4C 44 20 49 58 2C 49 54 45 4D 31 A0 6. LD IX,ITEM1. 000940: 20 4C 4F 4F 50 20 20 53 52 4C 20 28 49 58 2B 31 LOOP SRL (IX+1 000950: 29 A0 20 20 52 52 20 28 49 58 2B 30 29 A0 20 20 ). RR (IX+0). 000960: 49 4E 43 20 49 58 A0 20 20 49 4E 43 20 49 58 A0 INC IX. INC IX. 000970: 20 20 44 4A 4E 5A 20 4C 4F 4F 50 A0 20 20 52 45 DJNZ LOOP. RE 000980: 54 A0 20 20 A0 20 49 54 45 4D 31 20 44 45 46 57 T. . ITEM1 DEFW 000990: 20 35 36 30 A0 20 20 44 45 46 57 20 31 36 A0 20 560. DEFW 16. 0009A0: 20 44 45 46 57 20 39 36 33 34 A0 20 20 44 45 46 DEFW 9634. DEF 0009B0: 57 20 31 38 37 A0 20 20 44 45 46 57 20 38 38 34 W 187. DEFW 884 0009C0: A0 20 20 44 45 46 57 20 35 39 33 37 A0 20 20 A0 . DEFW 5937. . 0009D0: 20 20 20 20 54 48 45 20 41 4C 54 45 52 4E 41 54 THE ALTERNAT 0009E0: 49 56 45 20 53 45 54 20 4F 46 20 52 45 47 49 53 IVE SET OF REGIS 0009F0: 54 45 52 53 A0 A0 20 54 68 65 20 20 20 5A 38 30 TERS.. The Z80 000A00: 20 20 20 68 61 73 20 20 20 77 69 74 68 69 6E 20 has within 000A10: 20 74 68 8F D8 65 20 20 63 68 69 70 20 20 61 6E th..e chip an 000A20: 61 6C 74 65 72 6E 61 74 69 76 65 20 73 65 74 20 alternative set 000A30: 6F 66 20 74 68 65 20 70 72 69 6D 61 72 79 20 72 of the primary r 000A40: 65 67 69 73 74 65 72 73 41 46 2C 20 42 43 2C 20 egistersAF, BC, 000A50: 44 45 20 20 61 6E 64 20 48 4C 2E 20 20 54 68 65 DE and HL. The 000A60: 73 65 20 20 61 72 65 20 6E 6F 72 6D 61 6C 6C 79 se are normally 000A70: 64 65 73 69 67 6E 61 74 65 64 20 61 73 20 20 41 designated as A 000A80: 46 27 2C 20 20 42 43 27 2C 20 20 44 45 27 20 61 F', BC', DE' a 000A90: 6E 64 20 20 48 4C 27 2E 41 6C 74 68 6F 75 67 68 nd HL'.Although 000AA0: 20 20 6E 6F 20 6F 70 65 72 61 74 69 6F 6E 73 20 no operations 000AB0: 63 61 6E 20 62 65 20 70 65 72 66 6F 72 6D 65 64 can be performed 000AC0: 6F 6E 20 74 68 65 73 65 20 72 65 67 69 73 74 65 on these registe 000AD0: 72 73 2C 20 20 74 68 65 79 20 63 61 6E 20 62 65 rs, they can be 000AE0: 20 75 73 65 64 20 61 73 61 20 66 61 73 74 20 6D used asa fast m 000AF0: 65 74 68 6F 64 20 6F 66 20 73 74 6F 72 61 67 65 ethod of storage 000B00: 2E A0 A0 A0 20 54 68 65 72 65 20 20 20 61 72 65 .... There are 000B10: 20 20 20 6F 6E 2D EE 6C 79 20 20 20 74 77 6F 20 on-.ly two 000B20: 20 20 69 6E 73 74 72 75 63 74 69 6F 6E 73 69 6E instructionsin 000B30: 76 6F 6C 76 69 6E 67 20 74 68 65 20 61 6C 74 65 volving the alte 000B40: 72 6E 61 74 69 76 65 20 72 65 67 69 73 74 65 72 rnative register 000B50: 73 2E A0 A0 20 45 58 20 41 46 2C 41 46 27 20 20 s... EX AF,AF' 000B60: 65 78 63 68 61 6E 67 65 73 20 74 68 65 20 63 6F exchanges the co 000B70: 6E 74 65 6E 74 73 20 6F 66 20 41 46 20 20 20 20 ntents of AF 000B80: 20 20 20 20 20 20 20 20 61 6E 64 20 41 46 27 A0 and AF'. 000B90: A0 20 45 58 58 20 20 20 20 20 20 20 20 65 78 63 . EXX exc 000BA0: 68 61 6E 67 65 73 20 42 43 2C 44 45 20 61 6E 64 hanges BC,DE and 000BB0: 20 48 4C 2C 20 77 69 74 68 20 20 20 20 20 20 20 HL, with 000BC0: 20 20 20 20 20 42 43 27 2C 20 44 45 27 20 61 6E BC', DE' an 000BD0: 64 20 48 4C 27 20 72 65 73 70 2E A3 20 20 20 20 d HL' resp.£ 000BE0: 45 58 41 4D 50 4C 45 20 55 53 49 4E 47 20 54 48 EXAMPLE USING TH 000BF0: 45 20 41 4C 54 45 52 4E 41 54 49 56 45 20 53 45 E ALTERNATIVE SE 000C00: 54 A0 A0 20 54 68 65 20 20 65 78 61 6D 70 6C 65 T.. The example 000C10: 20 6C 6F 61 64 73 20 07 C1 61 6C 6C 20 72 65 67 loads ..all reg 000C20: 69 73 74 65 72 73 2C 20 20 74 68 65 6E 73 77 6F isters, thenswo 000C30: 70 73 20 20 74 68 65 6D 20 20 77 69 74 68 20 20 ps them with 000C40: 74 68 65 20 61 6C 74 65 72 6E 61 74 69 76 65 20 the alternative 000C50: 20 73 65 74 2E 48 61 76 69 6E 67 20 72 65 2D 6C set.Having re-l 000C60: 6F 61 64 65 64 20 74 68 65 20 72 65 67 69 73 74 oaded the regist 000C70: 65 72 73 20 61 20 66 75 72 74 68 65 72 73 77 6F ers a furtherswo 000C80: 70 20 72 65 74 75 72 6E 73 20 74 68 65 20 6F 72 p returns the or 000C90: 69 67 69 6E 61 6C 20 6E 75 6D 62 65 72 73 2E A3 iginal numbers.£ 000CA0: 20 4C 44 20 41 2C 33 30 A0 20 20 4C 44 20 42 43 LD A,30. LD BC 000CB0: 2C 31 30 32 34 A0 20 20 4C 44 20 44 45 2C 38 30 ,1024. LD DE,80 000CC0: 30 30 A0 20 20 4C 44 20 48 4C 2C 36 34 30 30 30 00. LD HL,64000 000CD0: A0 20 20 45 58 58 A0 20 20 45 58 20 41 46 2C 41 . EXX. EX AF,A 000CE0: 46 27 A0 20 20 4C 44 20 41 2C 36 30 A0 20 20 4C F'. LD A,60. L 000CF0: 44 20 42 43 2C 31 32 38 30 A0 20 20 4C 44 20 44 D BC,1280. LD D 000D00: 45 2C 32 30 30 A0 20 20 4C 44 20 48 4C 2C 33 32 E,200. LD HL,32 000D10: 31 30 30 A0 20 4C 4F 4F 50 40 CC 20 20 45 58 58 100. LOOP@. EXX 000D20: A0 20 20 45 58 20 41 46 2C 41 46 27 A0 20 20 44 . EX AF,AF'. D 000D30: 4A 4E 5A 20 4C 4F 4F 50 A0 20 20 52 45 54 A0 20 JNZ LOOP. RET. 000D40: 20 A0 20 20 A0 20 20 20 20 20 20 20 49 4E 50 55 . . INPU 000D50: 54 20 41 4E 44 20 4F 55 54 50 55 54 20 49 4E 53 T AND OUTPUT INS 000D60: 54 52 55 43 54 49 4F 4E 53 A0 A0 20 53 6F 20 66 TRUCTIONS.. So f 000D70: 61 72 20 77 65 20 68 61 76 65 20 20 6D 61 6E 69 ar we have mani 000D80: 70 75 6C 61 74 65 64 20 64 61 74 61 20 77 69 74 pulated data wit 000D90: 68 69 6E 74 68 65 20 70 72 6F 63 65 73 73 6F 72 hinthe processor 000DA0: 20 61 6E 64 20 69 74 73 20 61 73 73 6F 63 69 61 and its associa 000DB0: 74 65 64 20 6D 65 6D 6F 72 79 2E 20 49 66 20 61 ted memory. If a 000DC0: 20 20 6D 65 6D 6F 72 79 20 6C 6F 63 61 74 69 6F memory locatio 000DD0: 6E 20 69 73 20 75 73 65 64 20 20 64 69 72 65 63 n is used direc 000DE0: 74 6C 79 62 79 20 20 61 20 20 65 78 74 65 72 6E tlyby a extern 000DF0: 61 6C 20 20 64 65 76 69 63 65 2C 20 20 74 68 65 al device, the 000E00: 20 20 64 65 76 69 63 65 20 69 73 74 65 72 6D 65 device isterme 000E10: 64 20 20 6D 65 6D 6F 72 79 20 61 2C 19 64 64 72 d memory a,.ddr 000E20: 65 73 73 20 6D 61 70 70 65 64 2E 20 20 54 68 65 ess mapped. The 000E30: 20 20 5A 38 30 61 6C 73 6F 20 73 75 70 70 6F 72 Z80also suppor 000E40: 74 73 20 20 32 35 36 20 20 6F 75 74 70 75 74 20 ts 256 output 000E50: 61 6E 64 20 32 35 36 20 69 6E 70 75 74 70 6F 72 and 256 inputpor 000E60: 74 73 2C 20 6F 72 20 20 20 38 20 20 62 69 74 20 ts, or 8 bit 000E70: 69 6E 66 6F 72 6D 61 74 69 6F 6E 20 20 73 6F 75 information sou 000E80: 72 63 65 73 2C 65 78 74 65 72 6E 61 6C 20 74 6F rces,external to 000E90: 20 6D 65 6D 6F 72 79 2E A0 A0 20 57 65 20 20 63 memory... We c 000EA0: 61 6E 20 20 69 6E 70 75 74 20 20 64 61 74 61 20 an input data 000EB0: 20 64 69 72 65 63 74 6C 79 20 69 6E 74 6F 20 74 directly into t 000EC0: 68 65 61 63 63 75 6D 75 6C 61 74 6F 72 20 77 69 heaccumulator wi 000ED0: 74 68 20 49 4E 20 41 2C 28 6E 29 20 77 68 65 72 th IN A,(n) wher 000EE0: 65 20 6E 20 69 73 20 74 68 65 6E 75 6D 62 65 72 e n is thenumber 000EF0: 20 20 6F 66 20 20 74 68 65 20 69 6E 70 75 74 20 of the input 000F00: 70 6F 72 74 20 62 65 74 77 65 65 6E 20 30 20 61 port between 0 a 000F10: 6E 64 32 35 35 2E 20 20 20 53 69 6D 69 D1 D9 6C nd255. Simi..l 000F20: 61 72 6C 79 20 77 65 20 63 61 6E 20 6F 75 74 70 arly we can outp 000F30: 75 74 20 64 61 74 61 20 66 72 6F 6D 74 68 65 20 ut data fromthe 000F40: 41 63 63 75 6D 75 6C 61 74 6F 72 20 20 74 6F 20 Accumulator to 000F50: 20 70 6F 72 74 20 20 6E 20 20 75 73 69 6E 67 20 port n using 000F60: 20 74 68 65 69 6E 73 74 72 75 63 74 69 6F 6E 20 theinstruction 000F70: 20 20 4F 55 54 20 28 6E 29 2C 41 2E 20 20 4E 6F OUT (n),A. No 000F80: 20 20 66 6C 61 67 73 20 20 61 72 65 61 66 66 65 flags areaffe 000F90: 63 74 65 64 20 62 79 20 74 68 65 73 65 20 69 6E cted by these in 000FA0: 73 74 72 75 63 74 69 6F 6E 73 A3 20 57 65 20 63 structions£ We c 000FB0: 61 6E 20 61 6C 73 6F 20 20 69 6E 70 75 74 20 20 an also input 000FC0: 64 61 74 61 20 74 6F 20 61 6E 79 20 20 38 20 20 data to any 8 000FD0: 62 69 74 72 65 67 69 73 74 65 72 20 20 75 73 69 bitregister usi 000FE0: 6E 67 20 20 74 68 65 20 20 42 20 61 6E 64 20 43 ng the B and C 000FF0: 20 72 65 67 69 73 74 65 72 73 2E 54 68 65 20 69 registers.The i 001000: 6E 73 74 72 75 63 74 69 6F 6E 20 20 49 4E 20 72 nstruction IN r 001010: 2C 28 43 29 2C 20 74 72 61 6E 73 6D 69 74 73 70 ,(C), transmitsp 001020: BE 20 74 68 65 63 6F 6E 74 65 6E 74 73 20 20 6F . thecontents o 001030: 66 20 20 74 68 65 20 42 20 72 65 67 69 73 74 65 f the B registe 001040: 72 20 74 6F 20 74 68 65 20 70 6F 72 74 77 68 6F r to the portwho 001050: 73 65 20 20 6E 75 6D 62 65 72 20 20 69 73 20 69 se number is i 001060: 6E 20 74 68 65 20 43 20 72 65 67 69 73 74 65 72 n the C register 001070: 2E 20 54 68 65 70 6F 72 74 20 20 6D 61 79 20 20 . Theport may 001080: 20 6F 72 20 20 6D 61 79 20 20 6E 6F 74 20 20 61 or may not a 001090: 63 74 20 20 75 70 6F 6E 20 74 68 69 73 69 6E 66 ct upon thisinf 0010A0: 6F 72 6D 61 74 69 6F 6E 2E 20 20 54 68 65 20 72 ormation. The r 0010B0: 65 74 75 72 6E 65 64 20 64 61 74 61 20 66 72 6F eturned data fro 0010C0: 6D 20 74 68 65 70 6F 72 74 20 69 73 20 20 6C 6F m theport is lo 0010D0: 61 64 65 64 20 69 6E 74 6F 20 72 65 67 69 73 74 aded into regist 0010E0: 65 72 20 72 2E A3 20 49 4E 20 72 2C 20 28 43 29 er r.£ IN r, (C) 0010F0: 20 20 61 66 66 65 63 74 20 74 68 65 20 20 5A 65 affect the Ze 001100: 72 6F 2C 20 20 53 69 67 6E 2C 20 61 6E 64 50 61 ro, Sign, andPa 001110: 72 69 74 79 20 66 6C 61 67 73 2E 20 20 54 68 65 rity flags. The 001120: 20 45 65 69 6E 73 74 72 75 63 74 69 6F 6E 20 49 Eeinstruction I 001130: 4E 20 46 2C 20 28 43 29 69 73 20 74 68 65 20 6F N F, (C)is the o 001140: 6E 6C 79 20 69 6E 73 74 72 75 63 74 69 6F 6E 20 nly instruction 001150: 74 68 61 74 20 20 64 65 61 6C 73 20 77 69 74 68 that deals with 001160: 74 68 65 20 46 6C 61 67 20 72 65 67 69 73 74 65 the Flag registe 001170: 72 20 73 65 70 61 72 61 74 65 6C 79 2E 20 20 4F r separately. O 001180: 6E 6C 79 20 20 74 68 65 66 6C 61 67 73 20 61 72 nly theflags ar 001190: 65 20 61 66 66 65 63 74 65 64 20 62 79 20 20 74 e affected by t 0011A0: 68 69 73 20 20 69 6E 73 74 72 75 63 74 69 6F 6E his instruction 0011B0: 61 6E 64 20 20 6E 6F 20 20 64 61 74 61 20 20 69 and no data i 0011C0: 73 20 20 74 72 61 6E 73 66 65 72 72 65 64 20 20 s transferred 0011D0: 69 6E 74 6F 20 74 68 65 70 72 6F 63 65 73 73 6F into theprocesso 0011E0: 72 2E A0 A0 20 4F 55 54 20 28 43 29 2C 20 72 20 r... OUT (C), r 0011F0: 69 73 20 61 20 20 73 69 6D 69 6C 61 72 20 69 6E is a similar in 001200: 73 74 72 75 63 74 69 6F 6E 20 74 6F 49 4E 20 72 struction toIN r 001210: 2C 28 43 29 2C 20 20 62 75 74 20 20 20 74 68 65 ,(C), but the 001220: 20 20 20 2E C9 63 6F 6E 74 65 6E 74 73 20 20 6F ..contents o 001230: 66 20 20 74 68 65 72 65 67 69 73 74 65 72 20 72 f theregister r 001240: 20 69 73 20 6C 6F 61 64 65 64 20 69 6E 74 6F 20 is loaded into 001250: 70 6F 72 74 20 28 43 29 2E A0 A0 20 54 68 65 20 port (C)... The 001260: 41 4D 53 54 52 41 44 20 20 43 50 43 20 34 36 34 AMSTRAD CPC 464 001270: 20 20 75 73 65 73 20 74 68 65 20 49 4E 20 72 2C uses the IN r, 001280: 28 43 29 61 6E 64 20 4F 55 54 20 28 43 29 2C 72 (C)and OUT (C),r 001290: 20 66 6F 72 6D 73 20 6F 66 20 49 2F 4F 20 69 6E forms of I/O in 0012A0: 73 74 72 75 63 74 69 6F 6E 73 2C 62 65 63 61 75 structions,becau 0012B0: 73 65 20 20 6F 66 20 20 74 68 65 20 20 63 6F 6E se of the con 0012C0: 66 69 67 75 72 61 74 69 6F 6E 20 20 6F 66 20 20 figuration of 0012D0: 74 68 65 69 6E 74 65 72 66 61 63 65 73 20 20 49 theinterfaces I 0012E0: 2F 4F 20 69 6E 73 74 72 75 63 74 69 6F 6E 73 20 /O instructions 0012F0: 6F 66 20 74 68 65 20 66 6F 72 6D 49 4E 20 41 2C of the formIN A, 001300: 28 6E 29 20 6F 72 20 20 4F 55 54 20 28 6E 29 2C (n) or OUT (n), 001310: 41 20 63 61 6E 6E 6F 74 20 62 65 20 75 73 65 64 A cannot be used 001320: 2E A3 20 53 75 21 61 6D 6D 61 72 79 20 2D 20 73 .£ Su!ammary - s 001330: 69 6D 70 6C 65 20 69 6E 70 75 74 2F 6F 75 74 70 imple input/outp 001340: 75 74 A0 A0 49 4E 20 41 2C 28 6E 29 20 20 20 20 ut..IN A,(n) 001350: 77 68 65 72 65 20 6E 20 69 73 20 74 68 65 20 6E where n is the n 001360: 75 6D 62 65 72 20 6F 66 20 74 68 65 20 20 20 20 umber of the 001370: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 001380: 20 20 69 6E 70 75 74 20 70 6F 72 74 20 28 30 2D input port (0- 001390: 32 35 35 29 A0 49 4E 20 72 2C 28 43 29 A0 49 4E 255).IN r,(C).IN 0013A0: 20 46 2C 28 6E 29 A0 A0 4F 55 54 20 28 6E 29 2C F,(n)..OUT (n), 0013B0: 41 A0 4F 55 54 20 28 43 29 2C 72 A3 20 20 45 58 A.OUT (C),r£ EX 0013C0: 41 4D 50 4C 45 53 20 4F 46 20 49 4E 50 55 54 2F AMPLES OF INPUT/ 0013D0: 4F 55 54 50 55 54 20 49 4E 53 54 52 55 43 54 49 OUTPUT INSTRUCTI 0013E0: 4F 4E 53 A0 A0 20 4F 6E 20 74 68 65 20 41 4D 53 ONS.. On the AMS 0013F0: 54 52 41 44 20 61 6C 6C 20 75 73 65 66 75 6C 20 TRAD all useful 001400: 49 2F 4F 20 61 64 64 72 65 73 73 65 73 61 72 65 I/O addressesare 001410: 20 20 20 20 61 6C 6C 6F 63 61 74 65 64 20 20 20 allocated 001420: 20 74 6F 20 20 20 64 BE 01 72 69 76 65 20 20 20 to d..rive 001430: 76 61 72 69 6F 75 73 70 65 72 69 70 68 65 72 61 variousperiphera 001440: 6C 20 64 65 76 69 63 65 73 2C 20 73 75 63 68 20 l devices, such 001450: 61 73 20 74 68 65 20 50 61 72 61 6C 6C 65 6C 49 as the ParallelI 001460: 6E 70 75 74 2F 4F 75 74 70 75 74 20 20 20 20 63 nput/Output c 001470: 68 69 70 20 20 20 28 20 50 49 4F 20 29 20 20 6F hip ( PIO ) o 001480: 72 20 20 20 43 52 54 43 6F 6E 74 72 6F 6C 6C 65 r CRTControlle 001490: 72 20 20 63 68 69 70 20 20 65 74 63 2E 20 20 54 r chip etc. T 0014A0: 68 65 20 20 64 72 69 76 69 6E 67 20 20 6F 66 74 he driving oft 0014B0: 68 65 73 65 20 63 68 69 70 73 20 69 73 20 6F 75 hese chips is ou 0014C0: 74 73 69 64 65 20 74 68 65 20 73 63 6F 70 65 20 tside the scope 0014D0: 6F 66 20 74 68 69 73 54 55 54 4F 52 2E 20 20 20 of thisTUTOR. 0014E0: 53 69 6E 63 65 20 65 72 72 6F 6E 65 6F 75 73 20 Since erroneous 0014F0: 6F 75 74 70 75 74 20 74 6F 20 74 68 65 73 65 64 output to thesed 001500: 65 76 69 63 65 73 20 63 61 6E 20 72 65 73 75 6C evices can resul 001510: 74 20 69 6E 20 73 79 73 74 65 6D 20 63 72 61 73 t in system cras 001520: 68 2C 20 74 68 69 73 53 49 B9 13 4D 55 4C 41 54 h, thisSI..MULAT 001530: 4F 52 20 20 20 63 61 6E 6E 6F 74 20 20 73 61 66 OR cannot saf 001540: 65 6C 79 20 73 75 70 70 6F 72 74 20 6D 65 61 6E ely support mean 001550: 2D 69 6E 67 66 75 6C 20 49 2F 4F 20 20 69 6E 73 -ingful I/O ins 001560: 74 72 75 63 74 69 6F 6E 73 2E 20 20 20 49 66 20 tructions. If 001570: 74 68 65 20 70 75 70 69 6C 77 69 73 68 65 73 20 the pupilwishes 001580: 20 74 6F 20 20 70 72 6F 63 65 65 64 20 20 20 66 to proceed f 001590: 75 72 74 68 65 72 20 20 69 6E 20 20 20 74 68 69 urther in thi 0015A0: 73 64 69 72 65 63 74 69 6F 6E 2C 20 69 74 20 69 sdirection, it i 0015B0: 73 20 72 65 63 6F 6D 6D 65 6E 64 65 64 20 74 6F s recommended to 0015C0: 20 72 65 61 64 20 74 68 65 43 50 43 34 36 34 20 read theCPC464 0015D0: 20 46 49 52 4D 57 41 52 45 20 20 20 4D 61 6E 75 FIRMWARE Manu 0015E0: 61 6C 20 20 70 75 62 6C 69 73 68 65 64 20 20 62 al published b 0015F0: 79 41 4D 53 4F 46 54 2E A3 20 20 20 20 20 20 20 yAMSOFT.£ 001600: 20 20 20 20 42 4C 4F 43 4B 20 49 4E 53 54 52 55 BLOCK INSTRU 001610: 43 54 49 4F 4E 53 A0 A0 20 54 68 65 72 65 20 61 CTIONS.. There a 001620: 72 65 20 66 6F 75 72 20 67 72 6F 51 8E 75 70 73 re four groQ.ups 001630: 20 6F 66 20 20 66 6F 75 72 20 74 79 70 65 73 20 of four types 001640: 6F 66 69 6E 73 74 72 75 63 74 69 6F 6E 73 20 20 ofinstructions 001650: 74 68 61 74 20 70 65 72 66 6F 72 6D 20 6F 70 65 that perform ope 001660: 72 61 74 69 6F 6E 73 20 6F 6E 62 6C 6F 63 6B 73 rations onblocks 001670: 20 20 20 20 6F 66 20 20 20 20 6D 65 6D 6F 72 79 of memory 001680: 2E 20 20 20 20 53 69 6E 63 65 20 20 20 74 68 65 . Since the 001690: 73 65 69 6E 73 74 72 75 63 74 69 6F 6E 73 20 68 seinstructions h 0016A0: 61 76 65 20 73 69 6D 69 6C 61 72 69 74 69 65 73 ave similarities 0016B0: 2C 20 74 68 65 79 20 61 72 65 69 6E 74 72 6F 64 , they areintrod 0016C0: 75 63 65 64 20 74 6F 67 65 74 68 65 72 2E A0 A0 uced together... 0016D0: 20 41 6C 6C 20 62 6C 6F 63 6B 20 69 6E 73 74 72 All block instr 0016E0: 75 63 74 69 6F 6E 73 20 75 73 65 20 20 72 65 67 uctions use reg 0016F0: 69 73 74 65 72 28 73 29 61 73 20 61 20 70 6F 69 ister(s)as a poi 001700: 6E 74 65 72 28 73 29 20 20 74 6F 20 20 73 63 61 nter(s) to sca 001710: 6E 20 74 68 6F 75 67 68 20 61 20 62 6C 6F 63 6B n though a block 001720: 6F 66 20 6D 65 6D 6F 72 79 20 61 6E 64 57 1E 20 of memory andW. 001730: 61 6E 6F 74 68 65 72 20 61 73 20 61 20 63 6F 75 another as a cou 001740: 6E 74 65 72 2E A0 A0 20 41 6C 6C 20 20 62 6C 6F nter... All blo 001750: 63 6B 20 20 69 6E 73 74 72 75 63 74 69 6F 6E 73 ck instructions 001760: 20 20 68 61 76 65 20 20 73 69 6D 69 6C 61 72 6D have similarm 001770: 6E 65 6D 6F 6E 69 63 73 2E 20 20 20 20 49 20 20 nemonics. I 001780: 20 69 6E 64 69 63 61 74 65 73 20 20 20 74 68 61 indicates tha 001790: 74 20 20 20 74 68 65 70 6F 69 6E 74 65 72 28 73 t thepointer(s 0017A0: 29 20 20 61 72 65 20 20 49 6E 63 72 65 6D 65 6E ) are Incremen 0017B0: 74 65 64 2C 20 20 20 44 20 20 20 74 68 61 74 74 ted, D thatt 0017C0: 68 65 20 20 70 6F 69 6E 74 65 72 28 73 29 20 61 he pointer(s) a 0017D0: 72 65 20 20 44 65 63 72 65 6D 65 6E 74 65 64 2C re Decremented, 0017E0: 20 61 6E 64 20 20 52 74 68 61 74 20 20 74 68 65 and Rthat the 0017F0: 20 69 6E 73 74 72 75 63 74 69 6F 6E 20 69 73 20 instruction is 001800: 74 6F 20 62 65 20 20 72 65 70 65 61 74 65 64 75 to be repeatedu 001810: 6E 74 69 6C 20 74 68 65 20 63 6F 75 6E 74 65 72 ntil the counter 001820: 20 69 73 20 7A 65 72 6F 2E A3 20 54 68 65 20 DF is zero.£ The . 001830: 25 74 6F 74 61 6C 20 6C 69 73 74 20 69 73 A0 A0 %total list is.. 001840: 20 54 72 61 6E 73 66 65 72 73 20 4C 44 20 2E 2E Transfers LD .. 001850: 2E 2E 2E 4C 44 49 2C 4C 44 49 52 2C 4C 44 44 2C ...LDI,LDIR,LDD, 001860: 4C 44 44 52 A0 A0 20 43 6F 6D 70 61 72 65 20 20 LDDR.. Compare 001870: 20 43 50 20 2E 2E 2E 2E 2E 43 50 49 2C 43 50 49 CP .....CPI,CPI 001880: 52 2C 43 50 44 2C 43 50 44 52 A0 A0 20 49 6E 70 R,CPD,CPDR.. Inp 001890: 75 74 20 20 20 20 20 49 4E 20 2E 2E 2E 2E 2E 49 ut IN .....I 0018A0: 4E 49 2C 49 4E 49 52 2C 49 4E 44 2C 49 4E 44 52 NI,INIR,IND,INDR 0018B0: A0 A0 20 4F 75 74 70 75 74 20 20 20 20 4F 55 54 .. Output OUT 0018C0: 2F 4F 54 2E 2E 4F 55 54 49 2C 4F 54 44 52 2C 4F /OT..OUTI,OTDR,O 0018D0: 55 54 44 2C 4F 54 44 52 A0 A0 20 54 68 65 20 20 UTD,OTDR.. The 0018E0: 55 20 20 69 6E 20 4F 55 54 20 69 73 20 64 72 6F U in OUT is dro 0018F0: 70 70 65 64 20 20 74 6F 20 6B 65 65 70 20 20 74 pped to keep t 001900: 68 65 6D 6E 65 6D 6F 6E 69 63 20 74 6F 20 61 20 hemnemonic to a 001910: 6D 61 78 69 6D 75 6D 20 6F 66 20 34 20 6C 65 74 maximum of 4 let 001920: 74 65 72 73 2E A3 20 20 20 20 20 20 42 4C 4F 43 ters.£ BLOC 001930: 4B 0A AC 20 54 52 41 4E 53 46 45 52 20 49 4E 53 K.. TRANSFER INS 001940: 54 52 55 43 54 49 4F 4E 53 A0 A0 20 42 6C 6F 63 TRUCTIONS.. Bloc 001950: 6B 20 20 74 72 61 6E 73 66 65 72 20 20 69 6E 73 k transfer ins 001960: 74 72 75 63 74 69 6F 6E 73 20 20 74 72 61 6E 73 tructions trans 001970: 66 65 72 74 68 65 20 20 63 6F 6E 74 65 6E 74 73 ferthe contents 001980: 20 20 6F 66 20 20 61 6E 20 61 72 65 61 20 20 6F of an area o 001990: 66 20 6D 65 6D 6F 72 79 20 74 6F 61 6E 6F 74 68 f memory toanoth 0019A0: 65 72 20 61 72 65 61 2E 20 54 77 6F 20 70 6F 69 er area. Two poi 0019B0: 6E 74 65 72 73 20 61 72 65 20 75 73 65 64 2E 20 nters are used. 0019C0: 54 68 65 48 4C 20 72 65 67 69 73 74 65 72 20 68 TheHL register h 0019D0: 6F 6C 64 73 20 74 68 65 20 73 6F 75 72 63 65 20 olds the source 0019E0: 61 64 64 72 65 73 73 20 61 6E 64 74 68 65 20 44 address andthe D 0019F0: 45 20 72 65 67 69 73 74 65 72 20 74 68 65 20 64 E register the d 001A00: 65 73 74 69 6E 61 74 69 6F 6E 20 61 64 64 72 65 estination addre 001A10: 73 73 2E 54 68 65 20 73 69 7A 65 20 6F 66 20 74 ss.The size of t 001A20: 68 65 20 62 6C 6F 63 6B 20 74 6F 20 62 65 20 20 he block to be 001A30: 74 72 61 6F 69 6E 73 66 65 72 72 65 64 69 73 20 traoinsferredis 001A40: 68 65 6C 64 20 69 6E 20 74 68 65 20 42 43 20 72 held in the BC r 001A50: 65 67 69 73 74 65 72 2E A3 20 4C 44 49 20 20 74 egister.£ LDI t 001A60: 72 61 6E 73 66 65 72 73 20 28 48 4C 29 20 74 6F ransfers (HL) to 001A70: 20 28 44 45 29 2C 20 69 6E 63 72 65 6D 65 6E 74 (DE), increment 001A80: 73 62 6F 74 68 20 20 70 6F 69 6E 74 65 72 73 2C sboth pointers, 001A90: 20 20 61 6E 64 20 20 64 65 63 72 65 6D 65 6E 74 and decrement 001AA0: 73 20 42 43 2E 20 20 49 66 42 43 3D 30 20 74 68 s BC. IfBC=0 th 001AB0: 65 20 50 2F 56 20 66 6C 61 67 20 69 73 20 30 20 e P/V flag is 0 001AC0: 20 28 69 2E 65 2E 20 65 71 75 69 76 61 6C 65 6E (i.e. equivalen 001AD0: 74 74 6F 20 70 61 72 69 74 79 20 62 65 69 6E 67 tto parity being 001AE0: 20 6F 64 64 20 29 2E 20 49 66 20 20 42 43 20 20 odd ). If BC 001AF0: 64 6F 65 73 20 20 6E 6F 74 65 71 75 61 6C 20 30 does notequal 0 001B00: 20 74 68 65 20 50 2F 56 20 66 6C 61 67 20 69 73 the P/V flag is 001B10: 20 31 20 28 70 61 72 69 74 79 20 65 76 65 6E 29 1 (parity even) 001B20: 2E 4C 44 49 20 74 68 65 72 65 66 6F 72 65 20 70 .LDI therefore p 001B30: 65 72 66 6F 72 AB DA 6D 73 20 6F 6E 6C 79 20 20 erfor..ms only 001B40: 6F 6E 65 20 73 74 65 70 20 6F 66 74 68 65 20 74 one step ofthe t 001B50: 72 61 6E 73 66 65 72 20 20 20 6F 66 20 20 74 68 ransfer of th 001B60: 65 20 20 62 6C 6F 63 6B 2C 20 20 61 6C 6C 6F 77 e block, allow 001B70: 69 6E 67 69 6E 74 65 72 6D 65 64 69 61 74 65 20 ingintermediate 001B80: 20 6F 70 65 72 61 74 69 6F 6E 73 20 74 6F 20 62 operations to b 001B90: 65 20 70 65 72 66 6F 72 6D 65 64 62 65 66 6F 72 e performedbefor 001BA0: 65 20 74 68 65 20 69 6E 73 74 72 75 63 74 69 6F e the instructio 001BB0: 6E 20 69 73 20 72 65 70 65 61 74 65 64 2E A0 A0 n is repeated... 001BC0: 20 4C 44 49 52 20 20 69 73 20 73 69 6D 69 6C 61 LDIR is simila 001BD0: 72 20 74 6F 20 20 4C 44 49 2C 20 20 74 72 61 6E r to LDI, tran 001BE0: 73 66 65 72 72 69 6E 67 64 61 74 61 20 66 72 6F sferringdata fro 001BF0: 6D 20 28 48 4C 29 20 74 6F 20 28 44 45 29 20 61 m (HL) to (DE) a 001C00: 6E 64 20 20 69 6E 63 72 65 6D 65 6E 74 69 6E 67 nd incrementing 001C10: 74 68 65 20 70 6F 69 6E 74 65 72 73 2C 20 20 20 the pointers, 001C20: 62 75 74 20 20 20 74 68 69 73 20 20 20 69 6E 73 but this ins 001C30: 74 72 75 63 74 69 6F 18 62 6E 61 75 74 6F 6D 61 tructio.bnautoma 001C40: 74 69 63 61 6C 6C 79 20 20 20 72 65 70 65 61 74 tically repeat 001C50: 73 20 20 20 74 68 65 20 20 6F 70 65 72 61 74 69 s the operati 001C60: 6F 6E 75 6E 74 69 6C 20 20 42 43 3D 30 20 20 20 onuntil BC=0 001C70: 61 6E 64 20 20 74 68 65 20 20 77 68 6F 6C 65 20 and the whole 001C80: 20 62 6C 6F 63 6B 20 20 69 73 74 72 61 6E 73 66 block istransf 001C90: 65 72 72 65 64 2E A3 20 4C 44 44 20 20 69 73 20 erred.£ LDD is 001CA0: 73 69 6D 69 6C 61 72 20 74 6F 20 20 4C 44 49 20 similar to LDI 001CB0: 65 78 63 65 70 74 20 74 68 61 74 20 74 68 65 70 except that thep 001CC0: 6F 69 6E 74 65 72 73 20 61 72 65 20 44 65 63 72 ointers are Decr 001CD0: 65 6D 65 6E 74 65 64 2E 20 54 68 75 73 20 48 4C emented. Thus HL 001CE0: 20 61 6E 64 20 44 45 73 74 61 72 74 20 20 61 74 and DEstart at 001CF0: 20 20 74 68 65 20 20 74 6F 70 20 20 6F 66 20 20 the top of 001D00: 74 68 65 20 20 72 65 73 70 65 63 74 69 76 65 62 the respectiveb 001D10: 6C 6F 63 6B 73 20 6F 66 20 6D 65 6D 6F 72 79 2E locks of memory. 001D20: A0 A0 20 4C 44 44 52 20 20 52 65 70 65 61 74 73 .. LDDR Repeats 001D30: 20 20 4C 44 44 20 75 6E 74 44 03 69 6C 20 42 43 LDD untD.il BC 001D40: 3D 30 20 61 73 20 69 6E 20 74 68 65 4C 44 49 52 =0 as in theLDIR 001D50: 20 69 6E 73 74 72 75 63 74 69 6F 6E 2E A0 A0 20 instruction... 001D60: 42 6F 74 68 20 20 70 61 69 72 73 20 20 6F 66 20 Both pairs of 001D70: 69 6E 73 74 72 75 63 74 69 6F 6E 73 20 20 28 4C instructions (L 001D80: 44 49 52 20 61 6E 64 4C 44 44 52 29 20 20 61 72 DIR andLDDR) ar 001D90: 65 20 20 72 65 71 75 69 72 65 64 2E A0 A0 20 54 e required... T 001DA0: 61 6B 65 20 74 68 65 20 65 78 61 6D 70 6C 65 20 ake the example 001DB0: 6F 66 20 61 6E 20 4C 44 49 52 20 69 6E 73 74 72 of an LDIR instr 001DC0: 75 63 74 69 6F 6E 77 69 74 68 20 74 68 65 20 72 uctionwith the r 001DD0: 65 67 69 73 74 65 72 73 20 69 6E 69 74 69 61 6C egisters initial 001DE0: 6C 79 20 73 65 74 20 74 6F 3A 2D A0 48 4C 20 3D ly set to:-.HL = 001DF0: 20 31 30 30 30 20 20 44 45 20 3D 20 31 35 30 30 1000 DE = 1500 001E00: 20 20 61 6E 64 20 20 42 43 20 3D 20 31 30 30 30 and BC = 1000 001E10: 2E A0 54 68 65 20 20 20 69 6E 73 74 72 75 63 74 ..The instruct 001E20: 69 6F 6E 20 20 73 68 6F 75 6C 64 20 20 74 72 61 ion should tra 001E30: 6E 73 66 65 72 20 20 74 68 65 63 84 BB 6F 6E 74 nsfer thec..ont 001E40: 65 6E 74 73 20 6F 66 20 74 68 65 20 20 62 6C 6F ents of the blo 001E50: 63 6B 20 6F 66 20 20 6D 65 6D 6F 72 79 20 20 31 ck of memory 1 001E60: 30 30 30 2D 32 30 30 30 20 20 20 74 6F 20 20 6D 000-2000 to m 001E70: 65 6D 6F 72 79 20 20 6C 6F 63 61 74 69 6F 6E 73 emory locations 001E80: 20 20 31 35 30 30 2D 32 35 30 30 2E 55 6E 66 6F 1500-2500.Unfo 001E90: 72 74 75 6E 61 74 65 6C 79 20 20 74 68 65 20 66 rtunately the f 001EA0: 69 72 73 74 20 73 74 65 70 20 20 74 72 61 6E 73 irst step trans 001EB0: 66 65 72 73 74 68 65 20 20 63 6F 6E 74 65 6E 74 fersthe content 001EC0: 73 20 20 6F 66 20 20 31 30 30 30 20 74 6F 20 31 s of 1000 to 1 001ED0: 35 30 30 2E 20 20 42 79 20 74 68 65 74 69 6D 65 500. By thetime 001EE0: 20 69 74 20 69 73 20 74 68 65 20 74 75 72 6E 20 it is the turn 001EF0: 6F 66 20 6C 6F 63 61 74 69 6F 6E 20 20 31 35 30 of location 150 001F00: 30 20 74 6F 62 65 20 74 72 61 6E 73 66 65 72 72 0 tobe transferr 001F10: 65 64 20 20 20 20 69 74 20 20 68 61 73 20 20 61 ed it has a 001F20: 6C 72 65 61 64 79 20 20 62 65 65 6E 6F 76 65 72 lready beenover 001F30: 77 72 69 74 74 65 6E 20 69 6E 20 74 68 33 F7 65 written in th3.e 001F40: 20 66 69 72 73 74 20 73 74 65 70 2E A3 20 54 61 first step.£ Ta 001F50: 6B 69 6E 67 20 74 68 65 20 69 6E 69 74 69 61 6C king the initial 001F60: 20 63 6F 6E 64 69 74 69 6F 6E 73 20 3A 2D A0 48 conditions :-.H 001F70: 4C 20 3D 31 39 39 39 20 20 20 44 45 20 3D 20 32 L =1999 DE = 2 001F80: 34 39 39 20 61 6E 64 20 20 42 43 20 3D 20 31 30 499 and BC = 10 001F90: 30 30 20 20 61 6E 64 75 73 69 6E 67 20 20 74 68 00 andusing th 001FA0: 65 20 20 4C 44 44 52 20 20 69 6E 73 74 72 75 63 e LDDR instruc 001FB0: 74 69 6F 6E 2C 20 20 74 68 65 20 73 61 6D 65 62 tion, the sameb 001FC0: 6C 6F 63 6B 20 77 69 6C 6C 20 20 62 65 20 20 74 lock will be t 001FD0: 72 61 6E 73 66 65 72 72 65 64 20 20 74 6F 20 74 ransferred to t 001FE0: 68 65 20 73 61 6D 65 6D 65 6D 6F 72 79 20 6C 6F he samememory lo 001FF0: 63 61 74 69 6F 6E 73 20 77 69 74 68 6F 75 74 20 cations without 002000: 74 68 69 73 20 70 72 6F 62 6C 65 6D 2E A0 A0 20 this problem... 002010: 49 6E 20 20 67 65 6E 65 72 61 6C 2C 20 20 69 66 In general, if 002020: 20 74 68 65 20 74 77 6F 20 62 6C 6F 63 6B 73 20 the two blocks 002030: 6F 76 65 72 6C 61 70 75 73 65 20 74 68 65 20 03 overlapuse the . 002040: BD 20 69 6E 73 74 72 75 63 74 69 6F 6E 20 20 74 . instruction t 002050: 68 61 74 20 20 65 6E 73 75 72 65 73 20 20 74 68 hat ensures th 002060: 65 69 6E 69 74 69 61 6C 20 20 66 69 67 75 72 65 einitial figure 002070: 20 69 6E 20 74 68 65 20 20 48 4C 20 72 65 67 69 in the HL regi 002080: 73 74 65 72 20 6C 69 65 73 77 69 74 68 69 6E 20 ster lieswithin 002090: 74 68 65 20 20 62 6C 6F 63 6B 20 74 6F 20 77 68 the block to wh 0020A0: 69 63 68 20 64 61 74 61 20 69 73 20 74 6F 20 62 ich data is to b 0020B0: 65 74 72 61 6E 73 66 65 72 72 65 64 2E A3 20 53 etransferred.£ S 0020C0: 75 6D 6D 61 72 79 20 2D 20 62 6C 6F 63 6B 20 74 ummary - block t 0020D0: 72 61 6E 73 66 65 72 A0 A0 4C 44 49 20 20 20 20 ransfer..LDI 0020E0: 20 70 6F 69 6E 74 65 72 20 69 6E 63 72 65 6D 65 pointer increme 0020F0: 6E 74 65 64 A0 A0 4C 44 49 52 20 20 20 20 70 6F nted..LDIR po 002100: 69 6E 74 65 72 20 69 6E 63 72 65 6D 65 6E 74 65 inter incremente 002110: 64 20 61 6E 64 20 72 65 70 65 61 74 65 64 20 20 d and repeated 002120: 20 20 20 20 20 20 75 6E 74 69 6C 20 6E 75 6D 62 until numb 002130: 65 72 20 66 6F 75 6E 64 20 6F 72 20 42 43 3D 30 er found or BC=0 002140: A0 AE FD A0 4C 44 44 20 20 20 20 20 70 6F 69 6E ....LDD poin 002150: 74 65 72 20 64 65 63 72 65 6D 65 6E 74 65 64 A0 ter decremented. 002160: A0 4C 44 44 52 20 20 20 20 70 6F 69 6E 74 65 72 .LDDR pointer 002170: 20 64 65 63 72 65 6D 65 6E 74 65 64 20 61 6E 64 decremented and 002180: 20 72 65 70 65 61 74 65 64 20 20 20 20 20 20 20 repeated 002190: 20 75 6E 74 69 6C 20 6E 75 6D 62 65 72 20 66 6F until number fo 0021A0: 75 6E 64 20 6F 72 20 42 43 3D 30 A3 20 20 20 20 und or BC=0£ 0021B0: 20 20 20 45 58 41 4D 50 4C 45 20 4F 46 20 42 4C EXAMPLE OF BL 0021C0: 4F 43 4B 20 54 52 41 4E 53 46 45 52 A0 A0 20 54 OCK TRANSFER.. T 0021D0: 68 65 20 65 78 61 6D 70 6C 65 20 75 73 65 73 20 he example uses 0021E0: 74 68 65 20 20 4C 44 49 52 20 20 69 6E 73 74 72 the LDIR instr 0021F0: 75 63 74 69 6F 6E 74 6F 20 20 74 72 61 6E 73 66 uctionto transf 002200: 65 72 20 20 74 68 65 20 20 70 72 6F 67 72 61 6D er the program 002210: 20 20 20 64 6F 77 6E 20 20 74 6F 20 20 61 6D 65 down to ame 002220: 6D 6F 72 79 20 61 72 65 61 2E A0 A0 20 54 68 65 mory area... The 002230: 20 70 6F 77 65 72 20 6F 66 20 74 68 65 73 65 20 power of these 002240: 69 6E 73 56 75 74 72 75 63 74 69 6F 6E 73 20 69 insVutructions i 002250: 73 20 77 65 6C 6C 69 6C 6C 75 73 74 72 61 74 65 s wellillustrate 002260: 64 20 62 79 20 74 68 65 20 73 69 6D 70 6C 65 20 d by the simple 002270: 6F 70 65 72 61 74 69 6F 6E 2E A0 A0 20 54 68 65 operation... The 002280: 73 65 20 69 6E 73 74 72 75 63 74 69 6F 6E 73 20 se instructions 002290: 63 61 6E 20 20 62 65 20 75 73 65 64 20 61 6C 73 can be used als 0022A0: 6F 20 74 6F 66 69 6C 6C 20 20 61 20 20 62 6C 6F o tofill a blo 0022B0: 63 6B 20 20 6F 66 20 20 6D 65 6D 6F 72 79 20 77 ck of memory w 0022C0: 69 74 68 20 61 20 73 69 6E 67 6C 65 6E 75 6D 62 ith a singlenumb 0022D0: 65 72 2E A3 20 4C 44 20 48 4C 2C 46 30 30 48 A0 er.£ LD HL,F00H. 0022E0: 20 20 4C 44 20 44 45 2C 53 54 31 A0 20 20 4C 44 LD DE,ST1. LD 0022F0: 20 42 43 2C 42 48 A0 20 20 4C 44 49 52 A0 20 20 BC,BH. LDIR. 002300: 52 45 54 A0 20 53 54 31 20 20 20 44 45 46 42 20 RET. ST1 DEFB 002310: 30 A0 20 20 44 45 46 42 20 30 A0 20 20 44 45 46 0. DEFB 0. DEF 002320: 42 20 30 A0 20 20 44 45 46 42 20 30 A0 20 20 44 B 0. DEFB 0. D 002330: 45 46 42 20 30 A0 20 20 44 45 46 42 20 30 A0 20 EFB 0. DEFB 0. 002340: 20 44 45 46 42 BE 15 20 30 A0 20 20 44 45 46 42 DEFB.. 0. DEFB 002350: 20 30 A0 20 20 44 45 46 42 20 30 A0 20 20 44 45 0. DEFB 0. DE 002360: 46 42 20 30 A0 20 20 44 45 46 42 20 30 A0 20 20 FB 0. DEFB 0. 002370: 20 20 20 20 20 20 20 20 20 20 20 20 20 42 4C 4F BLO 002380: 43 4B 20 53 45 41 52 43 48 A0 A0 20 41 73 20 79 CK SEARCH.. As y 002390: 6F 75 20 6D 61 79 20 6E 6F 77 20 62 65 20 61 62 ou may now be ab 0023A0: 6C 65 20 74 6F 20 69 6E 66 65 72 2C 20 74 68 65 le to infer, the 0023B0: 20 43 50 67 72 6F 75 70 20 20 43 6F 6D 70 61 72 CPgroup Compar 0023C0: 65 73 20 20 74 68 65 20 63 6F 6E 74 65 6E 74 20 es the content 0023D0: 20 6F 66 20 20 6D 65 6D 6F 72 79 6C 6F 63 61 74 of memorylocat 0023E0: 69 6F 6E 73 20 69 6E 20 61 20 20 62 6C 6F 63 6B ions in a block 0023F0: 20 6F 66 20 20 6D 65 6D 6F 72 79 20 20 77 69 74 of memory wit 002400: 68 20 61 70 72 65 64 65 74 65 72 6D 69 6E 65 64 h apredetermined 002410: 20 20 20 6E 75 6D 62 65 72 2E 20 20 20 48 4C 20 number. HL 002420: 20 68 6F 6C 64 73 20 20 74 68 65 70 6F 69 6E 74 holds thepoint 002430: 65 72 20 61 6E 64 20 20 74 68 65 20 20 42 43 20 er and the BC 002440: 72 65 67 69 73 74 65 F8 1D 72 20 74 68 65 20 6C registe..r the l 002450: 65 6E 67 74 68 6F 66 20 20 74 68 65 20 20 20 62 engthof the b 002460: 6C 6F 63 6B 20 20 74 6F 20 20 62 65 20 20 73 65 lock to be se 002470: 61 72 63 68 65 64 2E 20 20 20 54 68 65 41 63 63 arched. TheAcc 002480: 75 6D 75 6C 61 74 6F 72 20 20 68 6F 6C 64 73 20 umulator holds 002490: 74 68 65 20 6E 75 6D 62 65 72 20 66 6F 72 20 20 the number for 0024A0: 77 68 69 63 68 74 68 65 20 20 69 6E 73 74 72 75 whichthe instru 0024B0: 63 74 69 6F 6E 20 20 77 69 6C 6C 20 20 73 65 61 ction will sea 0024C0: 72 63 68 2E 20 20 49 66 20 20 74 68 65 6E 75 6D rch. If thenum 0024D0: 62 65 72 20 20 69 73 20 20 66 6F 75 6E 64 20 20 ber is found 0024E0: 74 68 65 6E 20 74 68 65 20 5A 65 72 6F 20 66 6C then the Zero fl 0024F0: 61 67 20 69 73 73 65 74 2E 20 20 41 73 20 20 62 ag isset. As b 002500: 65 66 6F 72 65 20 20 74 68 65 20 50 2F 56 20 66 efore the P/V f 002510: 6C 61 67 20 69 6E 64 69 63 61 74 65 73 77 68 65 lag indicateswhe 002520: 74 68 65 72 20 42 43 3D 30 2E A0 A0 20 54 68 65 ther BC=0... The 002530: 20 20 62 6C 6F 63 6B 20 69 6E 73 74 72 75 63 74 block instruct 002540: 69 6F 6E 73 20 73 74 6F 70 BF 76 2C 20 6E 6F 74 ions stop.v, not 002550: 20 20 77 69 74 68 74 68 65 20 70 6F 69 6E 74 65 withthe pointe 002560: 72 28 73 29 20 70 6F 69 6E 74 69 6E 67 20 61 74 r(s) pointing at 002570: 20 74 68 65 20 61 64 64 72 65 73 73 65 73 6A 75 the addressesju 002580: 73 74 20 6F 70 65 72 61 74 65 64 20 6F 6E 2C 20 st operated on, 002590: 20 62 75 74 20 74 6F 20 74 68 6F 73 65 20 61 62 but to those ab 0025A0: 6F 75 74 20 74 6F 62 65 20 70 72 6F 63 65 73 73 out tobe process 0025B0: 65 64 2E 20 48 65 6E 63 65 20 69 66 20 65 71 75 ed. Hence if equ 0025C0: 61 6C 69 74 79 20 69 73 20 66 6F 75 6E 64 74 68 ality is foundth 0025D0: 65 79 20 20 70 6F 69 6E 74 20 74 6F 20 74 68 65 ey point to the 0025E0: 20 20 6E 65 78 74 20 61 64 64 72 65 73 73 20 61 next address a 0025F0: 6E 64 20 6E 6F 74 74 68 65 20 20 6D 65 6D 6F 72 nd notthe memor 002600: 79 20 20 6C 6F 63 61 74 69 6F 6E 20 20 69 6E 20 y location in 002610: 20 77 68 69 63 68 20 20 69 74 20 77 61 73 66 6F which it wasfo 002620: 75 6E 64 2E A3 20 53 75 6D 6D 61 72 79 20 2D 20 und.£ Summary - 002630: 62 6C 6F 63 6B 20 73 65 61 72 63 68 A0 A0 43 50 block search..CP 002640: 49 20 20 20 20 20 70 6F 69 6E 74 EF 5C 65 72 20 I point.\er 002650: 69 6E 63 72 65 6D 65 6E 74 65 64 A0 A0 43 50 49 incremented..CPI 002660: 52 20 20 20 20 70 6F 69 6E 74 65 72 20 69 6E 63 R pointer inc 002670: 72 65 6D 65 6E 74 65 64 20 61 6E 64 20 72 65 70 remented and rep 002680: 65 61 74 65 64 20 20 20 20 20 20 20 20 75 6E 74 eated unt 002690: 69 6C 20 6E 75 6D 62 65 72 20 66 6F 75 6E 64 20 il number found 0026A0: 6F 72 20 42 43 3D 30 A0 A0 43 50 44 20 20 20 20 or BC=0..CPD 0026B0: 20 70 6F 69 6E 74 65 72 20 64 65 63 72 65 6D 65 pointer decreme 0026C0: 6E 74 65 64 A0 A0 43 50 44 52 20 20 20 20 70 6F nted..CPDR po 0026D0: 69 6E 74 65 72 20 64 65 63 72 65 6D 65 6E 74 65 inter decremente 0026E0: 64 20 61 6E 64 20 72 65 70 65 61 74 65 64 20 20 d and repeated 0026F0: 20 20 20 20 20 20 75 6E 74 69 6C 20 6E 75 6D 62 until numb 002700: 65 72 20 66 6F 75 6E 64 20 6F 72 20 42 43 3D 30 er found or BC=0 002710: A3 20 20 20 20 20 20 20 45 58 41 4D 50 4C 45 20 £ EXAMPLE 002720: 4F 46 20 42 4C 4F 43 4B 20 53 45 41 52 43 48 A0 OF BLOCK SEARCH. 002730: A0 20 49 6E 20 74 68 69 73 20 65 78 61 6D 70 6C . In this exampl 002740: 65 20 74 68 65 20 20 70 72 6F 67 72 61 A9 88 6D e the progra..m 002750: 20 69 74 73 65 6C 66 20 20 69 73 73 65 61 72 63 itself issearc 002760: 68 65 64 20 74 68 72 6F 75 67 68 20 75 6E 74 69 hed through unti 002770: 6C 20 74 68 65 20 6E 75 6D 62 65 72 20 43 39 48 l the number C9H 002780: 20 69 73 66 6F 75 6E 64 20 28 43 39 48 20 63 6F isfound (C9H co 002790: 72 72 65 73 70 6F 6E 64 73 20 74 6F 20 52 45 54 rresponds to RET 0027A0: 29 A3 20 4C 44 20 41 2C 43 39 48 A0 20 53 54 41 )£ LD A,C9H. STA 0027B0: 52 54 20 4C 44 20 42 43 2C 31 30 30 A0 20 20 4C RT LD BC,100. L 0027C0: 44 20 48 4C 2C 53 54 41 52 54 A0 20 20 43 50 49 D HL,START. CPI 0027D0: 52 A0 20 20 44 45 43 20 48 4C A0 20 20 4C 44 20 R. DEC HL. LD 0027E0: 41 2C 46 46 48 A0 20 20 43 50 49 52 A0 20 20 44 A,FFH. CPIR. D 0027F0: 45 43 20 48 4C A0 20 20 4C 44 20 41 2C 28 48 4C EC HL. LD A,(HL 002800: 29 A0 20 20 52 45 54 A0 20 20 A0 20 20 44 45 46 ). RET. . DEF 002810: 42 20 36 48 A0 20 20 44 45 46 42 20 30 48 A0 20 B 6H. DEFB 0H. 002820: 20 44 45 46 42 20 46 46 48 A0 20 20 44 45 46 42 DEFB FFH. DEFB 002830: 20 38 38 48 A0 20 20 A0 20 20 20 20 20 42 4C 4F 88H. . BLO 002840: 43 4B 20 49 4E 50 55 54 2F 4F 55 54 50 55 54 2C CK INPUT/OUTPUT, 002850: 67 20 49 4E 53 54 52 55 43 54 49 4F 4E 53 A0 A0 g INSTRUCTIONS.. 002860: 20 54 68 65 20 20 49 4E 20 20 20 67 72 6F 75 70 The IN group 002870: 20 20 6F 66 20 20 62 6C 6F 63 6B 20 69 6E 73 74 of block inst 002880: 72 75 63 74 69 6F 6E 73 69 6E 70 75 74 20 64 61 ructionsinput da 002890: 74 61 20 66 72 6F 6D 20 74 68 65 20 69 6E 70 75 ta from the inpu 0028A0: 74 20 70 6F 72 74 20 73 70 65 63 69 66 69 65 64 t port specified 0028B0: 62 79 20 74 68 65 20 20 63 6F 6E 74 65 6E 74 73 by the contents 0028C0: 20 6F 66 20 74 68 65 20 43 20 20 72 65 67 69 73 of the C regis 0028D0: 74 65 72 20 69 6E 74 6F 61 20 20 62 6C 6F 63 6B ter intoa block 0028E0: 20 20 6F 66 20 20 20 6D 65 6D 6F 72 79 20 20 73 of memory s 0028F0: 74 61 72 74 69 6E 67 20 20 61 74 20 20 74 68 65 tarting at the 002900: 61 64 64 72 65 73 73 20 20 68 65 6C 64 20 20 69 address held i 002910: 6E 20 20 74 68 65 20 20 48 4C 20 72 65 67 69 73 n the HL regis 002920: 74 65 72 2C 20 74 68 65 6C 65 6E 67 74 68 20 20 ter, thelength 002930: 6F 66 20 20 77 68 69 63 68 20 20 69 73 20 69 6E of which is in 002940: 20 74 68 65 20 42 20 72 65 67 69 73 74 65 72 2E the B register. 002950: 41 FB 04 6C 6C 20 66 6F 72 6D 73 20 6F 66 20 49 A..ll forms of I 002960: 4E 20 61 70 70 6C 79 3A 2D A0 A0 20 69 2E 65 2E N apply:-.. i.e. 002970: 20 20 49 4E 49 20 69 6E 63 72 65 6D 65 6E 74 69 INI incrementi 002980: 6E 67 20 A0 20 20 20 20 20 20 20 49 4E 49 52 20 ng . INIR 002990: 69 6E 63 72 65 6D 65 6E 74 69 6E 67 20 61 6E 64 incrementing and 0029A0: 20 72 65 70 65 61 74 69 6E 67 A0 A0 20 20 20 20 repeating.. 0029B0: 20 20 20 49 4E 44 20 20 64 65 63 72 65 6D 65 6E IND decremen 0029C0: 74 69 6E 67 A0 20 20 20 20 20 20 20 49 4E 44 52 ting. INDR 0029D0: 20 64 65 63 72 65 6D 65 6E 74 69 6E 67 20 61 6E decrementing an 0029E0: 64 20 72 65 70 65 61 74 69 6E 67 A3 20 54 68 65 d repeating£ The 0029F0: 20 20 4F 55 54 20 20 20 67 72 6F 75 70 20 69 73 OUT group is 002A00: 20 69 64 65 6E 74 69 63 61 6C 20 74 6F 20 74 68 identical to th 002A10: 65 20 49 4E 67 72 6F 75 70 2C 20 62 75 74 20 64 e INgroup, but d 002A20: 61 74 61 20 66 72 6F 6D 20 6D 65 6D 6F 72 79 20 ata from memory 002A30: 69 73 20 6F 75 74 70 75 74 20 74 6F 70 6F 72 74 is output toport 002A40: 20 20 20 28 43 29 20 20 69 6E 20 20 73 65 71 75 (C) in sequ 002A50: 65 6E 63 A5 13 65 20 20 20 66 72 6F 6D 20 20 20 enc..e from 002A60: 6D 65 6D 6F 72 79 62 65 67 69 6E 6E 69 6E 67 20 memorybeginning 002A70: 61 74 20 6C 6F 63 61 74 69 6F 6E 20 28 48 4C 29 at location (HL) 002A80: A0 A0 20 54 68 65 20 20 42 20 72 65 67 69 73 74 .. The B regist 002A90: 65 72 20 69 73 20 75 73 65 64 20 61 73 20 61 20 er is used as a 002AA0: 63 6F 75 6E 74 65 72 20 61 73 74 68 65 20 49 4E counter asthe IN 002AB0: 20 67 72 6F 75 70 2E A0 A0 20 4F 55 54 49 20 20 group... OUTI 002AC0: 20 20 20 69 6E 63 72 65 6D 65 6E 74 69 6E 67 A0 incrementing. 002AD0: 20 4F 54 49 52 20 20 20 20 20 69 6E 63 72 65 6D OTIR increm 002AE0: 65 6E 74 69 6E 67 20 61 6E 64 20 72 65 70 65 61 enting and repea 002AF0: 74 69 6E 67 A0 A0 20 4F 55 54 44 20 20 20 20 20 ting.. OUTD 002B00: 64 65 63 72 65 6D 65 6E 74 69 6E 67 A0 20 4F 54 decrementing. OT 002B10: 44 52 20 20 20 20 20 64 65 63 72 65 6D 65 6E 74 DR decrement 002B20: 69 6E 67 20 61 6E 64 20 72 65 70 65 61 74 69 6E ing and repeatin 002B30: 67 A0 A0 20 54 68 65 20 20 5A 65 72 6F 20 20 66 g.. The Zero f 002B40: 6C 61 67 20 69 6E 64 69 63 61 74 65 73 20 20 42 lag indicates B 002B50: 3D 30 20 69 6E FE 90 20 74 68 65 73 65 63 61 73 =0 in.. thesecas 002B60: 65 73 A0 A0 20 53 69 6E 63 65 20 20 74 68 65 20 es.. Since the 002B70: 20 41 4D 53 54 52 41 44 20 20 75 73 65 73 20 74 AMSTRAD uses t 002B80: 68 65 20 64 61 74 61 20 73 65 6E 74 6F 75 74 20 he data sentout 002B90: 66 72 6F 6D 20 74 68 65 20 20 42 20 72 65 67 69 from the B regi 002BA0: 73 74 65 72 20 61 73 20 50 6F 72 74 20 61 64 64 ster as Port add 002BB0: 72 65 73 73 69 6E 20 20 49 2F 4F 20 20 69 6E 73 ressin I/O ins 002BC0: 74 72 75 63 74 69 6F 6E 73 2C 20 69 74 20 63 61 tructions, it ca 002BD0: 6E 6E 6F 74 20 73 75 70 70 6F 72 74 74 68 65 73 nnot supportthes 002BE0: 65 20 62 6C 6F 63 6B 20 49 2F 4F 20 69 6E 73 74 e block I/O inst 002BF0: 72 75 63 74 69 6F 6E 73 2E A3 20 20 20 20 20 50 ructions.£ P 002C00: 52 4F 43 45 53 53 4F 52 20 43 4F 4E 54 52 4F 4C ROCESSOR CONTROL 002C10: 20 49 4E 53 54 52 55 43 54 49 4F 4E 53 A0 A0 20 INSTRUCTIONS.. 002C20: 54 68 69 73 20 20 67 72 6F 75 70 20 20 6F 66 20 This group of 002C30: 20 69 6E 73 74 72 75 63 74 69 6F 6E 73 2C 20 74 instructions, t 002C40: 6F 67 65 74 68 65 72 77 69 74 68 20 74 68 65 20 ogetherwith the 002C50: 69 6E 74 65 72 72 75 DA 32 70 74 20 69 6E 73 74 interru.2pt inst 002C60: 72 75 63 74 69 6F 6E 73 2C 20 63 6F 6E 74 72 6F ructions, contro 002C70: 6C 74 68 65 20 61 63 74 69 6F 6E 20 6F 66 20 74 lthe action of t 002C80: 68 65 20 70 72 6F 63 65 73 73 6F 72 2E A0 A0 20 he processor... 002C90: 4E 4F 50 20 20 20 6F 72 20 20 20 4E 6F 20 20 4F NOP or No O 002CA0: 50 65 72 61 74 69 6F 6E 20 20 20 63 61 75 73 65 Peration cause 002CB0: 73 20 20 20 74 68 65 70 72 6F 63 65 73 73 6F 72 s theprocessor 002CC0: 20 20 74 6F 20 20 64 6F 20 20 6E 6F 74 68 69 6E to do nothin 002CD0: 67 20 66 6F 72 20 6F 6E 65 20 73 74 65 70 2E 53 g for one step.S 002CE0: 69 6E 63 65 20 69 74 73 20 63 6F 64 65 20 69 73 ince its code is 002CF0: 20 20 30 20 2C 20 20 61 20 63 6C 65 61 72 65 64 0 , a cleared 002D00: 20 6D 65 6D 6F 72 79 61 72 65 61 20 77 69 6C 6C memoryarea will 002D10: 20 62 65 20 73 65 71 75 65 6E 63 65 64 20 20 74 be sequenced t 002D20: 68 72 6F 75 67 68 20 75 6E 74 69 6C 20 20 61 6E hrough until an 002D30: 6F 6E 2D 7A 65 72 6F 20 69 6E 73 74 72 75 63 74 on-zero instruct 002D40: 69 6F 6E 20 69 73 20 66 6F 75 6E 64 2E A0 A0 20 ion is found... 002D50: 48 41 4C 54 20 20 20 73 74 38 81 6F 70 73 20 20 HALT st8.ops 002D60: 20 74 68 65 20 20 20 73 65 71 75 65 6E 63 69 6E the sequencin 002D70: 67 20 20 6F 66 20 74 68 65 70 72 6F 63 65 73 73 g of theprocess 002D80: 6F 72 20 75 6E 74 69 6C 20 61 6E 20 69 6E 74 65 or until an inte 002D90: 72 72 75 70 74 20 69 73 20 72 65 63 65 69 76 65 rrupt is receive 002DA0: 64 28 20 73 65 65 20 6E 65 78 74 20 6C 65 73 73 d( see next less 002DB0: 6F 6E 20 29 2E 20 41 66 74 65 72 20 74 68 65 20 on ). After the 002DC0: 69 6E 74 65 72 72 75 70 74 68 61 73 20 20 62 65 interrupthas be 002DD0: 65 6E 20 20 64 65 61 6C 74 20 20 77 69 74 68 2C en dealt with, 002DE0: 20 20 74 68 65 20 69 6E 73 74 72 75 63 74 69 6F the instructio 002DF0: 6E 61 66 74 65 72 20 74 68 65 20 20 48 41 4C 54 nafter the HALT 002E00: 20 20 69 73 20 20 70 65 72 66 6F 72 6D 65 64 2E is performed. 002E10: 20 54 68 75 73 20 74 68 65 70 72 6F 67 72 61 6D Thus theprogram 002E20: 20 20 20 63 61 6E 20 20 20 62 65 20 20 20 73 79 can be sy 002E30: 6E 63 68 72 6F 6E 69 73 65 64 20 20 20 77 69 74 nchronised wit 002E40: 68 6F 70 65 72 61 74 69 6F 6E 73 20 6F 75 74 73 hoperations outs 002E50: 69 64 65 20 74 68 65 20 70 72 6F D4 83 63 65 73 ide the pro..ces 002E60: 73 6F 72 2E A3 20 41 73 20 20 20 77 65 6C 6C 20 sor.£ As well 002E70: 20 20 61 73 20 20 20 74 68 65 20 20 20 73 74 61 as the sta 002E80: 6E 64 61 72 64 20 20 20 20 43 41 4C 4C 69 6E 73 ndard CALLins 002E90: 74 72 75 63 74 69 6F 6E 73 20 20 69 6E 63 6F 72 tructions incor 002EA0: 70 6F 72 61 74 69 6E 67 20 20 74 68 65 20 61 64 porating the ad 002EB0: 64 72 65 73 73 74 6F 20 77 68 69 63 68 20 20 74 dressto which t 002EC0: 68 65 20 70 72 6F 63 65 73 73 6F 72 20 20 69 73 he processor is 002ED0: 20 74 6F 20 6A 75 6D 70 2C 20 74 68 65 5A 38 30 to jump, theZ80 002EE0: 20 20 20 68 61 73 20 20 69 6E 73 74 72 75 63 74 has instruct 002EF0: 69 6F 6E 73 20 20 69 6E 20 20 77 68 69 63 68 20 ions in which 002F00: 20 20 74 68 65 61 64 64 72 65 73 73 20 20 6F 66 theaddress of 002F10: 20 20 74 68 65 20 20 43 41 4C 4C 20 20 69 73 20 the CALL is 002F20: 20 69 6D 70 6C 69 65 64 2E 20 54 68 65 69 6E 73 implied. Theins 002F30: 74 72 75 63 74 69 6F 6E 73 20 20 20 52 53 54 20 tructions RST 002F40: 6E 20 28 20 77 68 65 72 65 20 6E 3D 30 30 48 2C n ( where n=00H, 002F50: 20 30 38 48 2C 31 30 48 2C 20 31 38 48 36 00 2C 08H,10H, 18H6., 002F60: 20 32 30 48 2C 20 32 38 48 2C 20 33 30 48 2C 20 20H, 28H, 30H, 002F70: 33 38 48 20 29 20 63 61 6C 6C 73 20 74 68 65 72 38H ) calls ther 002F80: 6F 75 74 69 6E 65 20 61 74 20 30 30 6E 20 48 20 outine at 00n H 002F90: 20 64 69 72 65 63 74 6C 79 2E 20 69 2E 65 2E 20 directly. i.e. 002FA0: 52 53 54 20 32 38 48 69 73 20 20 65 71 75 69 76 RST 28His equiv 002FB0: 61 6C 65 6E 74 20 74 6F 20 43 41 4C 4C 20 30 30 alent to CALL 00 002FC0: 32 38 48 A0 A0 20 54 68 65 69 72 20 20 70 72 69 28H.. Their pri 002FD0: 6D 65 20 20 75 73 65 20 20 6F 6E 20 20 73 6F 6D me use on som 002FE0: 65 20 20 73 79 73 74 65 6D 73 20 69 73 74 6F 20 e systems isto 002FF0: 20 61 6C 6C 6F 77 20 20 65 78 74 65 72 6E 61 6C allow external 003000: 20 20 68 61 72 64 77 61 72 65 20 20 74 6F 20 20 hardware to 003010: 66 6F 72 63 65 74 68 65 20 20 73 69 6E 67 6C 65 forcethe single 003020: 20 20 62 79 74 65 20 20 69 6E 73 74 72 75 63 74 byte instruct 003030: 69 6F 6E 73 20 69 6E 74 6F 20 74 68 65 70 72 6F ions into thepro 003040: 63 65 73 73 6F 72 2C 20 20 74 68 75 73 20 20 6D cessor, thus m 003050: 61 6B 69 6E 67 20 20 69 74 20 20 74 68 69 6E F8 aking it thin. 003060: 3C 6B 20 20 69 74 73 6E 65 78 74 20 20 20 69 6E <k itsnext in 003070: 73 74 72 75 63 74 69 6F 6E 20 20 20 69 73 20 20 struction is 003080: 61 6E 20 20 52 53 54 20 6E 2E 20 20 20 49 74 74 an RST n. Itt 003090: 68 65 72 65 66 6F 72 65 20 66 6F 72 6D 73 20 61 herefore forms a 0030A0: 20 6D 65 74 68 6F 64 20 6F 66 20 69 6E 74 65 72 method of inter 0030B0: 72 75 70 74 69 6E 67 74 68 65 20 20 70 72 6F 63 ruptingthe proc 0030C0: 65 73 73 6F 72 2E 20 20 20 28 20 73 65 65 20 20 essor. ( see 0030D0: 74 68 65 20 20 6C 65 73 73 6F 6E 20 20 6F 6E 69 the lesson oni 0030E0: 6E 74 65 72 72 75 70 74 73 29 2E A3 20 41 6C 6C nterrupts).£ All 0030F0: 20 62 75 74 20 6F 6E 65 20 52 53 54 20 63 61 6C but one RST cal 003100: 6C 20 61 72 65 20 20 73 70 65 63 69 66 69 65 64 l are specified 003110: 20 20 6F 6E 74 68 65 20 41 4D 53 54 52 41 44 20 onthe AMSTRAD 003120: 28 20 74 68 65 20 43 50 43 34 36 34 20 46 49 52 ( the CPC464 FIR 003130: 4D 57 41 52 45 20 6D 61 6E 75 61 6C 64 65 66 69 MWARE manualdefi 003140: 6E 65 73 20 20 74 68 65 6D 20 20 61 6C 6C 20 20 nes them all 003150: 69 6E 20 20 64 65 74 61 69 6C 20 29 2E 20 20 20 in detail ). 003160: 4D 90 8D 6F 73 74 61 66 66 65 63 74 20 20 74 68 M..ostaffect th 003170: 65 20 20 73 79 73 74 65 6D 20 20 63 6F 6E 66 69 e system confi 003180: 67 75 72 61 74 69 6F 6E 20 20 65 74 63 2E 69 2E guration etc.i. 003190: 65 2E 20 52 53 54 20 30 30 48 20 20 69 73 20 65 e. RST 00H is e 0031A0: 71 75 69 76 61 6C 65 6E 74 20 74 6F 20 4E 45 57 quivalent to NEW 0031B0: 2C 20 74 68 61 74 63 6C 65 61 72 73 20 20 6F 75 , thatclears ou 0031C0: 74 20 20 20 61 6C 6C 20 20 74 68 65 20 20 6D 65 t all the me 0031D0: 6D 6F 72 79 20 20 61 6E 64 20 20 72 65 2D 65 73 mory and re-es 0031E0: 74 61 62 6C 69 73 68 65 73 20 20 74 68 65 20 20 tablishes the 0031F0: 73 79 73 74 65 6D 2E 20 20 20 4E 65 65 64 6C 65 system. Needle 003200: 73 73 20 20 74 6F 73 61 79 20 20 74 68 65 20 73 ss tosay the s 003210: 69 6D 75 6C 61 74 6F 72 20 64 6F 65 73 20 6E 6F imulator does no 003220: 74 20 70 65 72 66 6F 72 6D 20 20 52 53 54 69 6E t perform RSTin 003230: 73 74 72 75 63 74 69 6F 6E 73 2E A0 A0 20 54 68 structions... Th 003240: 65 72 65 20 20 61 72 65 20 6F 6E 6C 79 20 20 74 ere are only t 003250: 77 6F 20 20 6D 6F 72 65 20 72 65 67 69 73 74 65 wo more registe 003260: 72 73 20 50 F5 69 6E 74 68 65 20 5A 38 30 20 74 rs P.inthe Z80 t 003270: 6F 20 64 69 73 63 75 73 73 2C 20 74 68 65 20 20 o discuss, the 003280: 49 20 6F 72 20 20 49 6E 74 65 72 72 75 70 74 72 I or Interruptr 003290: 65 67 69 73 74 65 72 20 28 73 65 65 20 6E 65 78 egister (see nex 0032A0: 74 20 6C 65 73 73 6F 6E 29 2C 20 61 6E 64 20 74 t lesson), and t 0032B0: 68 65 20 52 20 6F 72 52 65 66 72 65 73 68 20 72 he R orRefresh r 0032C0: 65 67 69 73 74 65 72 2E A3 20 54 68 65 20 20 52 egister.£ The R 0032D0: 65 66 72 65 73 68 20 20 72 65 67 69 73 74 65 72 efresh register 0032E0: 20 69 73 20 75 73 65 64 20 20 62 79 20 73 6F 6D is used by som 0032F0: 65 66 6F 72 6D 73 20 20 6F 66 20 20 52 61 6E 64 eforms of Rand 003300: 6F 6D 20 20 41 63 63 65 73 73 20 20 4D 65 6D 6F om Access Memo 003310: 72 79 20 20 77 68 69 63 68 72 65 71 75 69 72 65 ry whichrequire 003320: 20 20 63 6F 6E 74 69 6E 75 6F 75 73 20 20 77 72 continuous wr 003330: 69 74 69 6E 67 20 74 6F 20 6D 61 69 6E 74 61 69 iting to maintai 003340: 6E 69 74 73 20 20 69 6E 66 6F 72 6D 61 74 69 6F nits informatio 003350: 6E 2E 20 20 20 54 68 65 20 20 52 20 20 72 65 67 n. The R reg 003360: 69 73 74 65 72 AB D4 20 20 69 73 69 6E 63 72 65 ister.. isincre 003370: 6D 65 6E 74 65 64 20 61 75 74 6F 6D 61 74 69 63 mented automatic 003380: 61 6C 6C 79 20 65 76 65 72 79 20 74 69 6D 65 20 ally every time 003390: 74 68 65 70 72 6F 63 65 73 73 6F 72 20 20 20 66 theprocessor f 0033A0: 65 74 63 68 65 73 20 20 20 65 61 63 68 20 20 20 etches each 0033B0: 70 61 72 74 20 20 6F 66 20 61 6E 69 6E 73 74 72 part of aninstr 0033C0: 75 63 74 69 6F 6E 20 20 66 72 6F 6D 20 20 6D 65 uction from me 0033D0: 6D 6F 72 79 2E 20 54 68 69 73 20 70 72 6F 76 69 mory. This provi 0033E0: 64 65 73 74 68 65 20 70 72 6F 67 72 61 6D 6D 65 desthe programme 0033F0: 72 20 20 77 69 74 68 20 20 61 20 20 72 65 67 69 r with a regi 003400: 73 74 65 72 20 20 77 68 6F 73 65 63 6F 6E 74 65 ster whoseconte 003410: 6E 74 73 20 6D 61 79 20 62 65 20 20 63 6F 6E 73 nts may be cons 003420: 69 64 65 72 65 64 20 20 72 61 6E 64 6F 6D 20 20 idered random 003430: 66 6F 72 73 6F 6D 65 20 61 70 70 6C 69 63 61 74 forsome applicat 003440: 69 6F 6E 73 2E A0 A0 20 54 68 65 20 20 52 20 20 ions... The R 003450: 61 6E 64 20 20 49 20 20 72 65 67 69 73 74 65 72 and I register 003460: 73 20 63 61 6E 20 62 89 08 65 20 6C 6F 61 64 65 s can b..e loade 003470: 64 66 72 6F 6D 20 20 74 68 65 20 20 41 63 63 75 dfrom the Accu 003480: 6D 75 6C 61 74 6F 72 2E 20 54 68 65 20 69 6E 73 mulator. The ins 003490: 74 72 75 63 74 69 6F 6E 73 69 6E 76 6F 6C 76 65 tructionsinvolve 0034A0: 64 20 61 72 65 20 73 69 6D 70 6C 79 20 20 4C 44 d are simply LD 0034B0: 20 41 2C 52 20 3A 20 20 4C 44 20 52 2C 41 20 20 A,R : LD R,A 0034C0: 3A 4C 44 20 41 2C 49 20 61 6E 64 20 4C 44 20 49 :LD A,I and LD I 0034D0: 2C 41 2E A3 53 75 6D 6D 61 72 79 20 2D 20 70 72 ,A.£Summary - pr 0034E0: 6F 63 65 73 73 6F 72 20 63 6F 6E 74 72 6F 6C 20 ocessor control 0034F0: 69 6E 73 74 72 75 63 74 69 6F 6E 73 A0 4E 4F 50 instructions.NOP 003500: 20 A0 48 41 4C 54 A0 A0 52 53 54 20 6E 20 20 77 .HALT..RST n w 003510: 68 65 72 65 20 6E 20 3D 30 30 48 2C 20 30 38 48 here n =00H, 08H 003520: 2C 20 31 30 48 2C 20 31 38 48 2C 20 32 30 48 2C , 10H, 18H, 20H, 003530: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 003540: 32 38 48 2C 20 33 30 48 2C 20 6F 72 20 33 38 48 28H, 30H, or 38H 003550: 2E A0 A0 4C 44 20 41 2C 52 A0 4C 44 20 52 2C 41 ...LD A,R.LD R,A 003560: A0 A0 4C 44 20 41 2C 49 A0 00 37 4C 44 20 49 2C ..LD A,I..7LD I, 003570: 41 A3 20 20 20 45 58 41 4D 50 4C 45 20 4F 46 20 A£ EXAMPLE OF 003580: 55 53 45 20 4F 46 20 52 45 46 52 45 53 48 20 52 USE OF REFRESH R 003590: 45 47 49 53 54 45 52 A0 A0 20 4D 6F 73 74 20 6F EGISTER.. Most o 0035A0: 66 20 74 68 65 20 69 6E 73 74 72 75 63 74 69 6F f the instructio 0035B0: 6E 20 69 6E 20 74 68 69 73 20 61 6E 64 20 74 68 n in this and th 0035C0: 65 6C 61 73 74 20 20 6C 65 73 73 6F 6E 20 20 69 elast lesson i 0035D0: 6E 76 6F 6C 76 65 20 20 73 74 65 70 73 20 74 68 nvolve steps th 0035E0: 61 74 20 63 68 61 6E 67 65 74 68 65 20 65 6E 76 at changethe env 0035F0: 69 72 6F 6E 6D 65 6E 74 20 69 6E 20 77 68 69 63 ironment in whic 003600: 68 20 74 68 65 20 20 20 70 72 6F 63 65 73 73 6F h the processo 003610: 72 6F 70 65 72 61 74 65 73 2E 20 20 49 74 20 69 roperates. It i 003620: 73 20 20 74 68 65 72 65 66 6F 72 65 20 64 69 66 s therefore dif 003630: 66 69 63 75 6C 74 20 74 6F 73 69 6D 75 6C 61 74 ficult tosimulat 003640: 65 20 74 68 65 73 65 20 69 6E 73 74 72 75 63 74 e these instruct 003650: 69 6F 6E 73 2E 20 20 4C 69 74 74 6C 65 20 63 61 ions. Little ca 003660: 6E 62 65 20 6C 65 61 72 6E 74 20 E8 CE 66 72 6F nbe learnt ..fro 003670: 6D 20 20 73 69 6E 67 6C 65 20 73 74 65 70 70 69 m single steppi 003680: 6E 67 20 20 74 68 72 6F 75 67 68 61 6E 20 20 65 ng throughan e 003690: 78 61 6D 70 6C 65 2E 20 20 48 6F 77 65 76 65 72 xample. However 0036A0: 20 63 68 61 6E 67 69 6E 67 20 69 6E 74 65 72 72 changing interr 0036B0: 75 70 74 65 74 63 2E 20 28 20 73 65 65 20 6E 65 uptetc. ( see ne 0036C0: 78 74 20 6C 65 73 73 6F 6E 20 29 20 20 6F 6E 20 xt lesson ) on 0036D0: 20 61 20 50 65 72 73 6F 6E 61 6C 43 6F 6D 70 75 a PersonalCompu 0036E0: 74 65 72 20 69 73 20 20 61 64 76 61 6E 63 65 64 ter is advanced 0036F0: 20 20 70 72 6F 67 72 61 6D 6D 69 6E 67 2E 20 20 programming. 003700: 54 72 79 67 61 69 6E 69 6E 67 20 20 20 65 78 70 Trygaining exp 003710: 65 72 69 65 6E 63 65 20 20 20 6F 6E 20 20 6D 61 erience on ma 003720: 63 68 69 6E 65 20 20 63 6F 64 65 70 72 6F 67 72 chine codeprogr 003730: 61 6D 6D 69 6E 67 20 20 62 65 66 6F 72 65 20 20 amming before 003740: 76 65 6E 74 75 72 69 6E 67 20 69 6E 74 6F 20 74 venturing into t 003750: 68 69 73 66 69 65 6C 64 2E A0 A0 20 54 68 65 20 hisfield... The 003760: 20 65 78 61 6D 70 6C 65 20 20 73 68 6F 81 EF 77 example sho..w 003770: 73 20 20 74 68 65 20 20 75 73 65 20 20 6F 66 20 s the use of 003780: 20 20 74 68 65 52 65 66 72 65 73 68 20 20 72 65 theRefresh re 003790: 67 69 73 74 65 72 20 20 61 73 20 61 20 73 6F 75 gister as a sou 0037A0: 72 63 65 20 6F 66 20 72 61 6E 64 6F 6D 6E 75 6D rce of randomnum 0037B0: 62 65 72 73 2E A3 20 4E 4F 50 A0 20 4C 4F 4F 50 bers.£ NOP. LOOP 0037C0: 20 20 4C 44 20 41 2C 52 A0 20 20 4A 52 20 4C 4F LD A,R. JR LO 0037D0: 4F 50 A0 20 20 A0 20 20 A0 20 20 A0 20 20 A0 20 OP. . . . . 0037E0: 20 A0 20 20 A0 20 20 A0 20 20 A0 20 20 A0 20 20 . . . . . 0037F0: A0 20 20 A0 20 20 A0 20 20 A0 20 20 20 20 20 20 . . . . 003800: 20 20 20 20 20 20 20 20 20 49 4E 54 45 52 52 55 INTERRU 003810: 50 54 53 A0 A0 20 41 6E 20 20 69 6E 74 65 72 72 PTS.. An interr 003820: 75 70 74 20 20 6F 72 69 67 69 6E 61 74 65 73 20 upt originates 003830: 66 72 6F 6D 20 20 6F 75 74 73 69 64 65 74 68 65 from outsidethe 003840: 20 70 72 6F 63 65 73 73 6F 72 2C 20 20 72 65 71 processor, req 003850: 75 65 73 74 69 6E 67 20 20 69 74 20 20 74 6F 20 uesting it to 003860: 62 72 65 61 6B 6F 66 66 20 69 74 73 20 63 75 39 breakoff its cu9 003870: 7B 72 72 65 6E 74 20 20 73 65 71 75 65 6E 63 65 {rrent sequence 003880: 20 6F 66 20 20 6F 70 65 72 61 74 69 6F 6E 73 61 of operationsa 003890: 6E 64 20 64 65 61 6C 20 77 69 74 68 20 73 6F 6D nd deal with som 0038A0: 65 20 6F 74 68 65 72 20 66 75 6E 63 74 69 6F 6E e other function 0038B0: 2E A0 A0 20 49 6E 74 65 72 72 75 70 74 73 20 20 ... Interrupts 0038C0: 66 61 6C 6C 20 69 6E 74 6F 20 20 74 77 6F 20 74 fall into two t 0038D0: 79 70 65 73 2C 20 20 4E 6F 6E 2D 4D 61 73 6B 61 ypes, Non-Maska 0038E0: 62 6C 65 20 49 6E 74 65 72 72 75 70 74 73 20 28 ble Interrupts ( 0038F0: 4E 4D 49 29 20 20 61 6E 64 20 20 4D 61 73 6B 61 NMI) and Maska 003900: 62 6C 65 49 6E 74 65 72 72 75 70 74 73 20 28 4D bleInterrupts (M 003910: 49 29 2E 20 20 4D 61 73 6B 61 62 6C 65 20 69 6E I). Maskable in 003920: 74 65 72 72 75 70 74 20 63 61 6E 62 65 20 20 69 terrupt canbe i 003930: 67 6E 6F 72 65 64 20 20 62 79 20 20 74 68 65 20 gnored by the 003940: 20 73 6F 66 74 77 61 72 65 2C 20 62 75 74 20 4E software, but N 003950: 4D 49 73 63 61 6E 6E 6F 74 2E A0 A0 20 4F 6E 65 MIscannot... One 003960: 20 4E 6F 6E 2D 4D 61 73 6B 61 62 6C 65 20 49 6E Non-Maskable In 003970: 74 87 A2 65 72 72 75 70 74 20 69 73 20 61 76 61 t..errupt is ava 003980: 69 6C 61 62 6C 65 6F 6E 20 20 74 68 65 20 20 20 ilableon the 003990: 5A 38 30 20 20 20 63 68 69 70 2E 20 20 20 20 54 Z80 chip. T 0039A0: 68 65 20 20 20 69 6E 74 65 72 72 75 70 74 61 75 he interruptau 0039B0: 74 6F 6D 61 74 69 63 61 6C 6C 79 20 70 65 72 66 tomatically perf 0039C0: 6F 72 6D 73 20 61 6E 20 52 53 54 20 6F 72 20 43 orms an RST or C 0039D0: 41 4C 4C 20 74 6F 61 64 64 72 65 73 73 20 20 30 ALL toaddress 0 0039E0: 30 36 36 48 20 20 6F 6E 20 20 63 6F 6D 70 6C 65 066H on comple 0039F0: 74 69 6F 6E 20 20 6F 66 20 20 20 74 68 65 63 75 tion of thecu 003A00: 72 72 65 6E 74 20 20 69 6E 73 74 72 75 63 74 69 rrent instructi 003A10: 6F 6E 73 2E 20 20 54 68 65 20 20 72 6F 75 74 69 ons. The routi 003A20: 6E 65 20 20 61 74 30 30 36 36 48 20 69 73 20 70 ne at0066H is p 003A30: 65 72 66 6F 72 6D 65 64 2E 20 54 68 65 20 69 6E erformed. The in 003A40: 73 74 72 75 63 74 69 6F 6E 20 52 45 54 4E 6F 72 struction RETNor 003A50: 20 52 45 54 75 72 6E 20 66 72 6F 6D 20 20 20 4E RETurn from N 003A60: 6F 6E 2D 6D 61 73 6B 61 62 6C 65 20 20 69 6E 74 on-maskable int 003A70: 65 72 72 CB FA 75 70 74 72 65 74 75 72 6E 73 20 err..uptreturns 003A80: 20 63 6F 6E 74 72 6F 6C 20 62 61 63 6B 20 74 6F control back to 003A90: 20 74 68 65 20 69 6E 74 65 72 72 75 70 74 65 64 the interrupted 003AA0: 72 6F 75 74 69 6E 65 20 61 74 20 69 74 73 20 6E routine at its n 003AB0: 65 78 74 20 69 6E 73 74 72 75 63 74 69 6F 6E 20 ext instruction 003AC0: 2E A3 54 68 65 20 70 72 6F 67 72 61 6D 6D 65 72 .£The programmer 003AD0: 20 63 61 6E 20 61 72 72 61 6E 67 65 20 74 68 61 can arrange tha 003AE0: 74 20 6D 61 73 6B 61 62 6C 65 69 6E 74 65 72 72 t maskableinterr 003AF0: 75 70 74 73 20 20 28 4D 49 29 20 61 72 65 20 69 upts (MI) are i 003B00: 67 6E 6F 72 65 64 2E 20 57 69 74 68 69 6E 20 74 gnored. Within t 003B10: 68 65 5A 38 30 20 20 74 68 65 72 65 20 20 69 73 heZ80 there is 003B20: 20 20 61 20 20 66 6C 61 67 2C 20 20 74 68 65 20 a flag, the 003B30: 20 69 6E 74 65 72 72 75 70 74 65 6E 61 62 6C 65 interruptenable 003B40: 20 20 66 6C 61 67 2C 20 20 20 74 68 61 74 20 20 flag, that 003B50: 63 61 6E 20 20 62 65 20 20 73 65 74 20 20 20 61 can be set a 003B60: 6E 64 63 6C 65 61 72 65 64 2E 20 20 20 44 65 70 ndcleared. Dep 003B70: 65 6E 64 69 6E A4 C5 67 20 20 75 70 6F 6E 20 20 endin..g upon 003B80: 74 68 65 20 73 74 61 74 65 20 6F 66 74 68 69 73 the state ofthis 003B90: 20 20 66 6C 61 67 20 20 20 4D 49 73 20 20 77 69 flag MIs wi 003BA0: 6C 6C 20 20 62 65 20 20 61 63 63 65 70 74 65 64 ll be accepted 003BB0: 20 20 6F 72 69 67 6E 6F 72 65 64 2E A0 A0 20 54 orignored... T 003BC0: 68 65 20 20 74 77 6F 20 20 69 6E 73 74 72 75 63 he two instruc 003BD0: 74 69 6F 6E 73 20 20 74 68 61 74 20 6D 61 6E 69 tions that mani 003BE0: 70 75 6C 61 74 65 74 68 69 73 20 66 6C 61 67 20 pulatethis flag 003BF0: 61 72 65 A0 A0 20 45 49 20 20 20 45 6E 61 62 6C are.. EI Enabl 003C00: 65 20 49 6E 74 65 72 72 75 70 74 73 2E 20 20 41 e Interrupts. A 003C10: 66 74 65 72 20 6F 6E 65 20 6D 6F 72 65 20 20 20 fter one more 003C20: 20 20 20 73 69 6E 67 6C 65 20 20 62 79 74 65 20 single byte 003C30: 20 69 6E 73 74 72 75 63 74 69 6F 6E 2C 20 66 75 instruction, fu 003C40: 72 74 68 65 72 20 20 20 20 20 20 69 6E 74 65 72 rther inter 003C50: 72 75 70 74 73 20 61 72 65 20 61 63 63 65 70 74 rupts are accept 003C60: 65 64 2E A0 A0 20 44 49 20 20 20 44 69 73 61 62 ed... DI Disab 003C70: 6C 65 20 49 6E 74 65 EE 76 72 72 75 70 74 73 20 le Inte.vrrupts 003C80: 69 6D 6D 65 64 69 61 74 65 6C 79 2E A0 A0 20 45 immediately... E 003C90: 6E 74 72 79 20 20 20 69 6E 74 6F 20 20 20 61 20 ntry into a 003CA0: 20 20 6D 61 73 6B 61 62 6C 65 20 20 20 69 6E 74 maskable int 003CB0: 65 72 72 75 70 74 61 75 74 6F 6D 61 74 69 63 61 erruptautomatica 003CC0: 6C 6C 79 20 64 69 73 61 62 6C 65 73 20 69 6E 74 lly disables int 003CD0: 65 72 72 75 70 74 2E A3 54 68 72 65 65 20 20 20 errupt.£Three 003CE0: 74 79 70 65 73 2C 20 20 6F 72 20 20 6D 6F 64 65 types, or mode 003CF0: 73 2C 20 20 6F 66 20 20 6D 61 73 6B 61 62 6C 65 s, of maskable 003D00: 69 6E 74 65 72 72 75 70 74 73 20 61 72 65 20 61 interrupts are a 003D10: 76 61 69 6C 61 62 6C 65 2E A0 A0 20 4D 4F 44 45 vailable... MODE 003D20: 20 30 20 69 73 20 73 65 74 20 62 79 20 74 68 65 0 is set by the 003D30: 20 69 6E 73 74 72 75 63 74 69 6F 6E 20 20 49 4D instruction IM 003D40: 20 30 2E 54 68 69 73 20 20 20 6D 6F 64 65 20 20 0.This mode 003D50: 20 69 73 20 20 20 74 68 65 20 20 20 6F 6E 65 20 is the one 003D60: 20 20 64 65 73 63 72 69 62 65 64 70 72 65 76 69 describedprevi 003D70: 6F 75 73 6C 79 2C 20 20 77 B5 19 68 65 72 65 20 ously, w..here 003D80: 74 68 65 20 52 53 54 20 6E 20 69 6E 73 74 72 75 the RST n instru 003D90: 63 74 69 6F 6E 69 73 20 66 6F 72 63 65 64 20 6F ctionis forced o 003DA0: 6E 74 6F 20 74 68 65 20 64 61 74 61 20 68 69 67 nto the data hig 003DB0: 68 77 61 79 20 74 6F 20 20 66 6F 6F 6C 74 68 65 hway to foolthe 003DC0: 20 20 70 72 6F 63 65 73 73 6F 72 20 20 20 69 6E processor in 003DD0: 74 6F 20 20 20 70 65 72 66 6F 72 6D 69 6E 67 20 to performing 003DE0: 20 20 74 68 65 72 65 73 74 61 72 74 2E A0 A0 20 therestart... 003DF0: 4D 4F 44 45 20 31 20 69 73 20 74 68 65 20 20 6F MODE 1 is the o 003E00: 6E 65 20 20 75 73 65 64 20 62 79 20 74 68 65 20 ne used by the 003E10: 41 4D 53 54 52 41 44 73 79 73 74 65 6D 20 52 4F AMSTRADsystem RO 003E20: 4D 2E 20 49 74 20 69 73 20 73 65 74 20 62 79 20 M. It is set by 003E30: 74 68 65 20 69 6E 73 74 72 75 63 74 69 6F 6E 49 the instructionI 003E40: 4D 20 31 2E 20 20 54 68 69 73 20 6D 6F 64 65 20 M 1. This mode 003E50: 69 73 20 73 69 6D 69 6C 61 72 20 69 6E 20 6F 70 is similar in op 003E60: 65 72 61 74 69 6F 6E 74 6F 20 20 74 68 65 20 20 erationto the 003E70: 4E 6F 6E 20 4D 61 73 6B 61 62 6C 9D 4D 65 20 20 Non Maskabl.Me 003E80: 49 6E 74 65 72 72 75 70 74 20 20 65 78 63 65 70 Interrupt excep 003E90: 74 74 68 61 74 20 20 70 72 6F 63 65 73 73 6F 72 tthat processor 003EA0: 20 69 73 20 20 72 65 73 74 61 72 74 65 64 20 20 is restarted 003EB0: 61 74 20 20 30 30 33 38 48 69 6E 73 74 65 61 64 at 0038Hinstead 003EC0: 20 6F 66 20 30 30 36 36 48 20 61 73 20 69 6E 20 of 0066H as in 003ED0: 74 68 65 20 4E 4D 49 2E A3 20 4D 4F 44 45 20 32 the NMI.£ MODE 2 003EE0: 20 20 69 73 20 20 74 68 65 20 20 6D 6F 73 74 20 is the most 003EF0: 20 20 66 6C 65 78 69 62 6C 65 2C 20 20 20 74 68 flexible, th 003F00: 65 61 64 64 72 65 73 73 20 74 6F 20 77 68 69 63 eaddress to whic 003F10: 68 20 74 68 65 20 70 72 6F 63 65 73 73 6F 72 20 h the processor 003F20: 69 73 20 66 6F 72 63 65 64 69 73 20 74 68 65 20 is forcedis the 003F30: 69 6E 64 69 72 65 63 74 20 61 64 64 72 65 73 73 indirect address 003F40: 20 68 65 6C 64 20 69 6E 20 61 20 6D 65 6D 6F 72 held in a memor 003F50: 79 6C 6F 63 61 74 69 6F 6E 2E 20 20 20 54 68 65 ylocation. The 003F60: 20 61 64 64 72 65 73 73 20 20 6F 66 20 74 68 69 address of thi 003F70: 73 20 20 6D 65 6D 6F 72 79 6C 6F 63 61 89 B0 74 s memoryloca..t 003F80: 69 6F 6E 20 20 69 73 20 63 6F 6D 70 75 74 65 64 ion is computed 003F90: 20 66 72 6F 6D 20 20 74 68 65 20 20 63 6F 6E 74 from the cont 003FA0: 65 6E 74 6F 66 20 74 68 65 20 20 49 20 72 65 67 entof the I reg 003FB0: 69 73 74 65 72 2C 20 20 77 68 69 63 68 20 20 70 ister, which p 003FC0: 72 6F 76 69 64 65 73 20 74 68 65 68 69 67 68 20 rovides thehigh 003FD0: 20 62 79 74 65 20 61 6E 64 20 20 74 68 65 20 20 byte and the 003FE0: 69 6E 74 65 72 72 75 70 74 69 6E 67 20 64 65 76 interrupting dev 003FF0: 69 63 65 77 68 69 63 68 20 20 70 72 6F 76 69 64 icewhich provid 004000: 65 73 20 20 74 68 65 20 20 6C 6F 77 20 20 20 62 es the low b 004010: 79 74 65 2E 20 20 53 69 6E 63 65 74 68 65 20 20 yte. Sincethe 004020: 69 6E 74 65 72 72 75 70 74 20 20 72 6F 75 74 69 interrupt routi 004030: 6E 65 20 20 20 69 73 20 20 20 61 64 64 72 65 73 ne is addres 004040: 73 65 64 69 6E 64 69 72 65 63 74 6C 79 20 20 74 sedindirectly t 004050: 68 65 20 20 69 6E 74 65 72 72 75 70 74 73 20 20 he interrupts 004060: 61 72 65 20 20 74 65 72 6D 65 64 76 65 63 74 6F are termedvecto 004070: 72 65 64 20 69 6E 74 65 72 72 75 70 74 73 2E D0 red interrupts.. 004080: EE A0 A0 20 41 6E 20 20 69 6E 74 65 72 72 75 70 ... An interrup 004090: 74 20 20 63 61 6E 20 20 6F 63 63 75 72 20 61 74 t can occur at 0040A0: 20 61 6E 79 20 20 74 69 6D 65 2E 49 74 20 20 20 any time.It 0040B0: 66 6F 6C 6C 6F 77 73 20 20 20 74 68 65 72 65 66 follows theref 0040C0: 6F 72 65 20 20 74 68 61 74 20 20 20 69 66 20 20 ore that if 0040D0: 74 68 65 69 6E 74 65 72 72 75 70 74 65 64 20 20 theinterrupted 0040E0: 70 72 6F 67 72 61 6D 20 69 73 20 74 6F 20 62 65 program is to be 0040F0: 20 20 63 6F 6E 74 69 6E 75 65 64 28 20 69 2E 65 continued( i.e 004100: 2E 20 62 65 20 72 65 2D 65 6E 74 65 72 65 64 20 . be re-entered 004110: 29 2C 20 20 74 68 65 20 63 6F 6E 74 65 6E 74 73 ), the contents 004120: 20 6F 66 61 6E 79 20 72 65 67 69 73 74 65 72 20 ofany register 004130: 74 68 61 74 20 74 68 65 20 20 69 6E 74 65 72 72 that the interr 004140: 75 70 74 20 72 6F 75 74 69 6E 65 75 73 65 73 20 upt routineuses 004150: 20 6D 75 73 74 20 20 62 65 20 73 74 6F 72 65 64 must be stored 004160: 20 6F 72 20 70 75 73 68 65 64 20 6F 6E 74 6F 20 or pushed onto 004170: 74 68 65 73 74 61 63 6B 2C 20 61 6E 64 20 72 65 thestack, and re 004180: 6C 82 2C 6F 61 64 65 64 20 6F 72 20 50 4F 50 70 l.,oaded or POPp 004190: 65 64 20 20 66 72 6F 6D 20 20 74 68 65 73 74 61 ed from thesta 0041A0: 63 6B 20 62 65 66 6F 72 65 20 72 65 74 75 72 6E ck before return 0041B0: 69 6E 67 A3 20 54 6F 20 20 65 6E 73 75 72 65 20 ing£ To ensure 0041C0: 20 74 68 61 74 20 20 20 6E 6F 20 20 6F 74 68 65 that no othe 0041D0: 72 20 20 69 6E 74 65 72 72 75 70 74 6F 63 63 75 r interruptoccu 0041E0: 72 73 20 64 75 72 69 6E 67 20 74 68 69 73 20 70 rs during this p 0041F0: 65 72 69 6F 64 20 61 6E 64 20 20 74 68 65 72 65 eriod and there 004200: 66 6F 72 65 63 6F 72 72 75 70 74 73 20 20 74 68 forecorrupts th 004210: 65 20 20 72 65 67 69 73 74 65 72 20 20 63 6F 6E e register con 004220: 74 65 6E 74 73 20 62 65 66 6F 72 65 74 68 65 79 tents beforethey 004230: 20 20 20 61 72 65 20 20 73 61 66 65 2C 20 20 74 are safe, t 004240: 68 65 20 20 69 6E 74 65 72 72 75 70 74 73 20 20 he interrupts 004250: 20 61 72 65 64 69 61 62 6C 65 64 20 64 75 72 69 arediabled duri 004260: 6E 67 20 74 68 65 73 65 20 6F 70 65 72 61 74 69 ng these operati 004270: 6F 6E 73 2E A3 20 57 65 20 20 6D 75 73 74 20 20 ons.£ We must 004280: 20 72 65 66 8A 74 75 72 6E 20 20 66 72 6F 6D 20 ref.turn from 004290: 20 61 6E 20 20 20 69 6E 74 65 72 72 75 70 74 72 an interruptr 0042A0: 6F 75 74 69 6E 65 20 20 77 69 74 68 20 20 20 74 outine with t 0042B0: 68 65 20 20 69 6E 73 74 72 75 63 74 69 6F 6E 20 he instruction 0042C0: 20 20 20 52 45 54 49 28 20 52 45 54 75 72 6E 20 RETI( RETurn 0042D0: 66 72 6F 6D 20 49 6E 74 65 72 72 75 70 74 20 29 from Interrupt ) 0042E0: 20 61 6E 64 20 6E 6F 74 20 52 45 54 2E A0 A0 20 and not RET... 0042F0: 48 65 6E 63 65 20 69 6E 74 65 72 72 75 70 74 20 Hence interrupt 004300: 72 6F 75 74 69 6E 65 20 74 61 6B 65 20 74 68 65 routine take the 004310: 20 66 6F 72 6D 3A 2D A0 28 31 29 20 45 6E 74 65 form:-.(1) Ente 004320: 72 20 6D 61 73 6B 61 62 6C 65 20 69 6E 74 65 72 r maskable inter 004330: 72 75 70 74 2C 20 69 6E 74 65 72 72 75 70 74 73 rupt, interrupts 004340: 20 20 20 20 61 72 65 20 64 69 73 61 62 6C 65 64 are disabled 004350: 20 61 74 20 74 68 69 73 20 74 69 6D 65 2E A0 28 at this time..( 004360: 32 29 20 50 55 53 48 20 6F 72 20 45 58 63 68 61 2) PUSH or EXcha 004370: 6E 67 65 20 72 65 71 75 69 72 65 64 20 72 65 67 nge required reg 004380: 69 73 74 65 72 15 29 65 64 28 33 29 20 45 6E 61 ister.)ed(3) Ena 004390: 62 6C 65 73 20 69 6E 74 65 72 72 75 70 74 20 69 bles interrupt i 0043A0: 66 20 72 65 71 75 69 72 65 64 2E A0 28 34 29 20 f required..(4) 0043B0: 44 6F 20 69 6E 74 65 72 72 75 70 74 20 72 6F 75 Do interrupt rou 0043C0: 74 69 6E 65 2E A0 28 35 29 20 44 69 73 61 62 6C tine..(5) Disabl 0043D0: 65 20 69 6E 74 65 72 72 75 70 74 20 69 66 20 72 e interrupt if r 0043E0: 65 71 75 69 72 65 64 2E A0 28 36 29 20 50 4F 50 equired..(6) POP 0043F0: 20 6F 72 20 45 58 63 68 61 6E 67 65 20 72 65 67 or EXchange reg 004400: 69 73 74 65 72 73 2E A0 28 37 29 20 45 6E 61 62 isters..(7) Enab 004410: 6C 65 73 20 69 6E 74 65 72 72 75 70 74 73 A0 28 les interrupts.( 004420: 38 29 20 52 65 74 75 72 6E 20 66 72 6F 6D 20 69 8) Return from i 004430: 6E 74 65 72 72 75 70 74 20 28 52 45 54 49 29 2E nterrupt (RETI). 004440: A3 20 54 68 69 73 20 20 20 63 6F 6D 70 6C 65 74 £ This complet 004450: 65 73 20 20 61 20 20 73 74 75 64 79 20 20 6F 66 es a study of 004460: 20 20 61 6C 6C 20 74 68 65 69 6E 73 74 72 75 63 all theinstruc 004470: 74 69 6F 6E 73 20 61 76 61 69 6C 61 62 6C 65 20 tions available 004480: 6F 6E 20 74 68 65 20 F7 21 5A 38 30 20 63 68 69 on the .!Z80 chi 004490: 70 2E A0 20 59 6F 75 20 20 73 68 6F 75 6C 64 20 p.. You should 0044A0: 20 6E 6F 77 20 20 62 65 20 20 61 62 6C 65 20 74 now be able t 0044B0: 6F 20 75 73 65 20 6F 74 68 65 72 61 73 73 65 6D o use otherassem 0044C0: 62 6C 65 72 73 20 20 74 6F 20 20 77 72 69 74 65 blers to write 0044D0: 20 79 6F 75 72 20 6F 77 6E 20 70 72 6F 67 72 61 your own progra 0044E0: 6D 73 2E 59 6F 75 20 20 77 69 6C 6C 20 20 66 69 ms.You will fi 0044F0: 6E 64 20 20 74 68 61 74 20 20 6D 6F 73 74 20 20 nd that most 004500: 61 72 65 20 20 6E 6F 74 20 73 6F 75 73 65 72 20 are not souser 004510: 66 72 69 65 6E 64 6C 79 2C 20 20 61 6E 64 20 20 friendly, and 004520: 74 68 61 74 20 20 79 6F 75 20 20 77 69 6C 6C 20 that you will 004530: 6E 6F 74 62 65 20 20 61 62 6C 65 20 20 74 6F 20 notbe able to 004540: 20 6F 6E 65 20 20 73 74 65 70 20 20 65 61 73 69 one step easi 004550: 6C 79 20 20 74 68 72 6F 75 67 68 69 6E 73 74 72 ly throughinstr 004560: 75 63 74 69 6F 6E 73 2E 20 20 20 44 6F 6E 27 74 uctions. Don't 004570: 20 20 64 65 73 70 61 69 72 2E 20 20 59 6F 75 20 despair. You 004580: 63 61 6E 61 6C 77 61 79 73 98 D6 20 20 72 65 74 canalways.. ret 004590: 75 72 6E 20 74 6F 20 74 68 69 73 20 54 75 74 6F urn to this Tuto 0045A0: 72 20 74 6F 20 73 69 6D 75 6C 61 74 65 79 6F 75 r to simulateyou 0045B0: 72 20 70 72 6F 62 6C 65 6D 2E A0 20 53 69 6E 63 r problem.. Sinc 0045C0: 65 20 74 68 65 20 20 41 4D 53 54 52 41 44 20 43 e the AMSTRAD C 0045D0: 50 43 20 34 36 34 20 70 72 6F 63 65 73 73 6F 72 PC 464 processor 0045E0: 20 69 73 73 75 72 72 6F 75 6E 64 65 64 20 20 77 issurrounded w 0045F0: 69 74 68 20 69 6E 74 65 72 66 61 63 65 20 63 68 ith interface ch 004600: 69 70 73 20 20 41 4D 53 4F 46 54 72 65 63 6F 6D ips AMSOFTrecom 004610: 6D 65 6E 64 20 20 74 68 65 20 20 6D 61 63 68 69 mend the machi 004620: 6E 65 20 20 63 6F 64 65 20 70 72 6F 67 72 61 6D ne code program 004630: 6D 65 72 74 6F 20 20 61 64 64 72 65 73 73 20 20 merto address 004640: 74 68 65 73 65 20 20 64 65 76 69 63 65 73 20 20 these devices 004650: 74 68 72 6F 75 67 68 20 74 68 65 73 6F 66 74 77 through thesoftw 004660: 61 72 65 20 20 72 65 73 69 64 65 6E 74 20 20 77 are resident w 004670: 69 74 68 69 6E 20 74 68 65 20 52 4F 4D 73 2E 20 ithin the ROMs. 004680: 54 68 65 41 4D 53 54 52 41 44 20 09 4A 43 50 43 TheAMSTRAD .JCPC 004690: 34 36 34 20 46 49 52 4D 57 41 52 45 20 4D 41 4E 464 FIRMWARE MAN 0046A0: 55 41 4C 20 70 75 62 6C 69 73 68 65 64 62 79 20 UAL publishedby 0046B0: 41 4D 53 4F 46 54 20 64 65 66 69 6E 65 73 20 69 AMSOFT defines i 0046C0: 6E 20 64 65 74 61 69 6C 20 6E 6F 74 20 6F 6E 6C n detail not onl 0046D0: 79 20 74 68 65 76 61 72 69 6F 75 73 20 43 41 4C y thevarious CAL 0046E0: 4C 73 20 20 61 76 61 69 6C 61 62 6C 65 20 20 62 Ls available b 0046F0: 75 74 20 20 74 68 65 20 74 6F 74 61 6C 73 79 73 ut the totalsys 004700: 74 65 6D 20 73 74 72 75 63 74 75 72 65 2E A3 A0 tem structure.£. 004710: A0 A0 A0 A0 A0 A0 A0 A0 A0 20 20 20 47 4F 4F 44 ......... GOOD 004720: 20 20 4C 55 43 4B 20 20 61 6E 64 20 48 41 50 50 LUCK and HAPP 004730: 59 20 20 50 52 4F 47 52 41 4D 4D 49 4E 47 A3 20 Y PROGRAMMING£ 004740: 20 20 20 20 20 20 20 20 20 20 20 20 49 4E 54 52 INTR 004750: 4F 44 55 43 54 49 4F 4E A0 A0 20 54 68 65 20 20 ODUCTION.. The 004760: 66 69 6E 61 6C 20 20 73 65 74 20 20 6F 66 20 20 final set of 004770: 6C 65 73 73 6F 6E 73 20 69 6E 74 72 6F 64 75 63 lessons introduc 004780: 65 73 6D 6F 72 65 20 73 70 65 63 69 61 62 C6 6C esmore speciab.l 004790: 69 73 65 64 20 72 65 67 69 73 74 65 72 73 20 61 ised registers a 0047A0: 6E 64 20 69 6E 73 74 72 75 63 74 2D 69 6F 6E 73 nd instruct-ions 0047B0: 2C 20 20 61 6E 64 20 20 6C 6F 6F 6B 73 20 61 74 , and looks at 0047C0: 20 74 68 65 20 77 61 79 20 74 68 65 20 5A 38 30 the way the Z80 0047D0: 20 63 61 6E 74 61 6C 6B 20 77 69 74 68 20 74 68 cantalk with th 0047E0: 65 20 6F 75 74 73 69 64 65 20 77 6F 72 6C 64 2E e outside world. 0047F0: A0 A0 20 54 68 65 20 6C 61 73 74 20 6C 65 73 73 .. The last less 004800: 6F 6E 73 20 64 65 61 6C 20 77 69 74 68 20 69 6E ons deal with in 004810: 73 74 72 75 63 74 69 6F 6E 73 74 68 61 74 20 20 structionsthat 004820: 20 61 6C 6C 6F 77 20 20 20 74 68 65 20 20 20 6F allow the o 004830: 75 74 73 69 64 65 20 20 77 6F 72 6C 64 20 20 20 utside world 004840: 74 6F 69 6E 74 65 72 72 75 70 74 20 74 68 65 20 tointerrupt the 004850: 70 72 6F 63 65 73 73 6F 72 2E A3 20 20 20 20 20 processor.£ 004860: 20 20 20 20 20 20 20 4C 45 53 53 4F 4E 53 20 20 LESSONS 004870: 32 36 20 2D 20 33 35 A0 A0 20 32 36 2E 20 20 54 26 - 35.. 26. T 004880: 68 65 20 69 6E 64 65 78 20 72 65 67 69 73 74 62 he index registb 004890: 77 65 72 73 A0 20 20 20 20 20 20 20 20 20 20 20 wers. 0048A0: 20 20 45 78 20 2D 20 75 73 65 20 6F 66 20 69 6E Ex - use of in 0048B0: 64 65 78 20 72 65 67 69 73 74 65 72 73 20 32 37 dex registers 27 0048C0: 2E 20 20 54 68 65 20 61 6C 74 65 72 6E 61 74 69 . The alternati 0048D0: 76 65 20 73 65 74 20 6F 66 20 72 65 67 69 73 74 ve set of regist 0048E0: 65 72 73 A0 20 20 20 20 20 20 20 20 20 20 20 20 ers. 0048F0: 20 45 78 20 2D 20 75 73 69 6E 67 20 61 6C 74 65 Ex - using alte 004900: 72 6E 61 74 69 76 65 20 73 65 74 A0 20 32 38 2E rnative set. 28. 004910: 20 20 49 6E 70 75 74 2F 4F 75 74 70 75 74 20 69 Input/Output i 004920: 6E 73 74 72 75 63 74 69 6F 6E 73 A0 20 20 20 20 nstructions. 004930: 20 20 20 20 20 20 20 20 20 45 78 20 2D 20 49 2F Ex - I/ 004940: 4F 20 69 6E 73 74 72 75 63 74 69 6F 6E 73 A0 20 O instructions. 004950: 32 39 2E 20 20 42 6C 6F 63 6B 20 69 6E 73 74 72 29. Block instr 004960: 75 63 74 69 6F 6E 73 20 2D 20 69 6E 74 72 6F 64 uctions - introd 004970: 75 63 74 69 6F 6E A0 20 33 30 2E 20 20 42 6C 6F uction. 30. Blo 004980: 63 6B 20 74 72 61 6E 66 65 72 20 69 6E 73 74 72 ck tranfer instr 004990: 75 13 CB 63 74 69 6F 6E 73 A0 20 20 20 20 20 20 u..ctions. 0049A0: 20 20 20 20 20 20 20 45 78 20 2D 20 62 6C 6F 63 Ex - bloc 0049B0: 6B 20 74 72 61 6E 73 66 65 72 A0 20 33 31 2E 20 k transfer. 31. 0049C0: 20 42 6C 6F 63 6B 20 73 65 61 72 63 68 20 69 6E Block search in 0049D0: 73 74 72 75 63 74 69 6F 6E 73 A0 20 20 20 20 20 structions. 0049E0: 20 20 20 20 20 20 20 20 45 78 20 2D 20 62 6C 6F Ex - blo 0049F0: 63 6B 20 73 65 61 72 63 68 A0 20 33 32 2E 20 20 ck search. 32. 004A00: 42 6C 6F 63 6B 20 49 2F 4F 20 69 6E 73 74 72 75 Block I/O instru 004A10: 63 74 69 6F 6E 73 A0 20 33 33 2E 20 20 50 72 6F ctions. 33. Pro 004A20: 63 65 73 73 6F 72 20 63 6F 6E 74 72 6F 6C 20 69 cessor control i 004A30: 6E 73 74 72 75 63 74 69 6F 6E 73 A0 20 20 20 20 nstructions. 004A40: 20 20 20 20 20 20 20 20 20 45 78 20 2D 20 63 6F Ex - co 004A50: 6E 74 72 6F 6C 20 69 6E 73 74 72 75 63 74 69 6F ntrol instructio 004A60: 6E 73 A0 20 33 34 2E 20 20 49 6E 74 65 72 72 75 ns. 34. Interru 004A70: 70 74 73 A0 20 33 35 2E 20 20 46 69 6E 61 6C 65 pts. 35. Finale 004A80: A0 20 20 20 20 20 20 4C 6F 61 64 20 65 61 72 6C . Load earl 004A90: 69 65 72 1D A6 20 6C 65 73 73 6F 6E 73 20 66 6F ier.. lessons fo 004AA0: 72 20 72 65 76 69 73 69 6F 6E A3 41 20 20 76 65 r revision£A ve 004AB0: 72 79 69 6D 70 6F 72 74 61 6E 74 20 70 6F 69 6E ryimportant poin 004AC0: 74 2E A0 A0 20 54 68 65 20 6C 61 72 67 65 73 74 t... The largest 004AD0: 20 70 6F 73 69 74 69 76 65 20 6E 75 6D 62 65 72 positive number 004AE0: 20 77 65 20 63 61 6E 20 68 6F 6C 64 69 6E 20 20 we can holdin 004AF0: 61 20 20 20 73 69 6E 67 6C 65 20 20 20 72 65 67 a single reg 004B00: 69 73 74 65 72 2C 20 20 75 73 69 6E 67 20 20 20 ister, using 004B10: 74 68 69 73 6E 6F 74 61 74 69 6F 6E 20 69 73 20 thisnotation is 004B20: 20 30 31 31 31 31 31 31 31 20 20 20 6F 72 20 20 01111111 or 004B30: 31 32 37 20 20 61 6E 64 20 74 68 65 6C 61 72 67 127 and thelarg 004B40: 65 73 74 20 20 6E 65 67 61 74 69 76 65 20 20 20 est negative 004B50: 6E 75 6D 62 65 72 20 20 31 30 30 30 30 30 30 30 number 10000000 004B60: 20 20 6F 72 2D 31 32 38 2E A3 20 54 68 65 20 20 or-128.£ The 004B70: 5A 38 30 20 20 68 61 73 20 74 77 6F 20 69 6E 73 Z80 has two ins 004B80: 74 72 75 63 74 69 6F 6E 73 20 74 68 61 74 20 6D tructions that m 004B90: 61 79 62 65 20 BD 9D 75 73 65 64 20 66 6F 72 20 aybe ..used for 004BA0: 74 68 65 73 65 20 6F 70 65 72 61 74 69 6F 6E 73 these operations 004BB0: A0 A0 20 43 50 4C 20 20 20 63 6F 6D 70 6C 65 6D .. CPL complem 004BC0: 65 6E 74 73 20 20 20 20 6F 72 20 20 20 69 6E 76 ents or inv 004BD0: 65 72 74 73 20 20 20 74 68 65 20 20 20 20 20 20 erts the 004BE0: 20 63 6F 6E 74 65 6E 74 73 20 6F 66 20 74 68 65 contents of the 004BF0: 20 41 63 63 75 6D 75 6C 61 74 6F 72 2E A0 A0 20 Accumulator... 004C00: 4E 45 47 20 20 20 6E 65 67 61 74 65 73 2C 20 20 NEG negates, 004C10: 6F 72 20 6D 61 6B 65 73 20 20 6E 65 67 61 74 69 or makes negati 004C20: 76 65 2C 20 74 68 65 20 20 20 20 20 20 20 63 6F ve, the co 004C30: 6E 74 65 6E 74 73 20 20 6F 66 20 20 74 68 65 20 ntents of the 004C40: 20 41 63 63 75 6D 75 6C 61 74 6F 72 20 62 79 20 Accumulator by 004C50: 20 20 20 20 20 20 63 6F 6D 70 6C 65 6D 65 6E 74 complement 004C60: 69 6E 67 20 61 6E 64 20 61 64 64 69 6E 67 20 31 ing and adding 1 004C70: 20 69 6E 20 6F 6E 65 20 20 20 20 20 20 20 6F 70 in one op 004C80: 65 72 61 74 69 6F 6E 2E A0 A0 20 41 20 53 69 67 eration... A Sig 004C90: 6E 20 66 6C 61 67 20 46 52 28 53 29 20 69 73 20 n flag FR(S) is 004CA0: 70 72 6F 76 69 64 65 64 20 6F 6E 20 74 68 65 20 provided on the 004CB0: 5A 38 30 2E 49 74 20 64 75 70 6C 69 63 61 74 65 Z80.It duplicate 004CC0: 73 20 20 74 68 65 20 73 69 67 6E 20 28 20 62 69 s the sign ( bi 004CD0: 74 20 37 20 29 20 6F 66 20 74 68 65 61 6E 73 77 t 7 ) of theansw 004CE0: 65 72 20 61 66 74 65 72 20 61 6E 79 20 61 72 69 er after any ari 004CF0: 74 68 6D 65 74 69 63 20 6F 70 65 72 61 74 69 6F thmetic operatio 004D00: 6E 20 6F 6E 74 68 65 20 41 63 63 75 6D 75 6C 61 n onthe Accumula 004D10: 74 6F 72 2E 20 20 54 68 65 20 20 73 69 67 6E 20 tor. The sign 004D20: 20 66 6C 61 67 20 69 73 20 22 30 22 66 6F 72 20 flag is "0"for 004D30: 20 61 20 20 70 6F 73 69 74 69 76 65 20 20 72 65 a positive re 004D40: 73 75 6C 74 20 20 61 6E 64 20 20 22 31 22 20 66 sult and "1" f 004D50: 6F 72 20 61 6E 65 67 61 74 69 76 65 20 72 65 73 or anegative res 004D60: 75 6C 74 2E A3 20 57 68 65 6E 20 70 65 72 66 6F ult.£ When perfo 004D70: 72 6D 69 6E 67 20 20 61 72 69 74 68 6D 65 74 69 rming arithmeti 004D80: 63 20 20 6F 70 65 72 61 74 69 6F 6E 73 77 68 69 c operationswhi 004D90: 63 68 20 20 77 65 20 20 77 A4 87 69 73 68 20 20 ch we w..ish 004DA0: 74 6F 20 69 6E 74 65 72 70 72 65 74 20 77 69 74 to interpret wit 004DB0: 68 69 6E 20 74 68 65 72 61 6E 67 65 20 20 2D 31 hin therange -1 004DC0: 32 38 20 74 6F 20 2B 31 32 37 2C 20 74 68 65 20 28 to +127, the 004DD0: 43 61 72 72 79 20 20 66 6C 61 67 20 20 6E 6F 6C Carry flag nol 004DE0: 6F 6E 67 65 72 20 20 73 69 67 6E 61 6C 73 20 20 onger signals 004DF0: 61 6E 20 6F 75 74 20 6F 66 20 72 61 6E 67 65 20 an out of range 004E00: 72 65 73 75 6C 74 2E 48 6F 77 65 76 65 72 20 61 result.However a 004E10: 6E 6F 74 68 65 72 20 66 6C 61 67 2C 20 74 68 65 nother flag, the 004E20: 20 6F 76 65 72 66 6C 6F 77 20 28 50 2F 56 29 66 overflow (P/V)f 004E30: 6C 61 67 20 20 64 6F 65 73 2E 20 20 49 74 20 20 lag does. It 004E40: 69 73 20 20 61 20 20 22 31 22 20 77 68 65 6E 65 is a "1" whene 004E50: 76 65 72 20 74 68 65 61 6E 73 77 65 72 20 69 73 ver theanswer is 004E60: 20 6F 75 74 73 69 64 65 20 74 68 65 20 72 61 6E outside the ran 004E70: 67 65 20 2D 31 32 38 20 74 6F 20 2B 31 32 37 61 ge -128 to +127a 004E80: 6E 64 20 20 22 30 22 20 20 77 69 74 68 69 6E 20 nd "0" within 004E90: 20 20 74 68 65 20 20 20 72 61 6E D5 E9 67 65 2E the ran..ge. 004EA0: 20 20 20 49 74 20 20 69 73 65 66 66 65 63 74 69 It iseffecti 004EB0: 76 65 6C 79 20 20 61 20 20 63 61 72 72 79 20 20 vely a carry 004EC0: 69 6E 74 6F 20 20 62 69 74 20 37 20 77 68 69 63 into bit 7 whic 004ED0: 68 77 6F 75 6C 64 20 6D 61 6B 65 20 74 68 65 20 hwould make the 004EE0: 73 69 67 6E 20 62 69 74 20 69 6E 63 6F 72 72 65 sign bit incorre 004EF0: 63 74 2E A3 20 54 68 65 72 65 20 20 69 73 20 20 ct.£ There is 004F00: 6E 6F 20 20 72 65 61 73 6F 6E 20 66 6F 72 20 73 no reason for s 004F10: 74 69 63 6B 69 6E 67 20 74 6F 20 38 62 69 74 73 ticking to 8bits 004F20: 20 20 75 73 69 6E 67 20 74 68 69 73 20 6D 65 74 using this met 004F30: 68 6F 64 2E 20 20 53 6F 20 6C 6F 6E 67 20 61 73 hod. So long as 004F40: 20 74 68 65 6E 75 6D 62 65 72 20 6F 66 20 20 62 thenumber of b 004F50: 69 74 73 20 69 73 20 20 73 75 66 66 69 63 69 65 its is sufficie 004F60: 6E 74 20 20 61 6E 64 20 20 74 68 65 6D 6F 73 74 nt and themost 004F70: 20 20 73 69 67 6E 69 66 69 63 61 6E 74 20 20 62 significant b 004F80: 69 74 20 20 69 73 20 20 74 61 6B 65 6E 20 61 73 it is taken as 004F90: 20 74 68 65 73 69 67 6E 20 20 62 69 74 03 EF 20 thesign bit.. 004FA0: 20 61 6E 79 20 73 69 7A 65 20 70 6F 73 69 74 69 any size positi 004FB0: 76 65 20 6F 72 20 6E 65 67 61 74 69 76 65 6E 75 ve or negativenu 004FC0: 6D 62 65 72 20 63 61 6E 20 62 65 20 72 65 70 72 mber can be repr 004FD0: 65 73 65 6E 74 65 64 2E A0 A0 20 50 65 72 66 6F esented... Perfo 004FE0: 72 6D 69 6E 67 20 61 20 73 69 6D 69 6C 61 72 20 rming a similar 004FF0: 63 61 6C 63 75 6C 61 74 69 6F 6E 20 74 6F 20 74 calculation to t 005000: 68 65 61 62 6F 76 65 20 20 77 65 20 63 61 6E 20 heabove we can 005010: 20 73 68 6F 77 20 74 68 61 74 20 61 20 72 65 67 show that a reg 005020: 69 73 74 65 72 20 70 61 69 72 63 61 6E 20 20 72 ister paircan r 005030: 65 70 72 65 73 65 6E 74 20 20 61 20 20 6E 75 6D epresent a num 005040: 62 65 72 20 20 69 6E 20 74 68 65 20 20 72 61 6E ber in the ran 005050: 67 65 2B 33 32 37 36 37 20 74 6F 20 2D 33 32 37 ge+32767 to -327 005060: 36 38 2E A0 A0 20 54 68 65 20 20 53 69 67 6E 20 68... The Sign 005070: 61 6E 64 20 20 6F 76 65 72 66 6C 6F 77 20 20 66 and overflow f 005080: 6C 61 67 73 20 61 72 65 20 61 6C 73 6F 6F 70 65 lags are alsoope 005090: 72 61 74 69 76 65 20 61 66 74 65 72 20 20 41 76 rative after Av 0050A0: 5B 44 43 20 61 6E 64 20 53 42 43 20 69 6E 73 74 [DC and SBC inst 0050B0: 72 75 63 74 69 6F 6E 6F 6E 20 74 68 65 20 48 4C ructionon the HL 0050C0: 20 72 65 67 69 73 74 65 72 2E 20 49 74 20 72 65 register. It re 0050D0: 66 6C 65 63 74 73 20 74 68 65 20 31 35 74 68 62 flects the 15thb 0050E0: 69 74 20 28 6F 72 20 62 69 74 20 37 20 6F 66 20 it (or bit 7 of 0050F0: 48 20 72 65 67 69 73 74 65 72 29 20 2E A3 20 49 H register) .£ I 005100: 74 20 69 73 20 69 6D 70 6F 72 74 61 6E 74 20 20 t is important 005110: 74 6F 20 20 72 65 6D 65 6D 62 65 72 20 20 74 68 to remember th 005120: 61 74 20 74 68 65 5A 65 72 6F 2C 20 20 43 61 72 at theZero, Car 005130: 72 79 2C 20 20 53 69 67 6E 2C 20 61 6E 64 20 20 ry, Sign, and 005140: 6F 76 65 72 66 6C 6F 77 20 66 6C 61 67 73 61 72 overflow flagsar 005150: 65 20 61 6C 77 61 79 73 20 6F 70 65 72 61 74 69 e always operati 005160: 76 65 20 20 61 66 74 65 72 20 20 61 6E 20 20 20 ve after an 005170: 38 20 20 62 69 74 61 72 69 74 68 6D 65 74 69 63 8 bitarithmetic 005180: 20 20 69 6E 73 74 72 75 63 74 69 6F 6E 20 20 20 instruction 005190: 6F 72 20 20 61 20 20 31 36 20 20 62 69 74 61 64 or a 16 bitad 0051A0: 64 14 8F 69 74 69 6F 6E 20 20 20 69 6E 76 6F 6C d..ition invol 0051B0: 76 69 6E 67 20 20 20 74 68 65 20 20 43 61 72 72 ving the Carr 0051C0: 79 2E 20 20 59 6F 75 72 69 6E 74 65 72 70 72 65 y. Yourinterpre 0051D0: 74 61 74 69 6F 6E 20 6F 66 20 74 68 65 20 20 72 tation of the r 0051E0: 65 73 75 6C 74 20 64 65 74 65 72 6D 69 6E 65 73 esult determines 0051F0: 69 6E 20 20 20 77 68 69 63 68 20 20 20 66 6C 61 in which fla 005200: 67 28 73 29 20 20 20 79 6F 75 20 20 20 73 68 6F g(s) you sho 005210: 75 6C 64 20 20 20 62 65 69 6E 74 65 72 65 73 74 uld beinterest 005220: 65 64 20 69 6E 2E A3 20 20 20 20 45 58 41 4D 50 ed in.£ EXAMP 005230: 4C 45 53 20 4F 46 20 2B 56 45 20 41 4E 44 20 2D LES OF +VE AND - 005240: 56 45 20 4E 4F 54 41 54 49 4F 4E A0 A0 20 41 6C VE NOTATION.. Al 005250: 74 68 6F 75 67 68 20 20 74 68 65 73 65 20 20 65 though these e 005260: 78 61 6D 70 6C 65 73 20 20 61 70 70 65 61 72 20 xamples appear 005270: 74 6F 20 62 65 61 6C 6C 20 70 6F 73 69 74 69 76 to beall positiv 005280: 65 2C 20 74 68 65 79 20 63 61 6E 20 62 65 20 76 e, they can be v 005290: 69 65 77 65 64 20 65 71 75 61 6C 6C 79 61 73 20 iewed equallyas 0052A0: 20 6E 65 65 25 67 61 74 69 76 65 20 20 77 68 65 nee%gative whe 0052B0: 72 65 20 61 70 70 72 6F 70 72 69 61 74 65 20 61 re appropriate a 0052C0: 6E 64 20 20 74 68 65 53 69 67 6E 20 20 20 61 6E nd theSign an 0052D0: 64 20 20 20 6F 76 65 72 66 6C 6F 77 20 20 20 66 d overflow f 0052E0: 6C 61 67 73 20 20 20 6F 62 73 65 72 76 65 64 6F lags observedo 0052F0: 70 65 72 61 74 69 6E 67 2E A0 A0 20 52 65 6D 65 perating... Reme 005300: 6D 62 65 72 20 20 61 20 20 20 6E 75 6D 62 65 72 mber a number 005310: 20 20 20 61 62 6F 76 65 20 20 20 31 32 38 20 20 above 128 005320: 20 69 73 6E 65 67 61 74 69 76 65 2E 20 53 69 6E isnegative. Sin 005330: 63 65 20 61 6C 6C 20 74 68 65 20 6E 65 67 61 74 ce all the negat 005340: 69 76 65 20 6E 75 6D 62 65 72 73 69 6E 20 74 68 ive numbersin th 005350: 65 20 65 78 61 6D 70 6C 65 73 20 61 72 65 20 73 e examples are s 005360: 6D 61 6C 6C 2C 20 20 74 68 65 79 20 20 63 61 6E mall, they can 005370: 20 62 65 73 65 65 6E 20 71 75 69 63 6B 6C 79 20 beseen quickly 005380: 61 6E 64 20 73 69 6D 70 6C 79 20 62 65 20 63 6F and simply be co 005390: 6E 76 65 72 74 65 64 20 20 62 79 73 75 62 74 72 nverted bysubtr 0053A0: 61 63 74 69 6E 7F 53 67 20 74 68 65 20 6E 75 6D actin.Sg the num 0053B0: 62 65 72 20 66 72 6F 6D 20 32 35 36 2E A0 A0 20 ber from 256... 0053C0: 69 2E 65 2E 20 20 2D 32 20 20 69 73 20 65 71 75 i.e. -2 is equ 0053D0: 69 76 61 6C 65 6E 74 20 74 6F 20 32 35 34 20 65 ivalent to 254 e 0053E0: 74 63 2E A3 20 4C 44 20 41 2C 32 35 34 A0 20 20 tc.£ LD A,254. 0053F0: 4E 45 47 A0 20 20 4E 45 47 A0 20 20 41 44 44 20 NEG. NEG. ADD 005400: 41 2C 32 A0 20 20 49 4E 43 20 41 A0 20 20 4C 44 A,2. INC A. LD 005410: 20 48 4C 2C 32 A0 20 20 4C 44 20 44 45 2C 46 46 HL,2. LD DE,FF 005420: 46 45 48 A0 20 20 41 44 44 20 48 4C 2C 44 45 A0 FEH. ADD HL,DE. 005430: 20 20 43 50 4C A0 20 20 4C 44 20 48 4C 2C 53 54 CPL. LD HL,ST 005440: 4F 52 45 A0 20 20 4C 44 20 28 48 4C 29 2C 37 46 ORE. LD (HL),7F 005450: 48 A0 20 20 49 4E 43 20 28 48 4C 29 A0 20 20 52 H. INC (HL). R 005460: 45 54 A0 20 20 A0 20 53 54 4F 52 45 20 42 49 4E ET. . STORE BIN 005470: 20 30 A0 20 20 A0 20 38 38 12 7C 90 28 24 22 38 0. . 88.|.($"8 005480: 38 90 7C 12 28 48 88 00 3C 18 3C 3C 3C 18 00 3C 8.|.(H..<.<<<..< 005490: FF FF 18 0C 18 30 18 18 3C 7E 18 18 7E 3C 18 00 .....0..<~..~<.. 0054A0: 24 66 FF 66 24 00 00 2F 20 00 C9 C9 C9 C9 C9 C9 $f.f$../ ....... 0054B0: C9 C9 C9 C9 C9 C9 C9 C9 C9 C9 C9 C9 C9 C9 C9 C9 ................ 0054C0: C9 C9 C9 C9 C9 00 FF 00 00 FF 00 00 00 84 FF FF ................ 0054D0: 00 00 00 3F 88 80 03 00 00 FF FF 00 00 00 00 00 ...?............ 0054E0: 00 FF FF 00 08 79 C8 FD 00 FF FF 00 00 FF FF 00 .....y.......... 0054F0: 08 79 C8 FD 00 FF FF 00 00 FF FF 00 08 79 C8 FD .y...........y.. 005500: 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 00 02 79 ...............y 005510: C8 FD FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 ................ 005520: 04 79 C8 FD 00 FF FF 00 00 FF FF 00 00 FF DF 00 .y.............. 005530: 00 00 08 79 C8 FD FF 00 00 FF FF 00 00 FF FF 00 ...y............ 005540: 00 FF FF 00 10 79 C8 FD 00 FF FF 00 00 33 00 76 .....y.......3.v 005550: 65 20 22 54 45 58 54 33 22 2C 42 2C 26 35 38 30 e "TEXT3",B,&580 005560: 30 2C 26 35 35 30 30 00 00 00 54 45 52 22 00 61 0,&5500...TER".a 005570: 00 64 00 30 30 31 00 00 37 39 2C 26 65 64 2C 26 .d.001..79,&ed,& 005580: 37 38 2C 26 63 62 2C 26 34 37 00 26 31 62 2C 26 78,&cb,&47.&1b,& 005590: 37 61 2C 26 42 33 20 00 66 2C 26 30 00 FF FF 00 7a,&B3 .f,&0.... 0055A0: 00 FF FF 00 00 FF FF 00 00 0E 4D FF FF FF FF ..........M....
previousnext* BLOCK 0003 : TURBO LOADING DATA

Length of PILOT pulse : 2311
Length of SYNC First pulse : 1032
Length of SYNC Second pulse : 1270
Length of ZERO bit pulse : 1161
Length of ONE bit pulse : 2321
Length of PILOT tone : 3613
Used bits in last byte : 8
Pause After this block : 2564ms
Data : 263 bytes
Total size : 282 bytes

Sum DATA : 1 485
000000: FC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0000A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0000B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0000C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0000D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0000E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0000F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000100: 00 BE 17 FF FF FF FF .......
previousnext* BLOCK 0004 : TURBO LOADING DATA

Length of PILOT pulse : 2310
Length of SYNC First pulse : 1111
Length of SYNC Second pulse : 1270
Length of ZERO bit pulse : 1163
Length of ONE bit pulse : 2325
Length of PILOT tone : 4095
Used bits in last byte : 8
Pause After this block : 2564ms
Data : 21935 bytes
Total size : 21954 bytes

Sum DATA : 1 726 123
000000: FB 06 58 2E 58 EF 84 2F 58 33 58 37 58 44 58 51 ..X.X../X3X7XDXQ 000010: 58 5E 58 65 58 6F 58 76 58 83 58 8A 58 91 58 9B X^XeXoXvX.X.X.X. 000020: 58 A2 58 A9 58 B0 58 B7 58 BE 58 C5 58 CF 58 00 X.X.X.X.X.X.X.X. 000030: 00 74 87 01 00 D6 58 01 00 CB 5B 00 77 5E 00 4E .t....X...[.w^.N 000040: 61 00 76 62 01 00 CD 89 00 92 8C 00 1A 8E 02 7B a.vb...........{ 000050: 90 01 00 57 63 00 F6 65 00 EE 68 00 F5 6B 01 00 ...Wc..e..h..k.. 000060: 26 91 02 92 93 01 00 C3 6C 00 7D 6F 00 F6 6F 01 &.......l.}o..o. 000070: 00 3C 94 02 0A 95 01 00 91 70 00 74 73 00 B3 76 .<.......p.ts..v 000080: 00 31 77 01 00 B9 95 02 7A 97 01 00 0F 98 02 BC .1w.....z....... 000090: 98 01 00 FF 77 00 A7 7A 00 DD 7C 01 00 6A 99 02 ....w..z..|..j.. 0000A0: 93 9A 01 00 3A 9B 02 4D 9D 01 00 04 7E 00 D7 80 ....:..M....~... 0000B0: 01 00 19 9E 02 EA 9E 01 00 28 81 00 ED 82 01 00 .........(...... 0000C0: 7A 9F 02 0D A0 01 00 93 A0 00 CA A2 00 A8 A3 01 z.............£. 0000D0: 00 5D A4 02 3F A5 01 20 20 20 20 20 20 20 20 20 .]..?.. 0000E0: 52 45 47 49 53 54 45 52 53 20 61 6E 64 20 4D 45 REGISTERS and ME 0000F0: 4D 4F 52 59 A0 A0 20 52 65 67 69 73 74 65 72 73 MORY.. Registers 000100: 20 01 45 20 61 72 65 20 20 6C 69 6B 65 20 20 70 .E are like p 000110: 69 67 65 6F 6E 20 20 68 6F 6C 65 73 20 20 69 6E igeon holes in 000120: 77 68 69 63 68 20 20 6E 75 6D 62 65 72 73 20 20 which numbers 000130: 63 61 6E 20 62 65 20 73 74 6F 72 65 64 2E 20 20 can be stored. 000140: 41 20 73 69 6E 67 6C 65 72 65 67 69 73 74 65 72 A singleregister 000150: 20 63 61 6E 20 73 74 6F 72 65 20 20 61 6E 79 20 can store any 000160: 20 6E 75 6D 62 65 72 20 20 62 65 74 77 65 65 6E number between 000170: 30 20 61 6E 64 20 20 32 35 35 2E 20 20 54 68 65 0 and 255. The 000180: 20 20 5A 38 30 20 20 68 61 73 20 20 20 6D 61 6E Z80 has man 000190: 79 20 20 20 73 75 63 68 72 65 67 69 73 74 65 72 y suchregister 0001A0: 73 2E 20 20 49 6E 69 74 69 61 6C 6C 79 20 20 77 s. Initially w 0001B0: 65 20 73 68 61 6C 6C 20 63 6F 6E 73 69 64 65 72 e shall consider 0001C0: 6F 6E 6C 79 20 74 68 65 20 6D 6F 72 65 20 20 67 only the more g 0001D0: 65 6E 65 72 61 6C 20 6F 6E 65 73 3A 20 20 64 65 eneral ones: de 0001E0: 73 69 67 6E 61 74 65 64 41 2C 42 2C 43 2C 44 2C signatedA,B,C,D, 0001F0: 45 2C 48 20 61 6E 64 20 4C 2E 20 20 54 68 65 20 E,H and L. The 000200: 41 20 20 A1 AB 72 65 67 69 73 74 65 72 20 28 20 A ..register ( 000210: 6F 72 41 63 63 75 6D 75 6C 61 74 6F 72 20 29 20 orAccumulator ) 000220: 20 69 73 20 20 74 68 65 20 20 6D 6F 73 74 20 20 is the most 000230: 69 6D 70 6F 72 74 61 6E 74 2C 73 69 6E 63 65 20 important,since 000240: 20 6D 6F 72 65 20 20 69 6E 73 74 72 75 63 74 69 more instructi 000250: 6F 6E 73 20 20 69 6E 76 6F 6C 76 65 20 20 74 68 ons involve th 000260: 69 73 72 65 67 69 73 74 65 72 20 74 68 61 6E 20 isregister than 000270: 61 6E 79 20 6F 74 68 65 72 2E A0 A0 20 54 68 65 any other... The 000280: 20 73 74 65 70 20 62 79 20 73 74 65 70 20 69 6E step by step in 000290: 73 74 72 75 63 74 69 6F 6E 73 20 6D 61 6B 69 6E structions makin 0002A0: 67 20 75 70 61 20 70 72 6F 67 72 61 6D 20 61 72 g upa program ar 0002B0: 65 20 73 74 6F 72 65 64 20 69 6E 20 6D 65 6D 6F e stored in memo 0002C0: 72 79 2C 20 61 20 73 65 72 69 65 73 6F 66 20 20 ry, a seriesof 0002D0: 20 73 69 6D 69 6C 61 72 20 20 20 20 72 65 67 69 similar regi 0002E0: 73 74 65 72 73 20 20 20 20 6F 72 20 20 20 6D 65 sters or me 0002F0: 6D 6F 72 79 6C 6F 63 61 74 69 6F 6E 73 20 20 65 morylocations e 000300: 78 74 65 72 6E CF 3B 61 6C 20 20 74 6F 20 20 74 xtern.;al to t 000310: 68 65 20 20 5A 38 30 20 20 63 68 69 70 2E 36 35 he Z80 chip.65 000320: 35 33 36 20 6D 65 6D 6F 72 79 20 6C 6F 63 61 74 536 memory locat 000330: 69 6F 6E 73 20 63 61 6E 20 62 65 20 20 61 63 63 ions can be acc 000340: 65 73 73 65 64 2E 54 68 65 79 20 20 61 72 65 20 essed.They are 000350: 20 64 65 73 69 67 6E 61 74 65 64 20 20 62 79 20 designated by 000360: 20 74 68 65 69 72 20 20 6E 75 6D 62 65 72 62 65 their numberbe 000370: 74 77 65 65 6E 20 30 20 61 6E 64 20 36 35 35 33 tween 0 and 6553 000380: 35 2E 20 20 49 74 20 20 74 61 6B 65 73 20 20 74 5. It takes t 000390: 68 65 20 5A 38 30 6C 6F 6E 67 65 72 20 20 74 6F he Z80longer to 0003A0: 20 20 61 63 63 65 73 73 20 20 6D 65 6D 6F 72 79 access memory 0003B0: 20 20 74 68 61 6E 20 69 74 73 20 6F 77 6E 69 6E than its ownin 0003C0: 74 65 72 6E 61 6C 20 72 65 67 69 73 74 65 72 73 ternal registers 0003D0: 2E A3 20 20 20 20 20 20 20 53 49 4D 50 4C 45 20 .£ SIMPLE 0003E0: 4C 4F 41 44 20 49 4E 53 54 52 55 43 54 49 4F 4E LOAD INSTRUCTION 0003F0: 53 A0 A0 20 50 65 72 68 61 70 73 20 20 61 20 20 S.. Perhaps a 000400: 62 65 74 74 65 72 20 27 F4 20 64 65 73 63 72 69 better '. descri 000410: 70 74 69 6F 6E 20 6F 66 20 6C 6F 61 64 74 68 61 ption of loadtha 000420: 6E 20 74 68 65 20 63 6F 6E 76 65 6E 74 69 6F 6E n the convention 000430: 61 6C 20 6F 6E 65 20 69 73 20 63 6F 70 79 2C 20 al one is copy, 000440: 73 69 6E 63 65 61 20 6C 6F 61 64 20 20 69 6E 73 sincea load ins 000450: 74 72 75 63 74 69 6F 6E 20 20 63 6F 70 69 65 73 truction copies 000460: 20 20 74 68 65 20 20 6E 75 6D 62 65 72 68 65 6C the numberhel 000470: 64 20 69 6E 20 61 20 72 65 67 69 73 74 65 72 20 d in a register 000480: 20 6F 72 20 20 6D 65 6D 6F 72 79 20 20 6C 6F 63 or memory loc 000490: 61 74 69 6F 6E 69 6E 74 6F 20 20 20 61 6E 6F 74 ationinto anot 0004A0: 68 65 72 20 20 20 20 72 65 67 69 73 74 65 72 20 her register 0004B0: 20 20 6F 72 20 20 20 6D 65 6D 6F 72 79 6C 6F 63 or memoryloc 0004C0: 61 74 69 6F 6E 2E 20 20 20 41 73 20 20 20 77 69 ation. As wi 0004D0: 74 68 20 20 61 6C 6C 20 20 63 6F 70 79 69 6E 67 th all copying 0004E0: 20 20 74 68 65 6F 72 69 67 69 6E 61 6C 20 72 65 theoriginal re 0004F0: 6D 61 69 6E 73 20 75 6E 63 68 61 6E 67 65 64 2E mains unchanged. 000500: A0 A0 20 54 68 65 20 20 20 4B BE 6C 6F 61 64 20 .. The K.load 000510: 20 69 6E 73 74 72 75 63 74 69 6F 6E 20 20 20 69 instruction i 000520: 73 20 20 20 6E 6F 72 6D 61 6C 6C 79 61 62 62 72 s normallyabbr 000530: 65 76 69 61 74 65 64 20 74 6F 20 4C 44 2E 20 20 eviated to LD. 000540: 54 68 65 20 73 69 6D 70 6C 65 73 74 20 66 6F 72 The simplest for 000550: 6D 20 6F 66 6C 6F 61 64 20 20 63 6F 70 69 65 73 m ofload copies 000560: 20 64 61 74 61 20 66 72 6F 6D 20 20 6F 6E 65 20 data from one 000570: 20 72 65 67 69 73 74 65 72 20 74 6F 61 6E 6F 74 register toanot 000580: 68 65 72 2C 20 69 2E 65 2E 20 4C 44 20 41 2C 42 her, i.e. LD A,B 000590: 20 20 2E A0 A0 20 49 6E 20 20 74 68 65 73 65 20 ... In these 0005A0: 20 61 62 62 72 65 76 69 61 74 69 6F 6E 65 64 20 abbreviationed 0005B0: 20 69 6E 73 74 72 75 63 74 69 6F 6E 73 28 20 6D instructions( m 0005C0: 6E 65 6D 6F 6E 69 63 73 20 29 2C 20 69 74 20 69 nemonics ), it i 0005D0: 73 20 63 6F 6E 76 65 6E 74 69 6F 6E 61 6C 20 74 s conventional t 0005E0: 6F 20 70 75 74 74 68 65 20 72 65 67 69 73 74 65 o putthe registe 0005F0: 72 20 61 66 66 65 63 74 65 64 20 66 69 72 73 74 r affected first 000600: 2C 20 66 6F 6C 6C 6F 77 65 64 20 90 D0 62 79 74 , followed ..byt 000610: 68 65 20 72 65 67 69 73 74 65 72 20 66 72 6F 6D he register from 000620: 20 77 68 69 63 68 20 20 74 68 65 20 69 6E 66 6F which the info 000630: 72 6D 61 74 69 6F 6E 69 73 20 20 63 6F 70 69 65 rmationis copie 000640: 64 2E 20 20 20 48 65 6E 63 65 20 20 4C 44 20 41 d. Hence LD A 000650: 2C 42 20 20 63 6F 70 69 65 73 20 20 74 68 65 63 ,B copies thec 000660: 6F 6E 74 65 6E 74 73 20 6F 66 20 42 20 69 6E 74 ontents of B int 000670: 6F 20 41 20 6F 72 20 41 63 63 75 6D 75 6C 61 74 o A or Accumulat 000680: 6F 72 2E A3 20 57 65 20 20 63 61 6E 20 20 61 6C or.£ We can al 000690: 73 6F 20 6C 6F 61 64 20 61 6E 79 20 6F 66 20 74 so load any of t 0006A0: 68 65 20 72 65 67 69 73 74 65 72 73 77 69 74 68 he registerswith 0006B0: 20 20 61 20 20 6E 75 6D 62 65 72 2C 20 20 6E 2C a number, n, 0006C0: 20 62 65 74 77 65 65 6E 20 20 30 20 20 61 6E 64 between 0 and 0006D0: 20 32 35 35 64 69 72 65 63 74 6C 79 20 2C 20 20 255directly , 0006E0: 20 77 69 74 68 20 20 20 20 69 6E 73 74 72 75 63 with instruc 0006F0: 74 69 6F 6E 73 20 20 20 6C 69 6B 65 4C 44 20 43 tions likeLD C 000700: 2C 31 32 33 2E 20 57 65 20 20 73 68 61 8D 52 6C ,123. We sha.Rl 000710: 6C 20 20 64 69 73 63 75 73 73 20 6C 61 74 65 72 l discuss later 000720: 20 20 66 72 6F 6D 77 68 65 72 65 20 20 74 68 65 fromwhere the 000730: 20 6E 75 6D 62 65 72 20 20 69 73 20 63 6F 70 69 number is copi 000740: 65 64 2E 20 53 75 66 66 69 63 65 20 74 6F 73 61 ed. Suffice tosa 000750: 79 20 61 74 20 74 68 69 73 20 20 73 74 61 67 65 y at this stage 000760: 2C 20 20 20 74 68 61 74 20 20 69 6E 73 74 72 75 , that instru 000770: 63 74 69 6F 6E 73 61 72 65 20 73 74 6F 72 65 64 ctionsare stored 000780: 20 61 73 20 20 6E 75 6D 62 65 72 73 2E 20 20 69 as numbers. i 000790: 2E 65 2E 20 20 4C 44 20 41 2C 42 20 69 73 73 74 .e. LD A,B isst 0007A0: 6F 72 65 64 20 61 73 20 20 37 38 2E 20 20 53 6F ored as 78. So 0007B0: 6D 65 20 20 69 6E 73 74 72 75 63 74 69 6F 6E 73 me instructions 0007C0: 20 20 6C 69 6B 65 4C 44 20 41 2C 42 20 61 72 65 likeLD A,B are 0007D0: 20 73 74 6F 72 65 64 20 61 73 20 6F 6E 65 20 6E stored as one n 0007E0: 75 6D 62 65 72 2C 20 20 6F 74 68 65 72 73 74 61 umber, othersta 0007F0: 6B 65 20 75 70 20 74 6F 20 66 6F 75 72 2E A0 A0 ke up to four... 000800: 20 54 68 65 20 74 77 6F 20 74 79 70 65 73 20 E7 The two types . 000810: 0D 6F 66 20 69 6E 73 74 72 75 63 74 69 6F 6E 73 .of instructions 000820: 20 64 69 73 63 75 73 73 65 64 28 20 4C 44 20 72 discussed( LD r 000830: 2C 72 27 20 61 6E 64 20 20 4C 44 20 72 2C 6E 20 ,r' and LD r,n 000840: 29 20 20 63 61 6E 20 69 6E 76 6F 6C 76 65 20 61 ) can involve a 000850: 6E 79 6F 66 20 74 68 65 20 20 72 65 67 69 73 74 nyof the regist 000860: 65 72 73 20 63 6F 6E 73 69 64 65 72 65 64 2E 20 ers considered. 000870: 20 4F 6E 6C 79 20 20 74 68 65 41 20 20 72 65 67 Only theA reg 000880: 69 73 74 65 72 20 20 20 63 61 6E 20 20 62 65 20 ister can be 000890: 20 6C 6F 61 64 65 64 20 20 77 69 74 68 20 20 74 loaded with t 0008A0: 68 65 63 6F 6E 74 65 6E 74 73 20 20 6F 66 20 20 hecontents of 0008B0: 61 20 20 6D 65 6D 6F 72 79 20 20 6C 6F 63 61 74 a memory locat 0008C0: 69 6F 6E 2E 20 20 20 54 68 65 69 6E 73 74 72 75 ion. Theinstru 0008D0: 63 74 69 6F 6E 73 20 6F 66 20 74 68 65 20 66 6F ctions of the fo 0008E0: 72 6D 20 4C 44 20 41 2C 28 6E 6E 29 20 6C 6F 61 rm LD A,(nn) loa 0008F0: 64 73 6F 72 20 20 63 6F 70 69 65 73 20 20 74 68 dsor copies th 000900: 65 20 20 20 63 6F 6E 74 65 6E 74 73 20 20 20 6F e contents o 000910: 66 8A F3 20 20 20 6D 65 6D 6F 72 79 6C 6F 63 61 f.. memoryloca 000920: 74 69 6F 6E 20 6E 6E 20 20 28 20 61 20 20 6E 75 tion nn ( a nu 000930: 6D 62 65 72 20 20 62 65 74 77 65 65 6E 20 20 30 mber between 0 000940: 20 61 6E 64 36 35 35 33 35 20 29 20 69 6E 74 6F and65535 ) into 000950: 20 74 68 65 20 41 20 72 65 67 69 73 74 65 72 2E the A register. 000960: A3 20 57 65 20 63 61 6E 20 61 6C 73 6F 20 6C 6F £ We can also lo 000970: 61 64 20 61 20 6D 65 6D 6F 72 79 20 6C 6F 63 61 ad a memory loca 000980: 74 69 6F 6E 20 77 69 74 68 74 68 65 20 20 63 6F tion withthe co 000990: 6E 74 65 6E 74 73 20 20 6F 66 20 20 74 68 65 20 ntents of the 0009A0: 20 41 63 63 75 6D 75 6C 61 74 6F 72 20 77 69 74 Accumulator wit 0009B0: 68 4C 44 20 28 6E 6E 29 2C 41 20 20 20 77 68 65 hLD (nn),A whe 0009C0: 72 65 20 20 6E 6E 20 20 69 73 20 20 74 68 65 20 re nn is the 0009D0: 6E 75 6D 62 65 72 20 6F 72 61 64 64 72 65 73 73 number oraddress 0009E0: 20 6F 66 20 74 68 65 20 6D 65 6D 6F 72 79 20 6C of the memory l 0009F0: 6F 63 61 74 69 6F 6E 2E A0 A0 20 41 6C 6C 20 20 ocation... All 000A00: 6F 74 68 65 72 20 73 69 6E 67 6C 65 20 20 72 65 other single re 000A10: 67 69 73 0E 0A 74 65 72 73 20 20 63 61 6E 6E 6F gis..ters canno 000A20: 74 20 62 65 6C 6F 61 64 65 64 20 20 64 69 72 65 t beloaded dire 000A30: 63 74 6C 79 20 66 72 6F 6D 20 61 20 6D 65 6D 6F ctly from a memo 000A40: 72 79 20 6C 6F 63 61 74 69 6F 6E 2E 54 77 6F 20 ry location.Two 000A50: 20 20 69 6E 73 74 72 75 63 74 69 6F 6E 73 20 20 instructions 000A60: 20 69 6E 76 6F 6C 76 69 6E 67 20 20 20 74 68 65 involving the 000A70: 20 20 20 41 72 65 67 69 73 74 65 72 20 61 72 65 Aregister are 000A80: 20 72 65 71 75 69 72 65 64 2E A3 20 20 20 53 75 required.£ Su 000A90: 6D 6D 61 72 79 20 2D 20 4C 6F 61 64 69 6E 67 20 mmary - Loading 000AA0: 73 69 6E 67 6C 65 20 72 65 67 69 73 74 65 72 73 single registers 000AB0: A0 A0 4C 44 20 72 2C 72 27 20 20 20 20 77 68 65 ..LD r,r' whe 000AC0: 72 65 20 72 20 61 6E 64 20 72 27 20 61 72 65 20 re r and r' are 000AD0: 61 6E 79 20 6F 66 20 74 68 65 20 20 20 20 20 20 any of the 000AE0: 20 20 20 20 20 66 6F 6C 6C 6F 77 69 6E 67 3A 20 following: 000AF0: 41 2C 42 2C 43 2C 44 2C 45 2C 48 20 61 6E 64 20 A,B,C,D,E,H and 000B00: 4C 2E 4C 44 20 72 2C 6E 20 20 20 20 20 77 68 65 L.LD r,n whe 000B10: 72 65 20 6E 20 B5 09 69 73 20 61 20 6E 75 6D 62 re n ..is a numb 000B20: 65 72 20 30 20 2D 20 32 35 35 A0 A0 4C 44 20 41 er 0 - 255..LD A 000B30: 2C 28 6E 6E 29 20 20 77 68 65 72 65 20 6E 6E 20 ,(nn) where nn 000B40: 69 73 20 61 20 6E 75 6D 62 65 72 20 20 20 30 20 is a number 0 000B50: 74 6F A0 20 20 20 20 20 20 20 20 20 20 20 36 35 to. 65 000B60: 35 33 35 A0 4C 44 20 28 6E 6E 29 2C 41 A3 20 20 535.LD (nn),A£ 000B70: 20 20 20 20 20 20 20 20 20 20 52 45 47 49 53 54 REGIST 000B80: 45 52 20 50 41 49 52 53 A0 A0 20 54 68 65 20 66 ER PAIRS.. The f 000B90: 61 63 74 20 74 68 61 74 20 20 61 20 20 73 69 6E act that a sin 000BA0: 67 6C 65 20 20 72 65 67 69 73 74 65 72 20 20 63 gle register c 000BB0: 61 6E 6F 6E 6C 79 20 68 6F 6C 64 20 20 6E 75 6D anonly hold num 000BC0: 62 65 72 73 20 20 75 70 20 20 74 6F 20 32 35 35 bers up to 255 000BD0: 20 20 61 6E 64 20 20 74 68 65 74 6F 74 61 6C 20 and thetotal 000BE0: 6D 65 6D 6F 72 79 20 20 61 76 61 69 6C 61 62 6C memory availabl 000BF0: 65 20 20 69 73 20 75 70 20 74 6F 20 36 35 35 33 e is up to 6553 000C00: 35 2C 69 73 20 61 20 6C 69 6D 69 74 61 74 69 6F 5,is a limitatio 000C10: 6E 2E 20 20 46 6F 72 30 78 20 20 74 68 69 73 20 n. For0x this 000C20: 72 65 61 73 6F 6E 20 74 68 65 72 65 61 72 65 20 reason thereare 000C30: 61 20 20 77 68 6F 6C 65 20 20 73 65 74 20 6F 66 a whole set of 000C40: 20 69 6E 73 74 72 75 63 74 69 6F 6E 73 20 6F 6E instructions on 000C50: 20 74 68 65 5A 38 30 20 20 74 68 61 74 20 64 65 theZ80 that de 000C60: 61 6C 20 77 69 74 68 20 20 72 65 67 69 73 74 65 al with registe 000C70: 72 73 20 69 6E 20 70 61 69 72 73 2E 54 68 65 20 rs in pairs.The 000C80: 70 61 69 72 73 20 61 72 65 20 20 42 43 2C 20 20 pairs are BC, 000C90: 44 45 2C 20 61 6E 64 20 20 48 4C 20 72 65 67 69 DE, and HL regi 000CA0: 73 74 65 72 70 61 69 72 73 2E A0 A0 20 54 68 65 sterpairs... The 000CB0: 20 74 77 6F 20 72 65 67 69 73 74 65 72 73 20 68 two registers h 000CC0: 6F 6C 64 20 20 64 69 66 66 65 72 65 6E 74 20 70 old different p 000CD0: 61 72 74 73 6F 66 20 61 20 6E 75 6D 62 65 72 2E artsof a number. 000CE0: 20 43 6F 6E 73 69 64 65 72 20 74 68 65 20 64 65 Consider the de 000CF0: 63 69 6D 61 6C 20 6E 75 6D 62 65 72 32 37 2E 20 cimal number27. 000D00: 57 65 20 20 63 61 6E 20 74 68 69 6E 6B 20 6F 66 We can think of 000D10: 20 74 68 69 73 20 61 73 20 20 58 20 68 61 76 69 this as X havi 000D20: 6E 67 20 74 77 6F 70 61 72 74 73 3B 20 74 68 65 ng twoparts; the 000D30: 20 68 69 67 68 20 70 61 72 74 20 28 20 6F 72 20 high part ( or 000D40: 62 79 74 65 29 20 69 73 20 74 68 65 20 32 73 69 byte) is the 2si 000D50: 6E 63 65 20 69 74 20 72 65 70 72 65 73 65 6E 74 nce it represent 000D60: 73 20 20 32 2A 31 30 20 2C 20 74 68 65 20 6C 6F s 2*10 , the lo 000D70: 77 20 70 61 72 74 28 20 6F 72 20 20 62 79 74 65 w part( or byte 000D80: 20 29 20 20 69 73 20 20 74 68 65 20 37 2C 20 20 ) is the 7, 000D90: 20 73 69 6E 63 65 20 69 74 20 6F 6E 6C 79 72 65 since it onlyre 000DA0: 70 6C 65 73 65 6E 74 73 20 20 37 2A 31 20 2E 20 plesents 7*1 . 000DB0: 20 54 68 65 20 20 74 6F 74 61 6C 20 20 6E 75 6D The total num 000DC0: 62 65 72 20 69 73 32 2A 31 30 20 2B 20 37 2A 31 ber is2*10 + 7*1 000DD0: 20 3D 20 32 37 2E 20 20 45 61 63 68 20 64 69 67 = 27. Each dig 000DE0: 69 74 20 63 61 6E 20 6F 6E 6C 79 20 62 65 30 20 it can only be0 000DF0: 2D 20 39 20 20 69 2E 65 2E 20 31 30 20 20 64 69 - 9 i.e. 10 di 000E00: 66 66 65 72 65 6E 74 20 6E 75 6D 62 65 72 73 2E fferent numbers. 000E10: A3 20 41 20 20 73 69 6E 67 6C 65 AF 00 20 72 65 £ A single.. re 000E20: 67 69 73 74 65 72 20 63 61 6E 20 68 6F 6C 64 20 gister can hold 000E30: 20 30 2D 32 35 35 2C 20 32 35 36 64 69 66 66 65 0-255, 256diffe 000E40: 72 65 6E 74 20 20 20 6E 75 6D 62 65 72 73 2E 20 rent numbers. 000E50: 20 20 49 66 20 20 77 65 20 20 20 70 75 74 20 20 If we put 000E60: 74 77 6F 72 65 67 69 73 74 65 72 73 20 73 69 64 tworegisters sid 000E70: 65 20 62 79 20 73 69 64 65 2C 20 69 2E 65 2E 20 e by side, i.e. 000E80: 20 48 4C 20 2C 20 74 68 65 20 48 72 65 67 69 73 HL , the Hregis 000E90: 74 65 72 20 68 6F 6C 64 69 6E 67 20 74 68 65 20 ter holding the 000EA0: 48 69 67 68 20 62 79 74 65 20 61 6E 64 20 74 68 High byte and th 000EB0: 65 20 4C 68 6F 6C 64 69 6E 67 20 74 68 65 20 20 e Lholding the 000EC0: 4C 6F 77 20 20 62 79 74 65 2C 20 74 68 65 6E 20 Low byte, then 000ED0: 77 65 20 63 61 6E 20 68 6F 6C 64 69 6E 20 74 68 we can holdin th 000EE0: 65 20 72 65 67 69 73 74 65 72 20 70 61 69 72 20 e register pair 000EF0: 20 48 2A 32 35 36 20 2B 20 4C 2A 31 20 69 6E 20 H*256 + L*1 in 000F00: 74 68 65 73 61 6D 65 20 77 61 79 20 61 73 20 32 thesame way as 2 000F10: 37 20 3D 20 32 2A 31 30 20 2B 20 37 2A E8 4F 31 7 = 2*10 + 7*.O1 000F20: 2E 20 54 68 65 20 6D 61 78 69 6D 75 6D 74 68 61 . The maximumtha 000F30: 74 20 63 61 6E 20 20 62 65 20 20 68 65 6C 64 20 t can be held 000F40: 20 69 6E 20 61 20 20 72 65 67 69 73 74 65 72 20 in a register 000F50: 20 70 61 69 72 69 73 20 20 74 68 65 72 65 66 6F pairis therefo 000F60: 72 65 20 20 20 32 35 35 20 2A 20 32 35 36 20 2B re 255 * 256 + 000F70: 20 32 35 35 20 3D 20 36 35 35 33 35 2E 42 79 20 255 = 65535.By 000F80: 63 6F 6E 76 65 6E 74 69 6F 6E 20 20 74 68 65 20 convention the 000F90: 20 68 69 67 68 20 20 62 79 74 65 20 69 73 20 73 high byte is s 000FA0: 74 6F 72 65 64 69 6E 20 20 74 68 65 20 20 66 69 toredin the fi 000FB0: 72 73 74 20 20 72 65 67 69 73 74 65 72 20 69 6E rst register in 000FC0: 20 74 68 65 20 72 65 67 69 73 74 65 72 70 61 69 the registerpai 000FD0: 72 20 6E 61 6D 65 2E A0 A0 20 57 65 20 20 63 61 r name... We ca 000FE0: 6E 20 20 6C 6F 61 64 20 61 6E 79 20 6F 66 20 74 n load any of t 000FF0: 68 65 20 72 65 67 69 73 74 65 72 20 70 61 69 72 he register pair 001000: 73 77 69 74 68 20 61 20 6E 75 6D 62 65 72 20 62 swith a number b 001010: 65 74 77 65 65 6E 20 30 20 2D 20 36 35 35 33 F1 etween 0 - 6553. 001020: BA 35 20 64 69 72 65 63 74 6C 79 75 73 69 6E 67 .5 directlyusing 001030: 20 69 6E 73 74 72 75 63 74 69 6F 6E 73 20 6C 69 instructions li 001040: 6B 65 20 4C 44 20 48 4C 2C 6E 6E 2E A0 A0 20 4A ke LD HL,nn... J 001050: 75 73 74 20 61 73 20 77 65 20 63 61 6E 20 63 6F ust as we can co 001060: 6D 62 69 6E 65 20 74 77 6F 20 72 65 67 69 73 74 mbine two regist 001070: 65 72 73 20 74 6F 68 6F 6C 64 20 6E 75 6D 62 65 ers tohold numbe 001080: 72 73 20 75 70 20 74 6F 20 36 35 35 33 35 2C 20 rs up to 65535, 001090: 77 65 20 63 61 6E 20 63 6F 6D 62 69 6E 65 61 64 we can combinead 0010A0: 6A 61 63 65 6E 74 20 20 20 20 20 6D 65 6D 6F 72 jacent memor 0010B0: 79 20 20 20 20 20 6C 6F 63 61 74 69 6F 6E 73 2E y locations. 0010C0: 20 20 20 20 42 79 63 6F 6E 76 65 6E 74 69 6F 6E Byconvention 0010D0: 20 74 68 65 20 20 4C 6F 77 20 20 62 79 74 65 20 the Low byte 0010E0: 69 73 20 68 65 6C 64 20 69 6E 20 74 68 65 6C 6F is held in thelo 0010F0: 63 61 74 69 6F 6E 20 77 69 74 68 20 74 68 65 20 cation with the 001100: 4C 6F 77 65 72 20 61 64 64 72 65 73 73 2E A3 20 Lower address.£ 001110: 57 65 20 20 63 61 6E 20 20 74 68 65 72 65 66 6F We can therefo 001120: 72 19 C9 65 20 6C 6F 61 64 20 61 20 72 65 67 69 r..e load a regi 001130: 73 74 65 72 20 70 61 69 72 77 69 74 68 20 20 74 ster pairwith t 001140: 68 65 20 20 63 6F 6E 74 65 6E 74 73 20 6F 66 20 he contents of 001150: 61 20 20 70 61 69 72 20 6F 66 20 6D 65 6D 6F 72 a pair of memor 001160: 79 6C 6F 63 61 74 69 6F 6E 73 2C 20 20 20 77 69 ylocations, wi 001170: 74 68 20 20 20 69 6E 73 74 72 75 63 74 69 6F 6E th instruction 001180: 73 20 20 20 20 6C 69 6B 65 4C 44 20 44 45 2C 28 s likeLD DE,( 001190: 6E 6E 29 20 2E 20 20 20 20 54 68 69 73 20 20 20 nn) . This 0011A0: 69 6E 73 74 72 75 63 74 69 6F 6E 20 20 20 20 69 instruction i 0011B0: 73 65 71 75 69 76 61 6C 65 6E 74 20 74 6F 20 74 sequivalent to t 0011C0: 68 65 20 6E 6F 6E 2D 76 61 6C 69 64 20 69 6E 73 he non-valid ins 0011D0: 74 72 75 63 74 69 6F 6E 73 4C 44 20 45 2C 28 6E tructionsLD E,(n 0011E0: 6E 29 20 61 6E 64 20 20 4C 44 20 44 2C 28 6E 6E n) and LD D,(nn 0011F0: 2B 31 29 2E A0 A0 20 53 69 6D 69 6C 61 72 6C 79 +1)... Similarly 001200: 2C 20 20 77 65 20 63 61 6E 20 6C 6F 61 64 20 74 , we can load t 001210: 68 65 20 63 6F 6E 74 65 6E 74 73 20 6F 66 61 20 he contents ofa 001220: 72 65 67 82 24 69 73 74 65 72 20 70 61 69 72 20 reg.$ister pair 001230: 69 6E 74 6F 20 20 61 20 70 61 69 72 20 20 6F 66 into a pair of 001240: 20 20 6D 65 6D 6F 72 79 6C 6F 63 61 74 69 6F 6E memorylocation 001250: 73 2C 20 20 69 2E 65 2E 20 20 20 4C 44 20 28 6E s, i.e. LD (n 001260: 6E 29 2C 42 43 20 20 77 68 69 63 68 20 20 69 73 n),BC which is 001270: 65 71 75 69 76 61 6C 65 6E 74 20 20 20 74 6F 20 equivalent to 001280: 20 20 74 68 65 20 20 20 20 74 77 6F 20 20 20 6E the two n 001290: 6F 6E 2D 76 61 6C 69 64 69 6E 73 74 72 75 63 74 on-validinstruct 0012A0: 69 6F 6E 73 20 4C 44 20 28 6E 6E 29 2C 43 20 61 ions LD (nn),C a 0012B0: 6E 64 20 20 4C 44 20 28 6E 6E 2B 31 29 2C 42 2E nd LD (nn+1),B. 0012C0: 20 54 68 65 72 65 20 20 20 61 72 65 20 20 6E 6F There are no 0012D0: 20 20 69 6E 73 74 72 75 63 74 69 6F 6E 73 20 20 instructions 0012E0: 74 6F 20 20 6C 6F 61 64 72 65 67 69 73 74 65 72 to loadregister 0012F0: 20 20 70 61 69 72 73 20 20 77 69 74 68 20 20 74 pairs with t 001300: 68 65 20 20 63 6F 6E 74 65 6E 74 73 20 20 6F 66 he contents of 001310: 61 6E 6F 74 68 65 72 20 72 65 67 69 73 74 65 72 another register 001320: 20 70 61 69 72 F3 6B 2E 20 20 54 77 6F 20 69 6E pair.k. Two in 001330: 73 74 72 75 63 74 69 6F 6E 73 74 68 65 20 66 6F structionsthe fo 001340: 72 6D 20 20 4C 44 20 72 2C 72 27 20 20 61 72 65 rm LD r,r' are 001350: 20 20 75 73 75 61 6C 6C 79 20 20 75 73 65 64 20 usually used 001360: 74 6F 70 65 72 66 6F 72 6D 20 73 75 63 68 20 61 toperform such a 001370: 6E 20 6F 70 65 72 61 74 69 6F 6E 2E A0 A0 20 54 n operation... T 001380: 68 65 72 65 20 20 69 73 20 20 6F 6E 65 20 20 69 here is one i 001390: 6E 73 74 72 75 63 74 69 6F 6E 20 20 73 69 6D 69 nstruction simi 0013A0: 6C 61 72 20 74 6F 74 68 69 73 20 74 79 70 65 3A lar tothis type: 0013B0: 20 20 45 58 20 44 45 2C 48 4C 2E 20 20 49 74 20 EX DE,HL. It 0013C0: 20 45 58 63 68 61 6E 67 65 73 20 74 68 65 63 6F EXchanges theco 0013D0: 6E 74 65 6E 74 73 20 6F 66 20 74 68 65 20 20 44 ntents of the D 0013E0: 45 20 20 72 65 67 69 73 74 65 72 20 20 70 61 69 E register pai 0013F0: 72 20 77 69 74 68 74 68 65 20 63 6F 6E 74 65 6E r withthe conten 001400: 74 73 20 6F 66 20 74 68 65 20 48 4C 20 72 65 67 ts of the HL reg 001410: 69 73 74 65 72 20 70 61 69 72 2E A3 20 20 53 75 ister pair.£ Su 001420: 6D 6D 61 72 79 20 2D 87 B9 20 6C 6F 61 64 69 6E mmary -.. loadin 001430: 67 20 72 65 67 69 73 74 65 72 20 70 61 69 72 73 g register pairs 001440: A0 A0 4C 44 20 64 64 2C 6E 6E 20 20 20 77 68 65 ..LD dd,nn whe 001450: 72 65 20 64 64 20 69 73 20 61 6E 79 20 72 65 67 re dd is any reg 001460: 69 73 74 65 72 20 70 61 69 72 20 20 20 20 20 20 ister pair 001470: 20 20 20 20 20 42 43 2C 20 44 45 2C 20 61 6E 64 BC, DE, and 001480: 20 48 4C 2E A0 20 20 20 20 20 20 20 20 20 20 20 HL.. 001490: 20 6E 6E 20 20 69 73 20 61 20 6E 75 6D 62 65 72 nn is a number 0014A0: 20 30 20 2D 20 36 35 35 33 35 A0 A0 4C 44 20 64 0 - 65535..LD d 0014B0: 64 2C 28 6E 6E 29 A0 A0 4C 44 20 28 6E 6E 29 2C d,(nn)..LD (nn), 0014C0: 64 64 A0 A0 45 58 20 44 45 2C 48 4C 20 20 20 20 dd..EX DE,HL 0014D0: 65 78 63 68 61 6E 67 65 73 20 72 65 67 69 73 74 exchanges regist 0014E0: 65 72 20 63 6F 6E 74 65 6E 74 73 A3 20 20 20 20 er contents£ 0014F0: 20 20 20 20 20 49 4E 44 49 52 45 43 54 20 41 44 INDIRECT AD 001500: 44 52 45 53 53 49 4E 47 A0 A0 20 55 70 20 20 20 DRESSING.. Up 001510: 74 6F 20 20 6E 6F 77 20 20 20 20 77 65 20 20 20 to now we 001520: 68 61 76 65 20 20 20 6F 6E 46 EF 6C 79 20 20 20 have onF.ly 001530: 75 73 65 64 69 6E 73 74 72 75 63 74 69 6F 6E 73 usedinstructions 001540: 20 69 6E 20 77 68 69 63 68 20 20 6D 65 6D 6F 72 in which memor 001550: 79 20 20 6C 6F 63 61 74 69 6F 6E 73 68 61 76 65 y locationshave 001560: 20 20 62 65 65 6E 20 20 73 70 65 63 69 66 69 65 been specifie 001570: 64 20 20 64 69 72 65 63 74 6C 79 20 20 69 6E 20 d directly in 001580: 20 74 68 65 69 6E 73 74 72 75 63 74 69 6F 6E 2E theinstruction. 001590: 20 41 6E 6F 74 68 65 72 20 20 75 73 65 66 75 6C Another useful 0015A0: 20 20 6D 65 74 68 6F 64 20 20 6F 66 73 70 65 63 method ofspec 0015B0: 69 66 79 69 6E 67 20 61 20 6D 65 6D 6F 72 79 20 ifying a memory 0015C0: 6C 6F 63 61 74 69 6F 6E 20 69 73 20 74 6F 20 75 location is to u 0015D0: 73 65 20 61 6E 75 6D 62 65 72 20 68 65 6C 64 20 se anumber held 0015E0: 69 6E 20 61 20 72 65 67 69 73 74 65 72 20 20 70 in a register p 0015F0: 61 69 72 2C 20 20 20 6B 6E 6F 77 6E 61 73 20 69 air, knownas i 001600: 6E 64 69 72 65 63 74 20 61 64 64 72 65 73 73 69 ndirect addressi 001610: 6E 67 2E 20 20 54 68 65 20 69 6E 73 74 72 75 63 ng. The instruc 001620: 74 69 6F 6E 4C 44 20 42 2C 28 48 C4 4A 4C 29 20 tionLD B,(H.JL) 001630: 66 6F 72 20 65 78 61 6D 70 6C 65 20 20 61 6C 6C for example all 001640: 6F 77 73 20 75 73 20 74 6F 20 6C 6F 61 64 6F 72 ows us to loador 001650: 20 63 6F 70 79 20 74 6F 20 74 68 65 20 20 42 20 copy to the B 001660: 20 72 65 67 69 73 74 65 72 20 74 68 65 20 63 6F register the co 001670: 6E 74 65 6E 74 73 6F 66 20 74 68 65 20 6D 65 6D ntentsof the mem 001680: 6F 72 79 20 6C 6F 63 61 74 69 6F 6E 20 77 68 6F ory location who 001690: 73 65 20 20 61 64 64 72 65 73 73 20 69 73 69 6E se address isin 0016A0: 20 74 68 65 20 48 4C 20 72 65 67 69 73 74 65 72 the HL register 0016B0: 20 70 61 69 72 2E A0 A0 20 41 6C 6C 20 20 73 69 pair... All si 0016C0: 6E 67 6C 65 20 20 72 65 67 69 73 74 65 72 73 20 ngle registers 0016D0: 20 63 61 6E 20 20 62 65 20 20 6C 6F 61 64 65 64 can be loaded 0016E0: 75 73 69 6E 67 20 74 68 65 20 48 4C 20 72 65 67 using the HL reg 0016F0: 69 73 74 65 72 20 70 61 69 72 20 61 73 20 61 20 ister pair as a 001700: 70 6F 69 6E 74 65 72 2E A0 20 53 69 6D 69 6C 61 pointer.. Simila 001710: 72 6C 79 20 2C 20 20 6D 65 6D 6F 72 79 20 20 6C rly , memory l 001720: 6F 63 61 74 69 6F 6E 73 20 20 63 61 6E 45 1B 20 ocations canE. 001730: 20 62 65 6C 6F 61 64 65 64 20 20 20 69 6E 64 69 beloaded indi 001740: 72 65 63 74 6C 79 20 20 66 72 6F 6D 20 20 20 61 rectly from a 001750: 6E 79 20 20 20 73 69 6E 67 6C 65 72 65 67 69 73 ny singleregis 001760: 74 65 72 20 75 73 69 6E 67 20 74 68 65 20 63 6F ter using the co 001770: 6E 74 65 6E 74 73 20 20 6F 66 20 20 74 68 65 20 ntents of the 001780: 20 48 4C 72 65 67 69 73 74 65 72 20 70 61 69 72 HLregister pair 001790: 20 61 73 20 61 64 64 72 65 73 73 20 69 2E 65 2E as address i.e. 0017A0: 20 4C 44 20 28 48 4C 29 2C 43 2E A3 20 55 73 65 LD (HL),C.£ Use 0017B0: 20 6F 66 20 20 74 68 65 20 20 42 43 20 20 61 6E of the BC an 0017C0: 64 20 20 44 45 20 20 72 65 67 69 73 74 65 72 73 d DE registers 0017D0: 20 66 6F 72 69 6E 64 69 72 65 63 74 20 61 64 64 forindirect add 0017E0: 72 65 73 73 69 6E 67 20 69 73 20 6C 69 6D 69 74 ressing is limit 0017F0: 65 64 20 74 6F 20 74 68 65 20 20 41 72 65 67 69 ed to the Aregi 001800: 73 74 65 72 2E 20 69 2E 65 2E 20 4C 44 20 28 44 ster. i.e. LD (D 001810: 45 29 2C 41 20 3B 4C 44 20 41 2C 28 42 43 29 20 E),A ;LD A,(BC) 001820: 65 74 63 2E A3 20 20 20 53 75 6D 6D 61 72 79 13 etc.£ Summary. 001830: 62 20 2D 20 20 69 6E 64 69 72 65 63 74 20 61 64 b - indirect ad 001840: 64 72 65 73 73 69 6E 67 A0 A0 4C 44 20 72 2C 28 dressing..LD r,( 001850: 48 4C 29 20 77 68 65 72 65 20 72 20 69 73 20 61 HL) where r is a 001860: 6E 79 20 73 69 6E 67 6C 65 20 72 65 67 69 73 74 ny single regist 001870: 65 72 20 20 20 20 20 20 20 20 20 20 41 2C 42 2C er A,B, 001880: 43 2C 44 2C 45 2C 48 2C 20 6F 72 20 4C 2E A0 4C C,D,E,H, or L..L 001890: 44 20 28 48 4C 29 2C 72 A0 A0 4C 44 20 41 2C 28 D (HL),r..LD A,( 0018A0: 42 43 29 A0 4C 44 20 41 2C 28 44 45 29 A0 4C 44 BC).LD A,(DE).LD 0018B0: 20 28 42 43 29 2C 41 A0 4C 44 20 28 44 45 29 2C (BC),A.LD (DE), 0018C0: 41 A3 20 20 20 20 20 20 41 44 44 49 54 49 4F 4E A£ ADDITION 0018D0: 53 20 41 4E 44 20 54 48 45 20 43 41 52 52 59 20 S AND THE CARRY 0018E0: 46 4C 41 47 A0 A0 20 42 6F 74 68 20 73 69 6E 67 FLAG.. Both sing 0018F0: 6C 65 20 20 72 65 67 69 73 74 65 72 20 61 6E 64 le register and 001900: 20 72 65 67 69 73 74 65 72 20 70 61 69 72 61 64 register pairad 001910: 64 69 74 69 6F 6E 20 61 72 65 20 70 6F 73 73 69 dition are possi 001920: 62 6C 65 20 6F 6E 20 74 68 65 20 5A 38 30 2E A0 ble on the Z80.. 001930: A0 16 A8 20 41 6C 6C 20 20 20 73 69 6E 67 6C 65 ... All single 001940: 20 20 20 72 65 67 69 73 74 65 72 20 20 61 64 64 register add 001950: 69 74 69 6F 6E 73 20 20 61 72 65 70 65 72 66 6F itions areperfo 001960: 72 6D 65 64 20 77 69 74 68 20 74 68 65 20 41 63 rmed with the Ac 001970: 63 75 6D 75 6C 61 74 6F 72 2E 20 41 20 6E 75 6D cumulator. A num 001980: 62 65 72 28 20 69 2E 65 2E 20 20 41 44 44 20 41 ber( i.e. ADD A 001990: 2C 36 20 29 2C 20 20 74 68 65 20 20 63 6F 6E 74 ,6 ), the cont 0019A0: 65 6E 74 73 20 20 6F 66 20 20 61 72 65 67 69 73 ents of aregis 0019B0: 74 65 72 20 28 69 2E 65 2E 20 41 44 44 20 41 2C ter (i.e. ADD A, 0019C0: 42 29 2C 20 6F 72 20 74 68 65 20 63 6F 6E 74 65 B), or the conte 0019D0: 6E 74 73 6F 66 20 20 61 6E 20 20 20 69 6E 64 69 ntsof an indi 0019E0: 72 65 63 74 6C 79 20 20 20 61 64 64 72 65 73 73 rectly address 0019F0: 65 64 20 20 20 6D 65 6D 6F 72 79 6C 6F 63 61 74 ed memorylocat 001A00: 69 6F 6E 20 20 75 73 69 6E 67 20 20 74 68 65 20 ion using the 001A10: 20 48 4C 20 20 72 65 67 69 73 74 65 72 20 20 70 HL register p 001A20: 61 69 72 28 69 2E 65 2E 20 41 44 44 20 41 2C 28 air(i.e. ADD A,( 001A30: 48 4C 29 06 1D 20 29 20 63 61 6E 20 62 65 20 61 HL).. ) can be a 001A40: 64 64 65 64 20 20 74 6F 20 20 74 68 65 41 63 63 dded to theAcc 001A50: 75 6D 75 6C 61 74 6F 72 2E 20 54 68 65 20 72 65 umulator. The re 001A60: 73 75 6C 74 20 20 69 73 20 20 68 65 6C 64 20 69 sult is held i 001A70: 6E 20 74 68 65 41 63 63 75 6D 75 6C 61 74 6F 72 n theAccumulator 001A80: 2E 20 20 54 68 65 20 73 6F 75 72 63 65 20 6F 66 . The source of 001A90: 20 74 68 65 20 61 64 64 69 74 69 6F 6E 69 73 20 the additionis 001AA0: 75 6E 61 66 66 65 63 74 65 64 2E A0 A0 20 52 65 unaffected... Re 001AB0: 67 69 73 74 65 72 20 20 70 61 69 72 20 61 64 64 gister pair add 001AC0: 69 74 69 6F 6E 20 69 73 20 70 65 72 66 6F 72 6D ition is perform 001AD0: 65 64 20 69 6E 63 6F 6E 6A 75 6E 63 74 69 6F 6E ed inconjunction 001AE0: 20 20 77 69 74 68 20 20 74 68 65 20 48 4C 20 72 with the HL r 001AF0: 65 67 69 73 74 65 72 20 70 61 69 72 2C 61 6E 64 egister pair,and 001B00: 20 20 63 61 6E 20 20 6F 6E 6C 79 20 20 69 6E 76 can only inv 001B10: 6F 6C 76 65 20 20 42 43 20 6F 72 20 44 45 20 28 olve BC or DE ( 001B20: 20 69 2E 65 2E 41 44 44 20 48 4C 2C 42 43 20 20 i.e.ADD HL,BC 001B30: 6F 72 20 20 41 1C 87 44 44 20 48 4C 2C 44 45 20 or A..DD HL,DE 001B40: 29 2E 20 20 20 41 67 61 69 6E 20 20 74 68 65 74 ). Again thet 001B50: 68 65 20 20 72 65 73 75 6C 74 20 69 73 20 68 65 he result is he 001B60: 6C 64 20 69 6E 20 20 74 68 65 20 20 48 4C 20 72 ld in the HL r 001B70: 65 67 69 73 74 65 72 70 61 69 72 2C 20 20 61 6E egisterpair, an 001B80: 64 20 20 74 68 65 20 6F 74 68 65 72 20 20 72 65 d the other re 001B90: 67 69 73 74 65 72 20 20 70 61 69 72 20 69 73 75 gister pair isu 001BA0: 6E 61 66 66 65 63 74 65 64 2E A3 20 53 69 6E 67 naffected.£ Sing 001BB0: 6C 65 20 20 61 6E 64 20 20 64 6F 75 62 6C 65 20 le and double 001BC0: 20 72 65 67 69 73 74 65 72 20 61 64 64 69 74 69 register additi 001BD0: 6F 6E 73 77 69 6C 6C 20 20 6F 62 76 69 6F 75 73 onswill obvious 001BE0: 6C 79 20 20 6F 6E 6C 79 20 20 67 69 76 65 20 20 ly only give 001BF0: 74 68 65 20 63 6F 72 72 65 63 74 72 65 73 75 6C the correctresul 001C00: 74 20 20 69 66 20 20 74 68 65 20 20 61 6E 73 77 t if the answ 001C10: 65 72 20 69 73 20 6C 65 73 73 20 74 68 61 6E 20 er is less than 001C20: 74 68 65 6D 61 78 69 6D 75 6D 20 6E 75 6D 62 65 themaximum numbe 001C30: 72 20 74 68 65 20 72 09 57 65 67 69 73 74 65 72 r the r.Wegister 001C40: 28 73 29 20 63 61 6E 20 68 6F 6C 64 2E 49 66 20 (s) can hold.If 001C50: 69 74 20 69 73 20 67 72 65 61 74 65 72 20 74 68 it is greater th 001C60: 61 6E 20 74 68 69 73 20 20 61 20 20 63 61 72 72 an this a carr 001C70: 79 20 20 69 73 67 65 6E 65 72 61 74 65 64 2E 20 y isgenerated. 001C80: 20 54 68 65 20 70 72 6F 63 65 73 73 6F 72 20 20 The processor 001C90: 20 68 6F 6C 64 73 20 20 20 74 68 69 73 73 69 6E holds thissin 001CA0: 67 6C 65 20 20 62 69 74 20 20 6F 66 20 20 69 6E gle bit of in 001CB0: 66 6F 72 6D 61 74 69 6F 6E 20 6F 72 20 66 6C 61 formation or fla 001CC0: 67 2C 20 73 6F 74 68 61 74 20 20 61 63 74 69 6F g, sothat actio 001CD0: 6E 20 20 20 63 61 6E 20 20 62 65 20 20 74 61 6B n can be tak 001CE0: 65 6E 20 20 6F 76 65 72 20 20 74 68 65 6F 63 63 en over theocc 001CF0: 75 72 72 65 6E 63 65 20 6F 66 20 74 68 65 20 63 urrence of the c 001D00: 61 72 72 79 2E 20 20 20 49 66 20 74 68 65 72 65 arry. If there 001D10: 20 20 68 61 73 62 65 65 6E 20 20 61 20 20 63 61 hasbeen a ca 001D20: 72 72 79 20 20 6F 6E 20 20 74 68 65 20 20 6C 61 rry on the la 001D30: 73 74 20 61 72 69 74 68 6D 1E 0E 65 74 69 63 6F st arithm..etico 001D40: 70 65 72 61 74 69 6F 6E 20 74 68 65 20 63 61 72 peration the car 001D50: 72 79 20 69 73 20 73 61 69 64 20 74 6F 20 62 65 ry is said to be 001D60: 20 73 65 74 20 74 6F 61 20 20 22 31 22 20 2E 20 set toa "1" . 001D70: 20 49 66 20 6E 6F 74 20 73 65 74 20 20 69 74 20 If not set it 001D80: 69 73 20 73 61 69 64 20 74 6F 20 62 65 20 61 22 is said to be a" 001D90: 30 22 2E A0 A0 20 41 20 73 65 63 6F 6E 64 20 66 0"... A second f 001DA0: 6F 72 6D 20 6F 66 20 61 64 64 69 74 69 6F 6E 20 orm of addition 001DB0: 69 73 20 20 61 76 61 69 6C 61 62 6C 65 6F 6E 20 is availableon 001DC0: 20 74 68 65 20 20 5A 38 30 20 2C 20 20 20 66 6F the Z80 , fo 001DD0: 72 20 20 20 62 6F 74 68 20 20 73 69 6E 67 6C 65 r both single 001DE0: 20 20 61 6E 64 6D 75 6C 74 69 70 6C 65 20 72 65 andmultiple re 001DF0: 67 69 73 74 65 72 73 2C 20 20 6B 6E 6F 77 6E 20 gisters, known 001E00: 20 61 73 20 20 61 64 64 20 77 69 74 68 63 61 72 as add withcar 001E10: 72 79 3B 20 20 61 62 62 72 65 76 69 61 74 65 64 ry; abbreviated 001E20: 20 20 74 6F 20 20 41 44 43 2E 20 20 20 54 68 65 to ADC. The 001E30: 79 20 61 72 65 73 69 6D 69 6C 61 BC 0A 72 20 74 y aresimila..r t 001E40: 6F 20 41 44 44 20 20 65 78 63 65 70 74 20 74 68 o ADD except th 001E50: 61 74 20 69 66 20 74 68 65 20 43 61 72 72 79 66 at if the Carryf 001E60: 6C 61 67 20 20 69 73 20 20 73 65 74 20 20 62 65 lag is set be 001E70: 66 6F 72 65 20 20 74 68 65 20 20 61 64 64 69 74 fore the addit 001E80: 69 6F 6E 20 74 68 65 72 65 73 75 6C 74 20 69 73 ion theresult is 001E90: 20 20 69 6E 63 72 65 6D 65 6E 74 65 64 20 20 20 incremented 001EA0: 62 79 20 20 20 6F 6E 65 2E 20 20 20 41 6C 6C 70 by one. Allp 001EB0: 72 65 76 69 6F 75 73 6C 79 20 6D 65 6E 74 69 6F reviously mentio 001EC0: 6E 65 64 20 20 20 41 44 44 20 20 69 6E 73 74 72 ned ADD instr 001ED0: 75 63 74 69 6F 6E 73 63 61 6E 20 62 65 20 70 65 uctionscan be pe 001EE0: 72 66 6F 72 6D 65 64 20 61 73 20 41 44 43 2E A3 rformed as ADC.£ 001EF0: 20 41 44 43 20 69 6E 73 74 72 75 63 74 69 6F 6E ADC instruction 001F00: 73 20 63 61 6E 20 62 65 20 73 74 72 75 6E 67 20 s can be strung 001F10: 74 6F 67 65 74 68 65 72 74 6F 20 70 65 72 66 6F togetherto perfo 001F20: 72 6D 20 20 74 68 65 20 20 61 64 64 69 74 69 6F rm the additio 001F30: 6E 20 6F 66 20 74 77 6F 20 6E 75 6D 62 B0 D5 65 n of two numb..e 001F40: 72 73 6F 66 20 61 6E 79 20 20 6C 65 6E 67 74 68 rsof any length 001F50: 2C 20 20 61 73 20 20 74 68 65 20 20 65 78 61 6D , as the exam 001F60: 70 6C 65 73 20 20 77 69 6C 6C 73 68 6F 77 2E A3 ples willshow.£ 001F70: 20 20 20 53 75 6D 6D 61 72 79 20 2D 20 20 61 64 Summary - ad 001F80: 64 69 74 69 6F 6E A0 A0 41 44 44 20 41 2C 6E 20 dition..ADD A,n 001F90: 20 20 20 77 68 65 72 65 20 6E 20 69 73 20 61 20 where n is a 001FA0: 6E 75 6D 62 65 72 20 30 20 2D 20 32 35 35 A0 A0 number 0 - 255.. 001FB0: 41 44 44 20 41 2C 72 20 20 20 20 77 68 65 72 65 ADD A,r where 001FC0: 20 20 72 20 20 69 73 20 20 61 6E 79 20 20 20 73 r is any s 001FD0: 69 6E 67 6C 65 A0 20 20 20 20 20 20 20 20 20 20 ingle. 001FE0: 20 72 65 67 69 73 74 65 72 A0 41 44 44 20 41 2C register.ADD A, 001FF0: 28 48 4C 29 A0 A0 41 44 44 20 48 4C 2C 42 43 A0 (HL)..ADD HL,BC. 002000: 41 44 44 20 48 4C 2C 44 45 A0 A0 A0 41 44 43 20 ADD HL,DE...ADC 002010: 41 2C 6E A0 A0 41 44 43 20 41 2C 72 A0 A0 41 44 A,n..ADC A,r..AD 002020: 43 20 41 2C 28 48 4C 29 A0 A0 41 44 43 20 48 4C C A,(HL)..ADC HL 002030: 2C 42 43 A0 41 44 43 20 48 4C 2C 44 45 A3 20 D2 ,BC.ADC HL,DE£ . 002040: AE 20 20 20 53 55 42 54 52 41 43 54 49 4F 4E 20 . SUBTRACTION 002050: 41 4E 44 20 54 48 45 20 43 41 52 52 59 20 46 4C AND THE CARRY FL 002060: 41 47 A0 A0 20 53 69 6E 67 6C 65 20 72 65 67 69 AG.. Single regi 002070: 73 74 65 72 20 73 75 62 74 72 61 63 74 69 6F 6E ster subtraction 002080: 20 74 61 6B 65 73 20 70 6C 61 63 65 77 69 74 68 takes placewith 002090: 20 74 68 65 20 41 63 63 75 6D 75 6C 61 74 6F 72 the Accumulator 0020A0: 2E 20 20 41 6C 6C 20 20 74 68 65 20 66 6F 72 6D . All the form 0020B0: 73 20 6F 66 41 44 44 20 20 63 61 6E 20 20 62 65 s ofADD can be 0020C0: 20 20 20 75 73 65 64 20 20 69 6E 20 20 20 73 75 used in su 0020D0: 62 74 72 61 63 74 2E 20 20 54 68 65 61 62 62 72 btract. Theabbr 0020E0: 65 76 69 61 74 69 6F 6E 20 20 6F 72 20 20 6D 6E eviation or mn 0020F0: 65 6D 6F 6E 69 63 20 53 55 42 20 69 73 20 61 6C emonic SUB is al 002100: 77 61 79 73 77 72 69 74 74 65 6E 20 77 69 74 68 wayswritten with 002110: 6F 75 74 20 74 68 65 20 41 2C 20 77 68 69 63 68 out the A, which 002120: 20 69 73 20 69 6D 70 6C 69 65 64 2E 48 65 6E 63 is implied.Henc 002130: 65 20 74 68 65 20 69 6E 73 74 72 75 63 74 69 6F e the instructio 002140: 6E FE 61 73 20 61 72 65 20 53 55 42 20 6E 2C 20 n.as are SUB n, 002150: 53 55 42 20 72 2C 61 6E 64 20 53 55 42 20 28 48 SUB r,and SUB (H 002160: 4C 29 2E 20 20 20 41 67 61 69 6E 20 74 68 65 20 L). Again the 002170: 72 65 73 75 6C 74 20 69 73 20 68 65 6C 64 69 6E result is heldin 002180: 20 74 68 65 20 41 63 63 75 6D 75 6C 61 74 6F 72 the Accumulator 002190: 2E 20 20 20 54 68 65 20 20 63 61 72 72 79 20 66 . The carry f 0021A0: 6C 61 67 20 69 73 73 65 74 20 74 6F 20 61 20 22 lag isset to a " 0021B0: 31 22 20 20 69 66 20 74 68 65 20 20 72 65 73 75 1" if the resu 0021C0: 6C 74 20 69 73 20 20 6F 75 74 73 69 64 65 74 68 lt is outsideth 0021D0: 65 20 72 61 6E 67 65 20 20 30 20 2D 20 32 35 35 e range 0 - 255 0021E0: 2E A0 A0 54 68 65 72 65 20 20 61 72 65 20 20 20 ...There are 0021F0: 6E 6F 20 20 64 6F 75 62 6C 65 20 20 20 72 65 67 no double reg 002200: 69 73 74 65 72 20 20 20 53 55 42 69 6E 73 74 72 ister SUBinstr 002210: 75 63 74 69 6F 6E 73 2E A0 A0 41 6C 6C 20 20 63 uctions...All c 002220: 6F 6E 66 69 67 75 72 61 74 69 6F 6E 73 20 6F 66 onfigurations of 002230: 20 20 41 44 43 20 69 6E 73 74 72 75 63 74 69 6F ADC instructio 002240: 6E 73 63 B4 83 61 6E 20 62 65 20 75 73 65 64 20 nsc..an be used 002250: 20 77 69 74 68 20 53 42 43 20 6F 72 20 20 53 75 with SBC or Su 002260: 42 74 72 61 63 74 20 20 77 69 74 68 43 61 72 72 Btract withCarr 002270: 79 20 20 69 6E 73 74 72 75 63 74 69 6F 6E 73 2E y instructions. 002280: 20 20 54 68 65 20 6F 70 65 72 61 74 69 6F 6E 20 The operation 002290: 20 20 69 73 73 69 6D 69 6C 61 72 20 74 6F 20 53 issimilar to S 0022A0: 55 42 2C 20 20 65 78 63 65 70 74 20 74 68 61 74 UB, except that 0022B0: 20 74 68 65 20 20 72 65 73 75 6C 74 69 73 20 64 the resultis d 0022C0: 65 63 72 65 6D 65 6E 74 65 64 20 20 62 79 20 6F ecremented by o 0022D0: 6E 65 20 69 66 20 74 68 65 20 63 61 72 72 79 20 ne if the carry 0022E0: 66 6C 61 67 69 73 20 73 65 74 2E A3 20 4C 69 6B flagis set.£ Lik 0022F0: 65 20 20 41 44 43 20 69 6E 73 74 72 75 63 74 69 e ADC instructi 002300: 6F 6E 73 20 53 42 43 20 69 6E 73 74 72 75 63 74 ons SBC instruct 002310: 69 6F 6E 73 63 61 6E 20 62 65 20 20 73 74 72 75 ionscan be stru 002320: 6E 67 20 74 6F 67 65 74 68 65 72 20 74 6F 20 20 ng together to 002330: 73 75 62 74 72 61 63 74 20 61 6E 79 6C 65 6E 67 subtract anyleng 002340: 74 68 20 6E 75 17 A2 6D 62 65 72 2E A0 A0 20 53 th nu..mber... S 002350: 69 6E 63 65 20 20 64 6F 75 62 6C 65 20 72 65 67 ince double reg 002360: 69 73 74 65 72 20 20 73 75 62 74 72 61 63 74 69 ister subtracti 002370: 6F 6E 20 63 61 6E 6F 6E 6C 79 20 62 65 20 70 65 on canonly be pe 002380: 72 66 6F 72 6D 65 64 20 77 69 74 68 20 63 61 72 rformed with car 002390: 72 79 2C 20 20 74 68 65 20 73 74 61 74 65 6F 66 ry, the stateof 0023A0: 20 74 68 65 20 20 63 61 72 72 79 20 66 6C 61 67 the carry flag 0023B0: 20 20 70 72 69 6F 72 20 74 6F 20 20 53 42 43 20 prior to SBC 0023C0: 48 4C 2C 42 43 2C 61 6E 64 20 53 42 43 20 48 4C HL,BC,and SBC HL 0023D0: 2C 44 45 20 69 73 20 69 6D 70 6F 72 74 61 6E 74 ,DE is important 0023E0: 2C 20 20 61 6E 64 20 20 73 68 6F 75 6C 64 62 65 , and shouldbe 0023F0: 20 22 30 22 2E A0 20 54 68 65 20 63 61 72 72 79 "0".. The carry 002400: 20 66 6C 61 67 20 63 61 6E 20 62 65 20 73 65 74 flag can be set 002410: 20 74 6F 20 61 20 22 31 22 20 77 69 74 68 74 68 to a "1" withth 002420: 65 20 69 6E 73 74 72 75 63 74 69 6F 6E 20 20 53 e instruction S 002430: 43 46 20 6F 72 20 53 65 74 20 43 61 72 72 79 20 CF or Set Carry 002440: 20 46 6C 61 67 2E 41 97 1B 6C 74 68 6F 75 67 68 Flag.A..lthough 002450: 20 20 20 74 68 65 72 65 20 20 20 61 72 65 20 20 there are 002460: 20 20 6E 6F 20 20 20 20 73 70 65 63 69 66 69 63 no specific 002470: 69 6E 73 74 72 75 63 74 69 6F 6E 73 20 20 74 6F instructions to 002480: 20 63 6C 65 61 72 20 74 68 65 20 63 61 72 72 79 clear the carry 002490: 20 66 6C 61 67 20 74 6F 22 30 22 20 74 68 65 72 flag to"0" ther 0024A0: 65 20 69 73 20 61 6E 20 69 6E 73 74 72 75 63 74 e is an instruct 0024B0: 69 6F 6E 20 74 6F 20 69 6E 76 65 72 74 20 69 74 ion to invert it 0024C0: 43 43 46 20 6F 72 20 20 43 6F 6D 70 6C 69 6D 65 CCF or Complime 0024D0: 6E 74 20 43 61 72 72 79 20 46 6C 61 67 2E 20 20 nt Carry Flag. 0024E0: 57 65 20 73 68 61 6C 6C 73 65 65 20 6C 61 74 65 We shallsee late 0024F0: 72 20 74 68 61 74 20 61 6C 6C 20 6C 6F 67 69 63 r that all logic 002500: 20 69 6E 73 74 72 75 63 74 69 6F 6E 73 20 64 6F instructions do 002510: 63 6C 65 61 72 20 74 68 65 20 63 61 72 72 79 20 clear the carry 002520: 66 6C 61 67 2E A3 20 53 55 4D 4D 41 52 59 20 2D flag.£ SUMMARY - 002530: 20 73 75 62 74 72 61 63 74 20 77 69 74 68 20 63 subtract with c 002540: 61 72 72 79 A0 A0 53 55 42 76 04 20 6E 20 20 20 arry..SUBv. n 002550: 20 20 29 A0 53 55 42 20 72 20 20 20 20 20 29 20 ).SUB r ) 002560: 20 53 55 42 74 72 61 63 74 20 66 72 6F 6D 20 41 SUBtract from A 002570: 2C 20 6E 2C 20 72 2C 20 6F 72 A0 53 55 42 20 28 , n, r, or.SUB ( 002580: 48 4C 29 20 20 29 20 20 20 20 20 20 20 20 20 20 HL) ) 002590: 20 20 20 20 20 20 20 20 28 48 4C 29 A0 A0 53 42 (HL)..SB 0025A0: 43 20 41 2C 6E 20 20 20 29 A0 53 42 43 20 41 2C C A,n ).SBC A, 0025B0: 72 20 20 20 29 20 20 53 75 42 74 72 61 63 74 20 r ) SuBtract 0025C0: 66 72 6F 6D 20 41 20 20 77 69 74 68 20 63 61 72 from A with car 0025D0: 72 79 53 42 43 20 41 2C 28 48 4C 29 29 A0 A0 53 rySBC A,(HL))..S 0025E0: 42 43 20 48 4C 2C 42 43 20 29 20 20 53 75 42 74 BC HL,BC ) SuBt 0025F0: 72 61 63 74 20 66 72 6F 6D 20 48 4C 20 77 69 74 ract from HL wit 002600: 68 20 63 61 72 72 79 53 42 43 20 48 4C 2C 44 45 h carrySBC HL,DE 002610: 20 29 A0 A0 53 43 46 20 20 20 20 20 20 20 20 53 )..SCF S 002620: 65 74 20 43 61 72 72 79 20 46 6C 61 67 A0 43 43 et Carry Flag.CC 002630: 46 20 20 20 20 20 20 20 20 43 6F 6D 70 6C 69 6D F Complim 002640: 65 6E 74 20 43 61 72 72 79 20 46 1B 91 6C 61 67 ent Carry F..lag 002650: A3 20 20 49 4E 43 52 45 4D 45 4E 54 20 41 4E 44 £ INCREMENT AND 002660: 20 44 45 43 52 45 4D 45 4E 54 20 49 4E 53 54 52 DECREMENT INSTR 002670: 55 43 54 49 4F 4E 53 A0 A0 20 54 68 65 20 6C 61 UCTIONS.. The la 002680: 73 74 20 61 72 69 74 68 6D 65 74 69 63 20 69 6E st arithmetic in 002690: 73 74 72 75 63 74 69 6F 6E 73 20 74 6F 20 20 62 structions to b 0026A0: 65 64 69 73 63 75 73 73 65 64 20 63 61 6E 20 62 ediscussed can b 0026B0: 65 20 70 65 72 66 6F 72 6D 65 64 20 6F 6E 20 61 e performed on a 0026C0: 6E 79 20 73 69 6E 67 6C 65 6F 72 20 64 6F 75 62 ny singleor doub 0026D0: 6C 65 20 72 65 67 69 73 74 65 72 28 73 29 2E 20 le register(s). 0026E0: 54 68 65 73 65 20 61 72 65 20 49 4E 43 20 61 6E These are INC an 0026F0: 64 44 45 43 2E 20 20 49 4E 43 20 69 6E 63 72 65 dDEC. INC incre 002700: 6D 65 6E 74 73 20 28 6F 72 20 20 69 6E 63 72 65 ments (or incre 002710: 61 73 65 73 29 20 74 68 65 63 6F 6E 74 65 6E 74 ases) thecontent 002720: 73 20 20 6F 66 20 20 74 68 65 20 20 72 65 67 69 s of the regi 002730: 73 74 65 72 2C 20 20 6F 72 20 20 6D 65 6D 6F 72 ster, or memor 002740: 79 6C 6F 63 61 74 69 6F 6E 20 69 6E 64 85 87 69 ylocation ind..i 002750: 72 65 63 74 6C 79 20 20 61 64 64 72 65 73 73 65 rectly addresse 002760: 64 20 62 79 20 74 68 65 20 48 4C 72 65 67 69 73 d by the HLregis 002770: 74 65 72 20 70 61 69 72 2C 20 20 62 79 20 6F 6E ter pair, by on 002780: 65 2E 20 20 20 44 45 43 20 64 65 63 72 65 6D 65 e. DEC decreme 002790: 6E 74 73 28 20 6F 72 20 20 64 65 63 72 65 61 73 nts( or decreas 0027A0: 65 73 20 29 20 20 74 68 65 20 20 63 6F 6E 74 65 es ) the conte 0027B0: 6E 74 73 20 20 6F 66 20 74 68 65 72 65 67 69 73 nts of theregis 0027C0: 74 65 72 20 6F 72 20 20 6D 65 6D 6F 72 79 20 20 ter or memory 0027D0: 6C 6F 63 61 74 69 6F 6E 20 69 6E 64 69 72 65 63 location indirec 0027E0: 74 6C 79 61 64 64 72 65 73 73 65 64 20 62 79 20 tlyaddressed by 0027F0: 74 68 65 20 20 48 4C 20 72 65 67 69 73 74 65 72 the HL register 002800: 20 20 70 61 69 72 2C 20 20 62 79 20 54 68 65 20 pair, by The 002810: 20 63 61 72 72 79 20 20 66 6C 61 67 20 20 69 73 carry flag is 002820: 20 20 6E 6F 74 20 20 61 66 66 65 63 74 65 64 20 not affected 002830: 20 62 79 65 69 74 68 65 72 20 6F 66 20 74 68 65 byeither of the 002840: 73 65 20 69 6E 73 74 72 75 63 74 69 6F 6E 73 8B se instructions. 002850: 0B 2E A0 A0 20 54 68 65 73 65 20 69 6E 73 74 72 .... These instr 002860: 75 63 74 69 6F 6E 73 20 20 61 72 65 20 20 70 72 uctions are pr 002870: 69 6D 61 72 69 6C 79 20 75 73 65 64 77 68 65 72 imarily usedwher 002880: 65 20 20 20 63 6F 75 6E 74 65 72 73 20 20 20 61 e counters a 002890: 72 65 20 20 20 72 65 71 75 69 72 65 64 2E 20 20 re required. 0028A0: 20 54 68 65 6F 70 65 72 61 74 69 6F 6E 20 20 6F Theoperation o 0028B0: 6E 20 20 72 65 67 69 73 74 65 72 20 20 70 61 69 n register pai 0028C0: 72 73 20 20 69 73 20 20 61 6C 73 6F 75 73 65 66 rs is alsousef 0028D0: 75 6C 20 20 69 6E 20 20 20 73 65 71 75 65 6E 74 ul in sequent 0028E0: 69 61 6C 20 20 6F 70 65 72 61 74 69 6F 6E 73 20 ial operations 0028F0: 20 20 6F 6E 6D 65 6D 6F 72 79 20 20 20 6C 6F 63 onmemory loc 002900: 61 74 69 6F 6E 73 20 20 75 74 69 6C 69 73 69 6E ations utilisin 002910: 67 20 20 20 69 6E 64 69 72 65 63 74 61 64 64 72 g indirectaddr 002920: 65 73 73 69 6E 67 2E A3 20 53 75 6D 6D 61 72 79 essing.£ Summary 002930: 20 2D 20 69 6E 63 72 65 6D 65 6E 74 20 61 6E 64 - increment and 002940: 20 64 65 63 72 65 6D 65 6E 74 A0 A0 49 4E 43 20 decrement..INC 002950: 72 FD EF A0 49 4E 43 20 28 48 4C 29 A0 49 4E 43 r...INC (HL).INC 002960: 20 64 64 A0 A0 44 45 43 20 72 A0 44 45 43 20 28 dd..DEC r.DEC ( 002970: 48 4C 29 A0 44 45 43 20 64 64 A3 20 20 20 20 20 HL).DEC dd£ 002980: 20 20 20 20 20 20 54 48 45 20 5A 45 52 4F 20 46 THE ZERO F 002990: 4C 41 47 A0 A0 20 41 6E 6F 74 68 65 72 20 20 76 LAG.. Another v 0029A0: 65 72 79 20 20 75 73 65 66 75 6C 20 20 66 6C 61 ery useful fla 0029B0: 67 20 69 6E 63 6C 75 64 65 64 20 69 6E 61 6C 6C g included inall 0029C0: 20 20 70 72 6F 63 65 73 73 6F 72 73 20 69 73 20 processors is 0029D0: 20 74 68 65 20 5A 65 72 6F 20 66 6C 61 67 2E 20 the Zero flag. 0029E0: 20 54 68 69 73 66 6C 61 67 20 69 73 20 73 65 74 Thisflag is set 0029F0: 20 74 6F 20 22 31 22 20 20 69 66 20 74 68 65 20 to "1" if the 002A00: 72 65 73 75 6C 74 20 6F 66 20 61 6E 79 73 69 6E result of anysin 002A10: 67 6C 65 20 72 65 67 69 73 74 65 72 20 61 72 69 gle register ari 002A20: 74 68 6D 65 74 69 63 20 6F 70 65 72 61 74 69 6F thmetic operatio 002A30: 6E 20 20 69 73 7A 65 72 6F 2E 20 4F 74 68 65 72 n iszero. Other 002A40: 77 69 73 65 20 69 74 20 69 73 20 63 6C 65 61 72 wise it is clear 002A50: 65 64 20 6E 3A 74 6F 20 22 30 22 2E A0 A0 20 49 ed n:to "0"... I 002A60: 74 20 69 73 20 20 6F 6E 6C 79 20 61 66 66 65 63 t is only affec 002A70: 74 65 64 20 62 79 20 64 6F 75 62 6C 65 20 72 65 ted by double re 002A80: 67 69 73 74 65 72 61 72 69 74 68 6D 65 74 69 63 gisterarithmetic 002A90: 20 20 20 6F 70 65 72 61 74 69 6F 6E 73 20 20 20 operations 002AA0: 69 6E 76 6F 6C 76 69 6E 67 20 20 74 68 65 63 61 involving theca 002AB0: 72 72 79 20 20 66 6C 61 67 20 2C 20 20 20 69 2E rry flag , i. 002AC0: 65 2E 20 20 6F 6E 6C 79 20 20 61 66 66 65 63 74 e. only affect 002AD0: 65 64 20 20 62 79 41 44 43 20 48 4C 2C 64 64 20 ed byADC HL,dd 002AE0: 20 6F 72 20 20 53 42 43 20 48 4C 2C 64 64 2E A0 or SBC HL,dd.. 002AF0: A0 20 54 68 65 20 20 7A 65 72 6F 20 66 6C 61 67 . The zero flag 002B00: 2C 20 6C 69 6B 65 20 74 68 65 20 63 61 72 72 79 , like the carry 002B10: 20 66 6C 61 67 2C 20 69 73 75 6E 61 66 66 65 63 flag, isunaffec 002B20: 74 65 64 20 62 79 20 61 6E 79 20 4C 44 20 6F 72 ted by any LD or 002B30: 20 45 58 20 69 6E 73 74 72 75 63 74 69 6F 6E 73 EX instructions 002B40: 2E A3 20 53 75 6D 6D 61 72 79 20 2D 20 7A 65 72 .£ Summary - zer 002B50: 6F 20 61 6E 64 45 C9 20 63 61 72 72 79 20 66 6C o andE. carry fl 002B60: 61 67 73 A0 A0 69 6E 73 74 72 75 63 74 69 6F 6E ags..instruction 002B70: 20 20 20 20 20 20 43 61 72 72 79 20 20 20 20 20 Carry 002B80: 20 20 20 5A 65 72 6F A0 20 20 20 20 20 20 20 20 Zero. 002B90: 20 20 20 20 20 20 20 20 72 20 20 20 20 64 64 20 r dd 002BA0: 20 20 20 20 20 72 20 20 20 64 64 A0 A0 20 20 4C r dd.. L 002BB0: 44 20 20 20 20 20 20 20 20 20 20 20 20 2E 20 20 D . 002BC0: 20 20 20 2E 20 20 20 20 20 20 2E 20 20 20 20 2E . . . 002BD0: A0 20 20 45 58 20 20 20 20 20 20 20 20 20 20 20 . EX 002BE0: 6E 2F 76 20 20 20 20 2E 20 20 20 20 20 6E 2F 76 n/v . n/v 002BF0: 20 20 20 2E A0 A0 20 20 41 44 44 20 20 20 20 20 ... ADD 002C00: 20 20 20 20 20 20 2A 20 20 20 20 20 2A 20 20 20 * * 002C10: 20 20 20 2A 20 20 20 20 2E A0 20 20 41 44 43 20 * .. ADC 002C20: 20 20 20 20 20 20 20 20 20 20 2A 20 20 20 20 20 * 002C30: 2A 20 20 20 20 20 20 2A 20 20 20 20 2A A0 20 20 * * *. 002C40: 53 55 42 20 20 20 20 20 20 20 20 20 20 20 2A 20 SUB * 002C50: 20 20 20 6E 2F 76 20 7E E1 20 20 20 20 2A 20 20 n/v ~. * 002C60: 20 6E 2F 76 A0 20 20 53 42 43 20 20 20 20 20 20 n/v. SBC 002C70: 20 20 20 20 20 2A 20 20 20 20 20 2A 20 20 20 20 * * 002C80: 20 20 2A 20 20 20 20 2A A0 A0 20 20 49 4E 43 20 * *.. INC 002C90: 20 20 20 20 20 20 20 20 20 20 2E 20 20 20 20 20 . 002CA0: 2E 20 20 20 20 20 20 2A 20 20 20 20 2E A0 20 20 . * .. 002CB0: 44 45 43 20 20 20 20 20 20 20 20 20 20 20 2E 20 DEC . 002CC0: 20 20 20 20 2E 20 20 20 20 20 20 2A 20 20 20 20 . * 002CD0: 2E A0 A0 A0 72 20 73 69 6E 67 6C 65 20 72 65 67 ....r single reg 002CE0: 69 73 74 65 72 20 20 20 64 64 20 20 64 6F 75 62 ister dd doub 002CF0: 6C 65 20 72 65 67 69 73 74 65 72 20 A0 2A 20 66 le register .* f 002D00: 6C 61 67 20 61 66 66 65 63 74 65 64 20 20 20 20 lag affected 002D10: 20 20 2E 20 66 6C 61 67 20 6E 6F 74 20 61 66 66 . flag not aff 002D20: 65 63 74 65 64 A0 20 20 20 20 20 6E 2F 76 20 20 ected. n/v 002D30: 20 20 69 6E 73 74 72 75 63 74 69 6F 6E 20 6E 6F instruction no 002D40: 74 20 76 61 6C 69 64 A3 20 20 20 20 20 20 20 20 t valid£ 002D50: 20 20 20 20 4C 65 73 73 6F 27 D5 6E 73 20 31 20 Lesso'.ns 1 002D60: 2D 20 39 A0 A0 20 31 2E 20 20 52 65 67 69 73 74 - 9.. 1. Regist 002D70: 65 72 73 20 61 6E 64 20 4D 65 6D 6F 72 79 A0 20 ers and Memory. 002D80: 32 2E 20 20 53 69 6D 70 6C 65 20 4C 6F 61 64 20 2. Simple Load 002D90: 49 6E 73 74 72 75 63 74 69 6F 6E 73 A0 20 20 20 Instructions. 002DA0: 20 20 20 20 20 20 45 78 20 2D 20 73 69 6D 70 6C Ex - simpl 002DB0: 65 20 6C 6F 61 64 20 69 6E 73 74 72 75 63 74 69 e load instructi 002DC0: 6F 6E 73 A0 20 33 2E 20 20 52 65 67 69 73 74 65 ons. 3. Registe 002DD0: 72 20 50 61 69 72 73 A0 20 20 20 20 20 20 20 20 r Pairs. 002DE0: 20 45 78 20 2D 20 72 65 67 69 73 74 65 72 20 70 Ex - register p 002DF0: 61 69 72 20 6C 6F 61 64 69 6E 67 A0 20 34 2E 20 air loading. 4. 002E00: 20 49 6E 64 69 72 65 63 74 20 41 64 64 72 65 73 Indirect Addres 002E10: 73 69 6E 67 A0 20 20 20 20 20 20 20 20 20 45 78 sing. Ex 002E20: 20 2D 20 69 6E 64 69 72 65 63 74 20 61 64 64 72 - indirect addr 002E30: 65 73 73 69 6E 67 A0 20 35 2E 20 20 41 64 64 69 essing. 5. Addi 002E40: 74 69 6F 6E 20 61 6E 64 20 74 68 65 20 43 61 72 tion and the Car 002E50: 72 79 20 46 6C 61 67 A0 20 20 20 E0 A4 20 20 20 ry Flag. .. 002E60: 20 20 20 45 78 20 2D 20 73 69 6E 67 6C 65 20 72 Ex - single r 002E70: 65 67 69 73 74 65 72 20 61 64 64 69 74 69 6F 6E egister addition 002E80: A0 20 20 20 20 20 20 20 20 20 45 78 20 2D 20 72 . Ex - r 002E90: 65 67 69 73 74 65 72 20 70 61 69 72 20 61 64 64 egister pair add 002EA0: 69 74 69 6F 6E A0 20 36 2E 20 20 53 75 62 74 72 ition. 6. Subtr 002EB0: 61 63 74 69 6F 6E 20 61 6E 64 20 74 68 65 20 43 action and the C 002EC0: 61 72 72 79 20 46 6C 61 67 A0 20 20 20 20 20 20 arry Flag. 002ED0: 20 20 20 45 78 20 2D 20 72 65 67 69 73 74 65 72 Ex - register 002EE0: 20 73 75 62 74 72 61 63 74 69 6F 6E A0 20 20 20 subtraction. 002EF0: 20 20 20 20 20 20 45 78 20 2D 20 72 65 67 69 73 Ex - regis 002F00: 74 65 72 20 70 61 69 72 20 73 75 62 74 72 61 63 ter pair subtrac 002F10: 74 69 6F 6E A0 20 37 2E 20 20 49 6E 63 72 65 6D tion. 7. Increm 002F20: 65 6E 74 20 61 6E 64 20 44 65 63 72 65 6D 65 6E ent and Decremen 002F30: 74 A0 20 20 20 20 20 20 20 20 20 45 78 20 2D 20 t. Ex - 002F40: 69 6E 63 20 61 6E 64 20 64 65 63 20 69 6E 73 74 inc and dec inst 002F50: 72 75 63 74 69 6F 6E 73 A0 20 38 2E 20 2C 0F 20 ructions. 8. ,. 002F60: 5A 65 72 6F 20 46 6C 61 67 A0 20 20 20 20 20 20 Zero Flag. 002F70: 20 20 20 45 78 20 2D 20 7A 65 72 6F 20 66 6C 61 Ex - zero fla 002F80: 67 A0 20 39 2E 20 20 43 6F 6D 70 61 72 65 A0 20 g. 9. Compare. 002F90: 20 20 20 20 20 20 45 78 20 2D 20 63 6F 6D 70 61 Ex - compa 002FA0: 72 69 73 6F 6E 20 69 6E 73 74 72 75 63 74 69 6F rison instructio 002FB0: 6E 73 A0 20 4C 6F 61 64 20 66 75 72 74 68 65 72 ns. Load further 002FC0: 20 6C 65 73 73 6F 6E 73 20 66 72 6F 6D 20 74 61 lessons from ta 002FD0: 70 65 A3 20 20 20 20 20 20 20 20 20 20 20 49 4E pe£ IN 002FE0: 54 52 4F 44 55 43 54 49 4F 4E A0 A0 20 54 68 65 TRODUCTION.. The 002FF0: 20 20 5A 38 30 20 69 73 20 20 74 68 65 20 6D 69 Z80 is the mi 003000: 63 72 6F 70 72 6F 63 65 73 73 6F 72 20 20 61 74 croprocessor at 003010: 20 74 68 65 68 65 61 72 74 20 6F 66 20 79 6F 75 theheart of you 003020: 72 20 41 6D 73 74 72 61 64 2E 20 54 68 69 73 20 r Amstrad. This 003030: 70 72 6F 67 72 61 6D 20 77 69 6C 6C 74 65 61 63 program willteac 003040: 68 20 20 20 79 6F 75 20 20 20 74 68 65 20 20 20 h you the 003050: 75 73 65 20 20 20 6F 66 20 20 20 61 6C 6C 20 86 use of all . 003060: A3 20 20 74 68 65 69 6E 73 74 72 75 63 74 69 6F £ theinstructio 003070: 6E 73 20 61 76 61 69 6C 61 62 6C 65 20 20 6F 6E ns available on 003080: 20 20 74 68 65 20 5A 38 30 2C 20 20 69 6E 61 20 the Z80, ina 003090: 73 65 72 69 65 73 20 6F 66 20 73 69 6D 70 6C 65 series of simple 0030A0: 20 20 70 72 6F 67 72 65 73 73 69 76 65 20 6C 65 progressive le 0030B0: 73 73 6F 6E 73 2E A0 20 20 41 66 74 65 72 20 20 ssons.. After 0030C0: 65 61 63 68 20 20 20 6C 65 73 73 6F 6E 2C 20 20 each lesson, 0030D0: 20 73 74 65 70 20 20 62 79 20 20 73 74 65 70 65 step by stepe 0030E0: 78 61 6D 70 6C 65 73 20 61 72 65 20 67 69 76 65 xamples are give 0030F0: 6E 2E 20 20 54 6F 20 66 75 72 74 68 65 72 20 20 n. To further 003100: 69 6D 70 72 6F 76 65 79 6F 75 72 20 75 6E 64 65 improveyour unde 003110: 72 73 74 61 6E 64 69 6E 67 20 6F 66 20 74 68 65 rstanding of the 003120: 20 74 6F 70 69 63 2C 20 79 6F 75 20 6D 61 79 74 topic, you mayt 003130: 68 65 6E 20 6D 6F 64 69 66 79 20 6F 72 20 72 65 hen modify or re 003140: 77 72 69 74 65 20 74 68 65 20 65 78 61 6D 70 6C write the exampl 003150: 65 73 2C 20 61 6E 64 72 75 6E 20 74 68 65 6D 20 es, andrun them 003160: 20 70 D6 77 69 74 68 6F 75 74 20 20 66 65 61 72 p.without fear 003170: 20 6F 66 20 20 63 72 61 73 68 69 6E 67 20 74 68 of crashing th 003180: 65 73 79 73 74 65 6D 2E A0 A0 20 50 72 6F 63 65 esystem... Proce 003190: 65 64 20 20 74 68 72 6F 75 67 68 20 20 74 68 65 ed through the 0031A0: 20 6D 65 6E 75 20 62 79 20 20 70 72 65 73 73 69 menu by pressi 0031B0: 6E 67 45 4E 54 45 52 20 74 6F 20 62 65 67 69 6E ngENTER to begin 0031C0: 20 74 68 65 20 68 69 67 68 6C 69 67 68 74 65 64 the highlighted 0031D0: 20 6C 65 73 73 6F 6E 20 6F 72 65 78 61 6D 70 6C lesson orexampl 0031E0: 65 2C 20 61 6E 64 20 20 53 50 41 43 45 20 74 6F e, and SPACE to 0031F0: 20 6A 75 6D 70 20 74 6F 20 74 68 65 20 6E 65 78 jump to the nex 003200: 74 2E 41 74 20 61 6E 79 74 69 6D 65 20 42 52 45 t.At anytime BRE 003210: 41 4B 20 77 69 6C 6C 20 72 65 74 75 72 6E 20 79 AK will return y 003220: 6F 75 20 20 74 6F 20 74 68 65 6D 65 6E 75 2E A3 ou to themenu.£ 003230: 20 20 20 20 49 4E 54 52 4F 44 55 43 54 49 4F 4E INTRODUCTION 003240: 20 54 4F 20 52 55 4E 4E 49 4E 47 20 53 49 4D 55 TO RUNNING SIMU 003250: 4C 41 54 4F 52 A0 A0 20 41 6C 6C 20 20 20 65 78 LATOR.. All ex 003260: 61 6D 70 72 6A 6C 65 73 20 20 20 61 72 65 20 20 amprjles are 003270: 20 72 75 6E 20 20 20 75 73 69 6E 67 20 20 74 68 run using th 003280: 65 53 69 6D 75 6C 61 74 6F 72 2E 20 41 74 20 74 eSimulator. At t 003290: 68 69 73 20 73 74 61 67 65 20 74 68 65 20 6F 6E his stage the on 0032A0: 6C 79 20 20 61 72 65 61 73 6F 66 20 74 68 65 20 ly areasof the 0032B0: 73 69 6D 75 6C 61 74 6F 72 20 73 63 72 65 65 6E simulator screen 0032C0: 20 74 6F 20 63 6F 6E 73 69 64 65 72 20 20 61 72 to consider ar 0032D0: 65 74 68 65 20 53 6F 75 72 63 65 20 20 43 6F 64 ethe Source Cod 0032E0: 65 20 28 20 74 68 65 20 74 68 69 72 64 20 63 6F e ( the third co 0032F0: 6C 75 6D 6E 20 74 68 61 74 68 6F 6C 64 73 20 74 lumn thatholds t 003300: 68 65 20 69 6E 73 74 72 75 63 74 69 6F 6E 73 20 he instructions 003310: 29 20 61 6E 64 20 74 68 65 20 61 72 65 61 20 61 ) and the area a 003320: 74 74 68 65 20 62 6F 74 74 6F 6D 20 6F 66 20 74 tthe bottom of t 003330: 68 65 20 73 63 72 65 65 6E 2C 20 77 68 69 63 68 he screen, which 003340: 20 64 69 73 70 6C 61 79 73 74 68 65 20 63 6F 6E displaysthe con 003350: 74 65 6E 74 73 20 20 6F 66 20 20 74 68 65 20 20 tents of the 003360: 72 65 67 69 73 76 25 74 65 72 73 2E 20 20 4F 74 regisv%ters. Ot 003370: 68 65 72 61 72 65 61 73 20 20 77 69 6C 6C 20 20 herareas will 003380: 62 65 20 20 64 65 73 63 72 69 62 65 64 20 20 61 be described a 003390: 73 20 20 74 68 65 79 20 61 72 65 72 65 71 75 69 s they arerequi 0033A0: 72 65 64 2E A0 A0 20 54 68 65 20 61 73 73 65 6D red... The assem 0033B0: 62 6C 65 72 2C 20 74 68 61 74 20 63 6F 6E 76 65 bler, that conve 0033C0: 72 74 73 20 20 69 6E 73 74 72 75 63 74 2D 69 6F rts instruct-io 0033D0: 6E 73 20 20 69 6E 74 6F 20 20 20 6D 61 63 68 69 ns into machi 0033E0: 6E 65 20 20 63 6F 64 65 2C 20 77 69 6C 6C 20 20 ne code, will 0033F0: 61 63 63 65 70 74 4C 61 62 65 6C 73 2E 20 49 6E acceptLabels. In 003400: 73 74 65 61 64 20 20 6F 66 20 20 70 75 74 74 69 stead of putti 003410: 6E 67 20 20 61 6E 20 61 64 64 72 65 73 73 69 6E ng an addressin 003420: 74 6F 20 74 68 65 20 70 72 6F 67 72 61 6D 2C 20 to the program, 003430: 77 65 20 63 61 6E 20 67 69 76 65 20 69 74 20 61 we can give it a 003440: 20 6E 61 6D 65 2E 54 68 65 20 20 61 73 73 65 6D name.The assem 003450: 62 6C 65 72 20 20 77 69 6C 6C 20 20 20 74 68 65 bler will the 003460: 6E 20 20 61 6C 6C 6F A2 A1 63 61 74 65 20 20 61 n allo..cate a 003470: 6D 65 6D 6F 72 79 20 20 6C 6F 63 61 74 69 6F 6E memory location 003480: 20 74 6F 20 69 74 2E 20 54 68 65 20 6E 61 6D 65 to it. The name 003490: 20 6D 75 73 74 20 62 65 63 61 6C 6C 65 64 20 20 must becalled 0034A0: 75 70 20 20 69 6E 20 20 74 68 65 20 20 70 72 6F up in the pro 0034B0: 67 72 61 6D 20 20 77 69 74 68 20 20 20 69 74 73 gram with its 0034C0: 69 6E 69 74 69 61 6C 20 63 6F 6E 64 69 74 69 6F initial conditio 0034D0: 6E 20 75 73 69 6E 67 20 20 74 68 65 20 69 6E 73 n using the ins 0034E0: 74 72 75 63 74 69 6F 6E 44 45 46 42 2C 20 44 45 tructionDEFB, DE 0034F0: 46 69 6E 65 20 42 79 74 65 2E A3 20 44 45 46 42 Fine Byte.£ DEFB 003500: 20 69 73 20 61 6E 20 20 61 73 73 65 6D 62 6C 65 is an assemble 003510: 72 20 69 6E 73 74 72 75 63 74 69 6F 6E 20 6E 6F r instruction no 003520: 74 20 61 5A 38 30 20 20 69 6E 73 74 72 75 63 74 t aZ80 instruct 003530: 69 6F 6E 2E 20 20 54 68 65 20 61 6C 6C 6F 63 61 ion. The alloca 003540: 74 65 64 20 20 6D 65 6D 6F 72 79 61 64 64 72 65 ted memoryaddre 003550: 73 73 20 69 73 20 67 69 76 65 6E 20 69 6E 20 74 ss is given in t 003560: 68 65 20 66 69 72 73 74 20 A9 1C 63 6F 6C 75 6D he first ..colum 003570: 6E 2E A0 A0 20 54 68 65 20 73 69 6D 75 6C 61 74 n... The simulat 003580: 6F 72 20 77 69 6C 6C 20 64 69 73 70 6C 61 79 20 or will display 003590: 74 68 65 20 63 6F 6E 74 65 6E 74 73 6F 66 20 74 the contentsof t 0035A0: 68 69 73 20 20 6D 65 6D 6F 72 79 20 6C 6F 63 61 his memory loca 0035B0: 74 69 6F 6E 2C 20 69 6E 20 64 65 63 69 6D 61 6C tion, in decimal 0035C0: 2C 20 69 6E 74 68 65 20 73 65 63 6F 6E 64 20 63 , inthe second c 0035D0: 6F 6C 75 6D 6E 2E A0 A0 20 42 65 66 6F 72 65 20 olumn... Before 0035E0: 65 61 63 68 20 69 6E 73 74 72 75 63 74 69 6F 6E each instruction 0035F0: 20 69 73 20 65 78 65 63 75 74 65 64 20 74 68 65 is executed the 003600: 69 6E 73 74 72 75 63 74 69 6F 6E 20 69 73 20 64 instruction is d 003610: 65 73 63 72 69 62 65 64 20 69 6E 20 45 4E 47 4C escribed in ENGL 003620: 49 53 48 2E 20 54 72 79 74 6F 20 77 6F 72 6B 20 ISH. Tryto work 003630: 6F 75 74 20 77 68 61 74 20 20 73 68 6F 75 6C 64 out what should 003640: 20 20 68 61 70 70 65 6E 20 20 62 65 66 6F 72 65 happen before 003650: 70 72 65 73 73 69 6E 67 20 20 61 6E 79 20 20 6B pressing any k 003660: 65 79 20 20 20 74 6F 20 20 20 70 B9 CB 65 72 66 ey to p..erf 003670: 6F 72 6D 20 20 20 20 74 68 65 69 6E 73 74 72 75 orm theinstru 003680: 63 74 69 6F 6E 2E A3 20 59 6F 75 20 6D 61 79 20 ction.£ You may 003690: 67 6F 20 20 74 68 72 6F 75 67 68 20 74 68 65 20 go through the 0036A0: 65 78 61 6D 70 6C 65 20 61 73 20 6D 61 6E 79 74 example as manyt 0036B0: 69 6D 65 73 20 61 73 20 79 6F 75 20 6C 69 6B 65 imes as you like 0036C0: 2C 20 75 6E 74 69 6C 20 79 6F 75 20 20 75 6E 64 , until you und 0036D0: 65 72 73 74 61 6E 64 69 74 2E 20 49 66 20 79 6F erstandit. If yo 0036E0: 75 20 73 74 69 6C 6C 20 66 69 6E 64 20 20 64 69 u still find di 0036F0: 66 66 69 63 75 6C 74 79 2C 20 70 72 65 73 73 45 fficulty, pressE 003700: 53 43 2C 20 73 6B 69 70 20 20 6F 76 65 72 20 74 SC, skip over t 003710: 68 65 20 6C 65 73 73 6F 6E 73 20 61 6E 64 20 72 he lessons and r 003720: 65 2D 45 4E 54 45 52 74 68 65 20 6C 65 73 73 6F e-ENTERthe lesso 003730: 6E 20 20 77 69 74 68 20 77 68 69 63 68 20 20 79 n with which y 003740: 6F 75 20 20 61 72 65 20 20 68 61 76 69 6E 67 64 ou are havingd 003750: 69 66 66 69 63 75 6C 74 79 2E 20 54 68 65 20 6D ifficulty. The m 003760: 61 6E 75 61 6C 20 68 6F 77 65 76 65 72 8B D4 20 anual however.. 003770: 20 67 69 76 65 73 20 61 6E 6F 75 74 6C 69 6E 65 gives anoutline 003780: 20 6F 66 20 65 61 63 68 20 6C 65 73 73 6F 6E 2E of each lesson. 003790: A0 A0 20 57 68 65 6E 20 20 79 6F 75 20 20 64 6F .. When you do 0037A0: 20 20 75 6E 64 65 72 73 74 61 6E 64 20 20 74 68 understand th 0037B0: 65 20 65 78 61 6D 70 6C 65 73 67 69 76 65 6E 20 e examplesgiven 0037C0: 20 74 72 79 20 20 6D 6F 64 69 66 79 69 6E 67 20 try modifying 0037D0: 20 74 68 65 6D 20 20 20 75 73 69 6E 67 20 20 74 them using t 0037E0: 68 65 65 64 69 74 6F 72 2E 20 20 54 68 65 6E 20 heeditor. Then 0037F0: 20 74 72 79 20 20 65 6E 74 65 72 69 6E 67 20 20 try entering 003800: 20 79 6F 75 72 20 20 6F 77 6E 70 72 6F 67 72 61 your ownprogra 003810: 6D 73 2E 20 20 41 6C 6C 20 20 70 72 6F 67 72 61 ms. All progra 003820: 6D 73 20 73 68 6F 75 6C 64 20 65 6E 64 20 77 69 ms should end wi 003830: 74 68 52 45 54 20 28 20 6F 72 20 72 65 74 75 72 thRET ( or retur 003840: 6E 20 29 2E 20 20 20 44 6F 6E 27 74 20 20 77 6F n ). Don't wo 003850: 72 72 79 20 69 66 20 79 6F 75 66 6F 72 67 65 74 rry if youforget 003860: 2C 20 74 68 65 20 73 69 6D 75 6C 61 74 6F 72 9A , the simulator. 003870: A7 20 77 69 6C 6C 20 74 65 6C 6C 20 79 6F 75 2E . will tell you. 003880: A0 A0 20 52 65 6D 65 6D 62 65 72 2C 20 20 69 74 .. Remember, it 003890: 20 20 69 73 20 20 20 69 6D 70 6F 73 73 69 62 6C is impossibl 0038A0: 65 20 20 66 6F 72 20 20 20 61 70 72 6F 67 72 61 e for aprogra 0038B0: 6D 20 74 6F 20 64 65 73 74 72 6F 79 20 79 6F 75 m to destroy you 0038C0: 72 20 63 6F 6D 70 75 74 65 72 2E 20 59 6F 75 27 r computer. You' 0038D0: 6C 6C 6E 65 65 64 20 61 20 68 61 6D 6D 65 72 20 llneed a hammer 0038E0: 74 6F 20 64 6F 20 74 68 61 74 21 A3 20 4C 44 20 to do that!£ LD 0038F0: 41 2C 33 34 A0 20 20 4C 44 20 42 2C 41 A0 20 20 A,34. LD B,A. 003900: 4C 44 20 28 33 38 36 37 29 2C 41 A0 20 20 4C 44 LD (3867),A. LD 003910: 20 41 2C 28 53 54 4F 52 45 29 A0 20 20 4C 44 20 A,(STORE). LD 003920: 28 33 38 36 37 29 2C 41 A0 20 20 4C 44 20 41 2C (3867),A. LD A, 003930: 42 A0 20 20 4C 44 20 28 53 54 4F 52 45 29 2C 41 B. LD (STORE),A 003940: A0 20 20 4C 44 20 43 2C 42 A0 20 20 4C 44 20 41 . LD C,B. LD A 003950: 2C 28 33 38 36 37 29 A0 20 20 4C 44 20 41 2C 36 ,(3867). LD A,6 003960: 37 A0 20 20 4C 44 20 28 33 38 36 36 29 2C 41 A0 7. LD (3866),A. 003970: 20 DF 86 20 52 45 54 A0 20 20 A0 20 53 54 4F 52 .. RET. . STOR 003980: 45 20 44 45 46 42 20 31 32 34 A0 20 20 44 45 46 E DEFB 124. DEF 003990: 42 20 30 A0 20 20 20 A0 20 20 20 20 20 20 20 20 B 0. . 0039A0: 20 52 45 47 49 53 54 45 52 20 50 41 49 52 20 45 REGISTER PAIR E 0039B0: 58 41 4D 50 4C 45 53 A0 A0 20 54 68 65 20 20 65 XAMPLES.. The e 0039C0: 78 61 6D 70 6C 65 20 69 6C 6C 75 73 74 72 61 74 xample illustrat 0039D0: 65 73 20 20 65 61 63 68 20 20 74 79 70 65 20 6F es each type o 0039E0: 66 69 6E 73 74 72 75 63 74 69 6F 6E 20 20 74 68 finstruction th 0039F0: 61 74 20 20 6C 6F 61 64 73 20 72 65 67 69 73 74 at loads regist 003A00: 65 72 20 70 61 69 72 73 2E 49 74 20 61 6C 73 6F er pairs.It also 003A10: 20 20 64 65 6D 6F 6E 73 74 72 61 74 65 73 20 20 demonstrates 003A20: 74 68 61 74 20 61 20 20 72 65 67 69 73 74 65 72 that a register 003A30: 2F 6D 65 6D 6F 72 79 20 20 70 61 69 72 20 20 61 /memory pair a 003A40: 72 65 20 20 73 74 69 6C 6C 20 20 74 77 6F 20 69 re still two i 003A50: 6E 64 69 76 69 64 75 61 6C 72 65 67 69 73 74 65 ndividualregiste 003A60: 72 73 20 6F 72 20 6D 65 6D 6F 72 79 20 6C 6F 63 rs or memory loc 003A70: 61 74 69 56 30 6F 6E 73 20 61 6E 64 20 63 61 6E atiV0ons and can 003A80: 20 62 65 74 72 65 61 74 65 64 20 61 73 20 73 75 betreated as su 003A90: 63 68 2E A0 A0 20 41 6E 6F 74 68 65 72 20 20 20 ch... Another 003AA0: 20 61 73 73 65 6D 62 6C 65 72 20 20 20 20 69 6E assembler in 003AB0: 73 74 72 75 63 74 69 6F 6E 20 20 69 73 69 6E 74 struction isint 003AC0: 72 6F 64 75 63 65 64 2C 20 20 74 68 65 20 20 44 roduced, the D 003AD0: 45 46 57 20 20 69 6E 73 74 72 75 63 74 69 6F 6E EFW instruction 003AE0: 2E 20 54 68 65 61 73 73 65 6D 62 6C 65 72 20 61 . Theassembler a 003AF0: 6C 6C 6F 63 61 74 65 73 20 20 32 20 20 6D 65 6D llocates 2 mem 003B00: 6F 72 79 20 6C 6F 63 61 74 69 6F 6E 73 74 6F 20 ory locationsto 003B10: 74 68 65 20 20 61 73 73 6F 63 69 61 74 65 64 20 the associated 003B20: 20 6C 61 62 65 6C 2E 20 20 54 68 65 20 20 20 6E label. The n 003B30: 75 6D 62 65 72 61 66 74 65 72 20 20 74 68 65 20 umberafter the 003B40: 20 20 44 45 46 57 20 20 20 73 65 74 73 20 20 20 DEFW sets 003B50: 74 68 65 20 20 20 69 6E 69 74 69 61 6C 63 6F 6E the initialcon 003B60: 64 69 74 69 6F 6E 73 2E A0 A0 20 54 68 65 20 61 ditions... The a 003B70: 64 64 72 65 73 E1 1E 73 20 69 6E 20 74 68 65 20 ddres..s in the 003B80: 66 69 72 73 74 20 20 63 6F 6C 75 6D 6E 20 69 73 first column is 003B90: 20 74 68 65 6C 6F 77 20 20 62 79 74 65 20 61 64 thelow byte ad 003BA0: 64 72 65 73 73 2E 20 20 54 68 65 20 20 73 65 63 dress. The sec 003BB0: 6F 6E 64 20 20 20 63 6F 6C 75 6D 6E 64 69 73 70 ond columndisp 003BC0: 6C 61 79 73 20 20 74 68 65 20 20 63 6F 6E 74 65 lays the conte 003BD0: 6E 74 73 20 20 6F 66 20 20 74 68 65 20 70 61 69 nts of the pai 003BE0: 72 20 6F 66 6D 65 6D 6F 72 79 20 6C 6F 63 61 74 r ofmemory locat 003BF0: 69 6F 6E 73 20 61 73 20 61 20 73 69 6E 67 6C 65 ions as a single 003C00: 20 6E 75 6D 62 65 72 2E A3 20 4C 44 20 44 45 2C number.£ LD DE, 003C10: 32 35 36 A0 20 20 4C 44 20 45 2C 34 A0 20 20 4C 256. LD E,4. L 003C20: 44 20 28 53 54 4F 52 45 29 2C 44 45 A0 20 20 4C D (STORE),DE. L 003C30: 44 20 28 4C 4F 57 29 2C 44 45 A0 20 20 4C 44 20 D (LOW),DE. LD 003C40: 41 2C 32 A0 20 20 4C 44 20 28 48 49 47 48 29 2C A,2. LD (HIGH), 003C50: 41 A0 20 20 4C 44 20 48 4C 2C 28 4C 4F 57 29 A0 A. LD HL,(LOW). 003C60: 20 20 45 58 20 44 45 2C 48 4C A0 20 20 4C 44 20 EX DE,HL. LD 003C70: 44 2C 30 A0 20 20 52 EC 57 45 54 A0 20 20 A0 20 D,0. R.WET. . 003C80: 53 54 4F 52 45 20 44 45 46 57 20 33 32 30 30 30 STORE DEFW 32000 003C90: A0 20 4C 4F 57 20 20 20 44 45 46 42 20 30 A0 20 . LOW DEFB 0. 003CA0: 48 49 47 48 20 20 44 45 46 42 20 30 A0 20 20 A0 HIGH DEFB 0. . 003CB0: 20 20 20 A0 20 20 20 20 20 45 58 41 4D 50 4C 45 . EXAMPLE 003CC0: 53 20 4F 46 20 49 4E 44 49 52 45 43 54 20 41 44 S OF INDIRECT AD 003CD0: 44 52 45 53 53 49 4E 47 A0 A0 20 20 54 68 65 73 DRESSING.. Thes 003CE0: 65 20 20 65 78 61 6D 70 6C 65 73 20 20 69 6C 6C e examples ill 003CF0: 75 73 74 72 61 74 65 20 20 20 69 6E 64 69 72 65 ustrate indire 003D00: 63 74 61 64 64 72 65 73 73 69 6E 67 2E 20 20 20 ctaddressing. 003D10: 41 74 20 20 20 74 68 69 73 20 20 20 73 74 61 67 At this stag 003D20: 65 20 20 69 74 20 20 20 69 73 69 6D 70 6F 73 73 e it isimposs 003D30: 69 62 6C 65 20 74 6F 20 20 64 65 6D 6F 6E 73 74 ible to demonst 003D40: 72 61 74 65 20 20 69 74 73 20 20 75 73 65 66 75 rate its usefu 003D50: 6C 2D 6E 65 73 73 2E 20 20 49 74 20 69 73 20 65 l-ness. It is e 003D60: 6D 70 6C 6F 79 65 64 20 65 78 74 65 6E 73 69 76 mployed extensiv 003D70: 65 20 69 6E 20 6C 61 74 65 0E B5 72 65 78 61 6D e in late..rexam 003D80: 70 6C 65 73 A3 20 4C 44 20 48 4C 2C 4C 4F 57 A0 ples£ LD HL,LOW. 003D90: 20 20 4C 44 20 43 2C 28 48 4C 29 A0 20 20 4C 44 LD C,(HL). LD 003DA0: 20 48 4C 2C 48 49 47 48 A0 20 20 4C 44 20 42 2C HL,HIGH. LD B, 003DB0: 28 48 4C 29 A0 20 20 4C 44 20 41 2C 28 42 43 29 (HL). LD A,(BC) 003DC0: A0 20 20 4C 44 20 44 45 2C 33 38 36 30 A0 20 20 . LD DE,3860. 003DD0: 4C 44 20 28 44 45 29 2C 41 A0 20 20 4C 44 20 28 LD (DE),A. LD ( 003DE0: 48 4C 29 2C 30 A0 20 20 4C 44 20 42 43 2C 33 38 HL),0. LD BC,38 003DF0: 36 32 A0 20 20 4C 44 20 28 42 43 29 2C 41 A0 20 62. LD (BC),A. 003E00: 20 52 45 54 A0 20 20 A0 20 4C 4F 57 20 20 20 44 RET. . LOW D 003E10: 45 46 42 20 32 31 A0 20 48 49 47 48 20 20 44 45 EFB 21. HIGH DE 003E20: 46 42 20 31 35 A0 20 20 44 45 46 42 20 30 A0 20 FB 15. DEFB 0. 003E30: 20 20 A0 20 20 20 45 58 41 4D 50 4C 45 53 20 4F . EXAMPLES O 003E40: 46 20 53 49 4E 47 4C 45 20 52 45 47 49 53 54 45 F SINGLE REGISTE 003E50: 52 20 41 44 44 49 54 49 4F 4E A0 A0 20 54 68 65 R ADDITION.. The 003E60: 20 20 65 78 61 6D 70 6C 65 20 20 61 64 64 73 20 example adds 003E70: 20 74 6F 67 65 74 68 65 72 20 20 57 67 20 74 68 together Wg th 003E80: 65 20 20 74 77 6F 6E 75 6D 62 65 72 73 20 20 38 e twonumbers 8 003E90: 37 34 30 20 20 61 6E 64 20 20 31 32 36 30 20 20 740 and 1260 003EA0: 20 75 73 69 6E 67 20 20 73 69 6E 67 6C 65 72 65 using singlere 003EB0: 67 69 73 74 65 72 20 20 20 61 64 64 69 74 69 6F gister additio 003EC0: 6E 20 20 6F 6E 6C 79 2E 20 20 20 54 68 65 20 20 n only. The 003ED0: 64 6F 75 62 6C 65 6C 65 6E 67 74 68 20 20 6E 75 doublelength nu 003EE0: 6D 62 65 72 73 20 61 72 65 20 68 65 6C 64 20 69 mbers are held i 003EF0: 6E 20 42 43 20 61 6E 64 20 44 45 20 73 6F 74 68 n BC and DE soth 003F00: 61 74 20 20 74 68 65 20 20 72 65 73 75 6C 74 73 at the results 003F10: 20 20 63 61 6E 20 20 20 62 65 20 20 20 64 69 73 can be dis 003F20: 70 6C 61 79 65 64 65 61 73 69 6C 79 2E 20 20 20 playedeasily. 003F30: 54 68 69 73 20 6D 65 74 68 6F 64 20 6F 66 20 61 This method of a 003F40: 64 64 69 74 69 6F 6E 20 63 61 6E 20 62 65 70 65 ddition can bepe 003F50: 72 66 6F 72 6D 65 64 20 75 73 69 6E 67 20 72 65 rformed using re 003F60: 67 69 73 74 65 72 20 70 61 69 72 20 20 61 64 64 gister pair add 003F70: 69 74 69 6F 6E 2C 61 73 20 77 65 6C 6C E4 44 2C ition,as well.D, 003F80: 20 20 74 6F 20 61 64 64 20 74 6F 67 65 74 68 65 to add togethe 003F90: 72 20 6E 75 6D 62 65 72 73 20 6F 66 20 61 6E 79 r numbers of any 003FA0: 6C 65 6E 67 74 68 2E A0 A0 20 54 68 65 20 73 74 length... The st 003FB0: 61 74 65 20 20 6F 66 20 20 74 68 65 20 69 6E 64 ate of the ind 003FC0: 69 76 69 64 75 61 6C 20 66 6C 61 67 73 20 61 72 ividual flags ar 003FD0: 65 64 69 73 70 6C 61 79 65 64 20 74 6F 20 74 68 edisplayed to th 003FE0: 65 20 6C 65 66 74 20 6F 66 20 74 68 65 20 72 65 e left of the re 003FF0: 67 69 73 74 65 72 73 2E A3 20 4C 44 20 44 45 2C gisters.£ LD DE, 004000: 38 37 34 30 A0 20 20 4C 44 20 42 43 2C 31 32 36 8740. LD BC,126 004010: 30 A0 20 20 4C 44 20 41 2C 45 A0 20 20 41 44 44 0. LD A,E. ADD 004020: 20 41 2C 43 A0 20 20 4C 44 20 43 2C 41 A0 20 20 A,C. LD C,A. 004030: 4C 44 20 41 2C 44 A0 20 20 41 44 43 20 41 2C 42 LD A,D. ADC A,B 004040: A0 20 20 4C 44 20 42 2C 41 A0 20 20 A0 20 20 4C . LD B,A. . L 004050: 44 20 48 4C 2C 53 54 4F 52 45 A0 20 20 4C 44 20 D HL,STORE. LD 004060: 41 2C 31 35 A0 20 20 41 44 44 20 41 2C 28 48 4C A,15. ADD A,(HL 004070: 29 A0 20 20 52 45 54 A0 20 20 A0 20 53 54 4F 10 ). RET. . STO. 004080: 11 52 45 20 44 45 46 42 20 32 35 A0 20 20 A0 20 .RE DEFB 25. . 004090: 20 20 20 45 58 41 4D 50 4C 45 20 4F 46 20 52 45 EXAMPLE OF RE 0040A0: 47 49 53 54 45 52 20 50 41 49 52 20 41 44 44 49 GISTER PAIR ADDI 0040B0: 54 49 4F 4E A0 A0 20 54 68 69 73 20 20 65 78 61 TION.. This exa 0040C0: 6D 70 6C 65 20 20 65 66 66 65 63 74 69 76 65 6C mple effectivel 0040D0: 79 20 6D 75 6C 74 69 70 6C 69 65 73 20 61 6E 75 y multiplies anu 0040E0: 6D 62 65 72 20 20 68 65 6C 64 20 69 6E 20 74 68 mber held in th 0040F0: 65 20 20 48 4C 20 72 65 67 69 73 74 65 72 20 70 e HL register p 004100: 61 69 72 20 62 79 31 30 20 20 75 73 69 6E 67 20 air by10 using 004110: 20 20 61 64 64 69 74 69 6F 6E 20 20 20 74 6F 20 addition to 004120: 20 20 73 75 63 63 65 73 73 69 76 65 6C 79 6D 75 successivelymu 004130: 6C 74 69 70 6C 79 20 62 79 20 32 2E A3 20 4C 44 ltiply by 2.£ LD 004140: 20 48 4C 2C 28 53 54 4F 52 45 29 A0 20 20 41 44 HL,(STORE). AD 004150: 44 20 48 4C 2C 48 4C A0 20 20 41 44 44 20 48 4C D HL,HL. ADD HL 004160: 2C 48 4C A0 20 20 4C 44 20 44 45 2C 28 53 54 4F ,HL. LD DE,(STO 004170: 52 45 29 A0 20 20 41 44 44 20 48 4C 2C 44 45 A0 RE). ADD HL,DE. 004180: 20 C2 68 20 41 44 44 20 48 4C 2C 48 4C A0 20 20 .h ADD HL,HL. 004190: 4C 44 20 28 53 54 4F 52 45 29 2C 48 4C A0 20 20 LD (STORE),HL. 0041A0: A0 20 20 4C 44 20 48 4C 2C 31 30 30 30 A0 20 20 . LD HL,1000. 0041B0: 4C 44 20 41 2C 32 35 35 A0 20 20 41 44 44 20 41 LD A,255. ADD A 0041C0: 2C 31 A0 20 20 41 44 43 20 48 4C 2C 48 4C A0 20 ,1. ADC HL,HL. 0041D0: 20 52 45 54 A0 20 20 A0 20 53 54 4F 52 45 20 44 RET. . STORE D 0041E0: 45 46 57 20 36 30 30 30 A0 20 20 A0 20 20 45 58 EFW 6000. . EX 0041F0: 41 4D 50 4C 45 20 4F 46 20 53 49 4E 47 4C 45 20 AMPLE OF SINGLE 004200: 52 45 47 49 53 54 45 52 20 53 55 42 54 52 41 43 REGISTER SUBTRAC 004210: 54 49 4F 4E A0 A0 20 54 68 69 73 20 65 78 61 6D TION.. This exam 004220: 70 6C 65 20 73 75 62 74 72 61 63 74 73 20 20 31 ple subtracts 1 004230: 32 36 30 20 20 66 72 6F 6D 20 38 37 34 30 75 73 260 from 8740us 004240: 69 6E 67 20 20 6F 6E 6C 79 20 73 69 6E 67 6C 65 ing only single 004250: 20 72 65 67 69 73 74 65 72 20 73 75 62 74 72 61 register subtra 004260: 63 74 69 6F 6E 2E 54 68 65 20 20 74 77 6F 20 20 ction.The two 004270: 6E 75 6D 62 65 72 73 20 20 61 72 65 20 68 65 6C numbers are hel 004280: 64 20 69 F0 1C 6E 20 61 6C 6C 6F 63 61 74 65 64 d i..n allocated 004290: 6D 65 6D 6F 72 79 20 6C 6F 63 61 74 69 6F 6E 73 memory locations 0042A0: 20 74 68 69 73 20 74 69 6D 65 2E A0 A0 20 54 68 this time... Th 0042B0: 69 73 20 20 6D 65 74 68 6F 64 20 20 20 6F 66 20 is method of 0042C0: 20 73 75 62 74 72 61 63 74 69 6F 6E 20 20 63 61 subtraction ca 0042D0: 6E 20 20 62 65 65 78 74 65 6E 64 65 64 20 20 20 n beextended 0042E0: 74 6F 20 20 61 6E 79 20 20 6C 65 6E 67 74 68 20 to any length 0042F0: 20 20 6E 75 6D 62 65 72 20 20 61 6E 64 72 65 67 number andreg 004300: 69 73 74 65 72 20 70 61 69 72 20 73 75 62 74 72 ister pair subtr 004310: 61 63 74 69 6F 6E 2E A3 20 4C 44 20 48 4C 2C 4E action.£ LD HL,N 004320: 55 4D 31 A0 20 20 4C 44 20 44 45 2C 4E 55 4D 32 UM1. LD DE,NUM2 004330: A0 20 20 4C 44 20 41 2C 28 44 45 29 A0 20 20 53 . LD A,(DE). S 004340: 55 42 20 28 48 4C 29 A0 20 20 4C 44 20 28 44 45 UB (HL). LD (DE 004350: 29 2C 41 A0 20 20 4C 44 20 45 2C 31 38 A0 20 20 ),A. LD E,18. 004360: 4C 44 20 4C 2C 32 30 A0 20 20 4C 44 20 41 2C 28 LD L,20. LD A,( 004370: 44 45 29 A0 20 20 53 42 43 20 41 2C 28 48 4C 29 DE). SBC A,(HL) 004380: A0 20 20 4C 44 07 80 20 28 44 45 29 2C 41 A0 20 . LD.. (DE),A. 004390: 20 52 45 54 A0 20 20 A0 20 4E 55 4D 32 20 20 44 RET. . NUM2 D 0043A0: 45 46 57 20 38 37 34 30 A0 20 4E 55 4D 31 20 20 EFW 8740. NUM1 0043B0: 44 45 46 57 20 31 32 36 30 A0 20 20 A0 20 20 A0 DEFW 1260. . . 0043C0: 20 20 45 58 41 4D 50 4C 45 20 55 53 49 4E 47 20 EXAMPLE USING 0043D0: 52 45 47 49 53 54 45 52 20 50 41 49 52 20 53 55 REGISTER PAIR SU 0043E0: 42 54 52 41 43 54 49 4F 4E A0 A0 20 54 68 69 73 BTRACTION.. This 0043F0: 20 65 78 61 6D 70 6C 65 20 69 6C 6C 75 73 74 72 example illustr 004400: 61 74 65 73 20 73 75 62 74 72 61 63 74 69 6F 6E ates subtraction 004410: 20 6F 66 72 65 67 69 73 74 65 72 20 70 61 69 72 ofregister pair 004420: 73 2E 20 20 49 74 20 73 75 62 74 72 61 63 74 73 s. It subtracts 004430: 20 20 31 35 33 36 20 66 72 6F 6D 36 35 35 33 36 1536 from65536 004440: 2E 20 20 20 41 74 20 20 6C 65 61 73 74 20 33 20 . At least 3 004450: 62 79 74 65 73 20 6F 66 20 6D 65 6D 6F 72 79 20 bytes of memory 004460: 61 72 65 72 65 71 75 69 72 65 64 20 20 74 6F 20 arerequired to 004470: 20 68 6F 6C 64 20 20 74 68 65 20 20 6C 61 74 74 hold the latt 004480: 65 72 20 20 6E 75 6D B7 D9 62 65 72 2C 74 68 65 er num..ber,the 004490: 20 68 69 67 68 65 73 74 20 62 79 74 65 20 20 72 highest byte r 0044A0: 65 70 72 65 73 65 6E 74 69 6E 67 20 36 35 35 33 epresenting 6553 0044B0: 36 2E A0 A0 20 41 6C 74 68 6F 75 67 68 20 20 41 6... Although A 0044C0: 44 43 20 61 6E 64 20 20 53 42 43 20 20 6D 61 79 DC and SBC may 0044D0: 20 72 65 71 75 69 72 65 20 74 68 65 43 61 72 72 require theCarr 0044E0: 79 20 20 66 6C 61 67 20 74 6F 20 20 62 65 20 63 y flag to be c 0044F0: 6C 65 61 72 65 64 20 66 69 72 73 74 2C 20 69 66 leared first, if 004500: 20 74 68 65 70 72 65 76 69 6F 75 73 20 63 61 6C theprevious cal 004510: 63 75 6C 61 74 69 6F 6E 20 20 4E 45 56 45 52 20 culation NEVER 004520: 72 65 73 75 6C 74 73 20 69 6E 20 61 63 61 72 72 results in acarr 004530: 79 20 62 65 69 6E 67 20 20 67 65 6E 65 72 61 74 y being generat 004540: 65 64 2C 20 74 68 69 73 20 73 74 65 70 20 6D 61 ed, this step ma 004550: 79 20 62 65 6F 6D 69 74 74 65 64 2E 20 20 48 6F y beomitted. Ho 004560: 77 65 76 65 72 20 69 74 20 69 73 20 6F 66 74 65 wever it is ofte 004570: 6E 20 20 62 65 74 74 65 72 20 74 6F 62 65 20 73 n better tobe s 004580: 61 66 65 20 61 6E 64 20 69 18 D3 6E 63 6C 75 64 afe and i..nclud 004590: 65 20 69 74 2C 20 20 74 68 61 6E 20 20 6C 6F 6F e it, than loo 0045A0: 6B 20 20 66 6F 72 74 68 65 20 72 61 6E 64 6F 6D k forthe random 0045B0: 6C 79 20 6F 63 63 75 72 72 69 6E 67 20 66 61 75 ly occurring fau 0045C0: 6C 74 20 74 68 61 74 20 69 74 20 63 61 6E 67 65 lt that it cange 0045D0: 6E 65 72 61 74 65 2E A3 20 4C 44 20 48 4C 2C 28 nerate.£ LD HL,( 0045E0: 4E 55 4D 31 4C 29 A0 20 20 4C 44 20 44 45 2C 28 NUM1L). LD DE,( 0045F0: 4E 55 4D 32 4C 29 A0 20 20 53 42 43 20 48 4C 2C NUM2L). SBC HL, 004600: 44 45 A0 20 20 4C 44 20 28 41 4E 53 4C 29 2C 48 DE. LD (ANSL),H 004610: 4C A0 20 20 4C 44 20 48 4C 2C 28 4E 55 4D 31 48 L. LD HL,(NUM1H 004620: 29 A0 20 20 4C 44 20 44 45 2C 30 A0 20 20 53 42 ). LD DE,0. SB 004630: 43 20 48 4C 2C 44 45 A0 20 20 4C 44 20 28 41 4E C HL,DE. LD (AN 004640: 53 48 29 2C 48 4C A0 20 20 52 45 54 A0 20 20 A0 SH),HL. RET. . 004650: 20 4E 55 4D 31 4C 20 44 45 46 57 20 30 A0 20 4E NUM1L DEFW 0. N 004660: 55 4D 31 48 20 44 45 46 57 20 31 20 2A 36 35 35 UM1H DEFW 1 *655 004670: 33 36 A0 20 4E 55 4D 32 4C 20 44 45 46 57 20 31 36. NUM2L DEFW 1 004680: 35 33 36 A0 20 41 4E 53 4C 20 20 B9 84 44 45 46 536. ANSL ..DEF 004690: 57 20 30 A0 20 41 4E 53 48 20 20 44 45 46 57 20 W 0. ANSH DEFW 0046A0: 30 A0 20 20 A0 20 20 20 20 45 58 41 4D 50 4C 45 0. . EXAMPLE 0046B0: 20 4F 46 20 49 4E 43 52 45 4D 45 4E 54 20 41 4E OF INCREMENT AN 0046C0: 44 20 44 45 43 52 45 4D 45 4E 54 A0 A0 20 41 74 D DECREMENT.. At 0046D0: 20 20 70 72 65 73 65 6E 74 20 20 74 68 65 20 20 present the 0046E0: 70 72 6F 67 72 61 6D 73 20 74 68 61 74 20 63 61 programs that ca 0046F0: 6E 20 20 62 65 77 72 69 74 74 65 6E 20 61 72 65 n bewritten are 004700: 20 73 6F 6D 65 77 68 61 74 20 6C 69 6D 69 74 65 somewhat limite 004710: 64 2E A0 20 49 4E 43 20 20 61 6E 64 20 20 44 45 d.. INC and DE 004720: 43 20 72 65 61 6C 6C 79 20 6F 6E 6C 79 20 62 65 C really only be 004730: 63 6F 6D 65 20 75 73 65 66 75 6C 69 6E 20 63 6F come usefulin co 004740: 6E 6A 75 6E 63 74 69 6F 6E 20 77 69 74 68 20 69 njunction with i 004750: 6E 73 74 72 75 63 74 69 6F 6E 73 20 20 74 6F 20 nstructions to 004760: 20 62 65 69 6E 74 72 6F 64 75 63 65 64 20 73 68 beintroduced sh 004770: 6F 72 74 6C 79 2E A3 20 4C 44 20 43 2C 35 A0 20 ortly.£ LD C,5. 004780: 20 4C 44 20 48 4C 2C 53 54 4F 52 45 A0 B4 A6 20 LD HL,STORE... 004790: 20 4C 44 20 28 48 4C 29 2C 43 A0 20 20 49 4E 43 LD (HL),C. INC 0047A0: 20 43 A0 20 20 49 4E 43 20 48 4C A0 20 20 4C 44 C. INC HL. LD 0047B0: 20 28 48 4C 29 2C 43 A0 20 20 44 45 43 20 43 A0 (HL),C. DEC C. 0047C0: 20 20 49 4E 43 20 4C A0 20 20 4C 44 20 28 48 4C INC L. LD (HL 0047D0: 29 2C 43 A0 20 20 49 4E 43 20 48 A0 20 20 52 45 ),C. INC H. RE 0047E0: 54 A0 20 20 A0 20 53 54 4F 52 45 20 44 45 46 42 T. . STORE DEFB 0047F0: 20 30 A0 20 20 44 45 46 42 20 30 A0 20 20 44 45 0. DEFB 0. DE 004800: 46 42 20 30 A0 20 20 A0 20 20 20 20 20 20 20 20 FB 0. . 004810: 20 45 58 41 4D 50 4C 45 53 20 4F 46 20 5A 45 52 EXAMPLES OF ZER 004820: 4F 20 46 4C 41 47 A0 A0 20 57 68 69 6C 65 20 20 O FLAG.. While 004830: 20 72 75 6E 6E 69 6E 67 20 20 74 68 69 73 20 20 running this 004840: 65 78 61 6D 70 6C 65 20 20 74 72 79 20 20 74 6F example try to 004850: 70 72 65 64 69 63 74 20 74 68 65 20 73 74 61 74 predict the stat 004860: 65 20 6F 66 20 74 68 65 20 5A 65 72 6F 20 66 6C e of the Zero fl 004870: 61 67 20 61 66 74 65 72 74 68 65 20 69 6E 73 74 ag afterthe inst 004880: 72 75 63 74 69 6F 6E 20 68 61 73 20 62 65 65 C5 ruction has bee. 004890: 1C 6E 20 70 65 72 66 6F 72 6D 65 64 2E A3 20 4C .n performed.£ L 0048A0: 44 20 48 4C 2C 32 35 37 A0 20 20 44 45 43 20 4C D HL,257. DEC L 0048B0: A0 20 20 4C 44 20 41 2C 32 33 A0 20 20 53 55 42 . LD A,23. SUB 0048C0: 20 32 33 A0 20 20 4C 44 20 44 45 2C 32 35 36 A0 23. LD DE,256. 0048D0: 20 20 49 4E 43 20 41 A0 20 20 53 42 43 20 48 4C INC A. SBC HL 0048E0: 2C 44 45 A0 20 20 49 4E 43 20 48 A0 20 20 53 55 ,DE. INC H. SU 0048F0: 42 20 32 A0 20 20 53 42 43 20 48 4C 2C 44 45 A0 B 2. SBC HL,DE. 004900: 20 20 4C 44 20 48 4C 2C 31 A0 20 20 44 45 43 20 LD HL,1. DEC 004910: 48 4C A0 20 20 52 45 54 A0 20 20 A0 20 20 A0 20 HL. RET. . . 004920: 20 20 A0 20 20 20 20 20 20 20 20 20 20 20 20 20 . 004930: 20 20 43 4F 4D 50 41 52 45 A0 A0 20 20 53 6F 20 COMPARE.. So 004940: 20 66 61 72 20 20 20 61 6C 6C 20 20 69 6E 73 74 far all inst 004950: 72 75 63 74 69 6F 6E 73 20 20 77 65 20 20 20 68 ructions we h 004960: 61 76 65 64 69 73 63 75 73 73 65 64 20 20 74 68 avediscussed th 004970: 61 74 20 20 61 66 66 65 63 74 20 20 74 68 65 20 at affect the 004980: 20 43 61 72 72 79 20 20 20 6F 72 5A 65 72 6F 20 Carry orZero 004990: 66 50 AF 6C 61 67 73 20 20 61 6C 73 6F 20 20 61 fP.lags also a 0049A0: 66 66 65 63 74 20 20 74 68 65 20 20 20 72 65 67 ffect the reg 0049B0: 69 73 74 65 72 63 6F 6E 63 65 72 6E 65 64 2E 20 isterconcerned. 0049C0: 54 68 65 72 65 20 61 72 65 20 61 20 6E 75 6D 62 There are a numb 0049D0: 65 72 20 20 6F 66 20 75 73 65 66 75 6C 69 6E 73 er of usefulins 0049E0: 74 72 75 63 74 69 6F 6E 73 20 74 68 61 74 20 6F tructions that o 0049F0: 6E 6C 79 20 61 66 66 65 63 74 20 66 6C 61 67 73 nly affect flags 004A00: 2E 20 54 68 65 63 6F 6D 70 61 72 65 20 6F 72 20 . Thecompare or 004A10: 20 43 50 20 20 69 6E 73 74 72 75 63 74 69 6F 6E CP instruction 004A20: 20 20 69 73 20 20 6F 6E 65 20 20 6F 66 74 68 65 is one ofthe 004A30: 73 65 2E A0 A0 20 43 50 20 20 20 63 6F 6D 70 61 se... CP compa 004A40: 72 65 73 20 20 74 68 65 20 20 63 6F 6E 74 65 6E res the conten 004A50: 74 73 20 20 6F 66 20 74 68 65 20 20 41 72 65 67 ts of the Areg 004A60: 69 73 74 65 72 20 77 69 74 68 20 20 61 20 6E 75 ister with a nu 004A70: 6D 62 65 72 20 20 28 43 50 20 6E 29 2C 20 61 6E mber (CP n), an 004A80: 6F 74 68 65 72 72 65 67 69 73 74 65 72 20 20 28 otherregister ( 004A90: 43 50 20 82 88 72 29 2C 20 6F 72 20 61 6E 79 20 CP ..r), or any 004AA0: 6D 65 6D 6F 72 79 20 6C 6F 63 61 74 69 6F 6E 69 memory locationi 004AB0: 6E 64 69 72 65 63 74 6C 79 20 20 61 64 64 72 65 ndirectly addre 004AC0: 73 73 65 64 20 20 74 68 72 6F 75 67 68 20 20 74 ssed through t 004AD0: 68 65 20 20 20 48 4C 72 65 67 69 73 74 65 72 20 he HLregister 004AE0: 20 70 61 69 72 20 20 28 20 43 50 20 28 48 4C 29 pair ( CP (HL) 004AF0: 20 29 2E 20 54 68 65 20 63 6F 6D 70 61 72 65 69 ). The comparei 004B00: 6E 73 74 72 75 63 74 69 6F 6E 20 69 73 20 65 66 nstruction is ef 004B10: 66 65 63 74 69 76 65 6C 79 20 20 53 55 42 20 20 fectively SUB 004B20: 62 75 74 20 74 68 65 72 65 73 75 6C 74 20 20 64 but theresult d 004B30: 6F 65 73 20 6E 6F 74 20 61 66 66 65 63 74 20 20 oes not affect 004B40: 74 68 65 20 63 6F 6E 74 65 6E 74 73 20 6F 66 74 the contents oft 004B50: 68 65 20 41 20 72 65 67 69 73 74 65 72 2E A3 20 he A register.£ 004B60: 49 66 20 20 6E 20 20 69 73 20 20 74 68 65 20 20 If n is the 004B70: 6E 75 6D 62 65 72 20 20 77 69 74 68 20 77 68 69 number with whi 004B80: 63 68 20 41 20 69 73 63 6F 6D 70 61 72 65 64 2C ch A iscompared, 004B90: 20 74 68 65 6E 3D E0 20 74 68 65 20 66 6F 6C 6C then=. the foll 004BA0: 6F 77 69 6E 67 20 72 65 73 75 6C 74 73 20 3A 2D owing results :- 004BB0: 20 A0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 . 004BC0: 20 20 20 20 20 20 43 61 72 72 79 20 20 20 20 20 Carry 004BD0: 20 5A 65 72 6F A0 20 20 41 20 3E 20 6E 20 20 20 Zero. A > n 004BE0: 20 20 20 20 20 20 20 20 20 20 20 20 30 20 20 20 0 004BF0: 20 20 20 20 20 20 20 30 A0 20 20 41 20 3D 20 6E 0. A = n 004C00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 0 004C10: 20 20 20 20 20 20 20 20 20 20 31 A0 20 20 41 20 1. A 004C20: 3C 20 6E 20 20 20 20 20 20 20 20 20 20 20 20 20 < n 004C30: 20 20 31 20 20 20 20 20 20 20 20 20 20 30 A3 20 1 0£ 004C40: 53 75 6D 6D 61 72 79 20 2D 20 63 6F 6D 70 61 72 Summary - compar 004C50: 69 73 6F 6E 73 A0 A0 43 50 20 6E 20 20 20 20 20 isons..CP n 004C60: 43 6F 6D 70 61 72 65 73 20 41 20 77 69 74 68 20 Compares A with 004C70: 6E 20 28 20 30 20 2D 20 32 35 35 29 A0 A0 43 50 n ( 0 - 255)..CP 004C80: 20 72 20 20 20 20 20 43 6F 6D 70 61 72 65 73 20 r Compares 004C90: 41 20 77 69 74 68 20 3F D4 72 65 67 69 73 74 65 A with ?.registe 004CA0: 72 20 72 A0 A0 43 50 20 28 48 4C 29 20 20 43 6F r r..CP (HL) Co 004CB0: 6D 70 61 72 65 73 20 41 20 77 69 74 68 20 6D 65 mpares A with me 004CC0: 6D 6F 72 79 20 6C 6F 63 61 74 69 6F 6E 20 20 20 mory location 004CD0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 004CE0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 004CF0: 20 28 48 4C 29 A3 20 20 20 20 20 20 20 20 20 20 (HL)£ 004D00: 45 58 41 4D 50 4C 45 53 20 4F 46 20 43 4F 4D 50 EXAMPLES OF COMP 004D10: 41 52 45 A0 A0 20 54 72 79 20 20 74 6F 20 20 70 ARE.. Try to p 004D20: 72 65 64 69 63 74 20 20 74 68 65 20 73 74 61 74 redict the stat 004D30: 65 20 6F 66 20 74 68 65 20 5A 65 72 6F 61 6E 64 e of the Zeroand 004D40: 20 43 61 72 72 79 20 20 66 6C 61 67 73 20 62 65 Carry flags be 004D50: 66 6F 72 65 20 20 70 65 72 66 6F 72 6D 69 6E 67 fore performing 004D60: 20 20 74 68 65 63 6F 6D 70 61 72 69 73 6F 6E 2E thecomparison. 004D70: 20 20 49 6E 20 74 68 65 20 6E 65 78 74 20 6C 65 In the next le 004D80: 73 73 6F 6E 73 20 77 65 20 77 69 6C 6C 62 65 20 ssons we willbe 004D90: 20 75 73 69 6E 67 20 20 74 57 35 68 65 73 65 20 using tW5hese 004DA0: 20 66 6C 61 67 73 20 20 65 78 74 65 6E 73 69 76 flags extensiv 004DB0: 65 6C 79 2C 20 74 6F 70 72 6F 64 75 63 65 20 6D ely, toproduce m 004DC0: 6F 72 65 20 69 6E 74 65 72 65 73 74 69 6E 67 20 ore interesting 004DD0: 65 78 61 6D 70 6C 65 73 2E A3 20 4C 44 20 41 2C examples.£ LD A, 004DE0: 35 A0 20 20 43 50 20 34 A0 20 20 43 50 20 35 A0 5. CP 4. CP 5. 004DF0: 20 20 43 50 20 36 A0 20 20 4C 44 20 42 2C 33 A0 CP 6. LD B,3. 004E00: 20 20 43 50 20 42 A0 20 20 4C 44 20 48 4C 2C 53 CP B. LD HL,S 004E10: 54 4F 52 45 A0 20 20 43 50 20 28 48 4C 29 A0 20 TORE. CP (HL). 004E20: 20 44 45 43 20 28 48 4C 29 A0 20 20 43 50 20 28 DEC (HL). CP ( 004E30: 48 4C 29 A0 20 20 41 44 44 20 41 2C 32 33 30 A0 HL). ADD A,230. 004E40: 20 20 43 50 20 28 48 4C 29 A0 20 20 52 45 54 A0 CP (HL). RET. 004E50: 20 20 A0 20 53 54 4F 52 45 20 44 45 46 42 20 36 . STORE DEFB 6 004E60: A0 20 20 A0 20 00 00 00 00 00 00 00 00 00 00 00 . . ........... 004E70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 004E80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 004E90: 00 00 00 00 00 00 00 00 00 00 00 B9 E1 00 00 00 ................ 004EA0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 004EB0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 004EC0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 004ED0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 004EE0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 004EF0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 004F00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 004F10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 004F20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 004F30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 004F40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 004F50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 004F60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 004F70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 004F80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 004F90: 00 00 00 00 00 00 00 00 00 00 00 00 00 BE 17 00 ................ 004FA0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 004FB0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 004FC0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 004FD0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 004FE0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 004FF0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 BE ................ 0050A0: 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0050B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0050C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0050D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0050E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0050F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0051A0: 00 BE 17 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0051B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0051C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0051D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0051E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0051F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005200: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005210: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005220: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005230: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005240: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005250: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005260: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005270: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005280: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005290: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0052A0: 00 00 00 BE 17 00 00 00 00 00 00 00 00 00 00 00 ................ 0052B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0052C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0052D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0052E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0052F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005310: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005320: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005330: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005340: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005350: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005360: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005370: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005380: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005390: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0053A0: 00 00 00 00 00 BE 17 00 00 00 00 00 00 00 00 00 ................ 0053B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0053C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0053D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0053E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0053F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005400: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005410: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005420: 00 00 00 00 00 00 00 18 3C 7E FF 18 18 18 18 18 ........<~...... 005430: 18 18 18 FF 7E 3C 18 10 30 70 FF FF 70 30 10 08 ....~<..0p..p0.. 005440: 0C 0E FF FF 0E 0C 08 00 00 18 3C 7E FF FF 00 00 ..........<~.... 005450: 00 FF FF 7E 3C 18 00 80 E0 F8 FE F8 E0 80 00 02 ...~<........... 005460: 0E 3E FE 3E 0E 02 00 38 38 92 7C 10 28 28 28 38 .>.>...88.|.(((8 005470: 38 10 FE 10 28 44 82 38 38 12 7C 90 28 24 22 38 8...(D.88.|.($"8 005480: 38 90 7C 12 28 48 88 00 3C 18 3C 3C 3C 18 00 3C 8.|.(H..<.<<<..< 005490: FF FF 18 0C 18 30 18 18 3C 7E 18 18 7E 3C 18 00 .....0..<~..~<.. 0054A0: 24 66 FF 66 24 00 00 9E 32 00 C9 C9 C9 C9 C9 C9 $f.f$...2....... 0054B0: C9 C9 C9 C9 C9 C9 C9 C9 C9 C9 C9 C9 C9 C9 C9 C9 ................ 0054C0: C9 C9 C9 C9 C9 00 FF 00 00 FF 00 00 00 84 FF FF ................ 0054D0: 00 00 00 3F 88 80 03 00 00 FF FF 00 00 00 00 00 ...?............ 0054E0: 00 FF FF 00 08 79 C8 FD 00 FF FF 00 00 FF FF 00 .....y.......... 0054F0: 08 79 C8 FD 00 FF FF 00 00 FF FF 00 08 79 C8 FD .y...........y.. 005500: 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 00 02 79 ...............y 005510: C8 FD FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 ................ 005520: 04 79 C8 FD 00 FF FF 00 00 FF FF 00 00 FF DF 00 .y.............. 005530: 00 00 08 79 C8 FD FF 00 00 FF FF 00 00 FF FF 00 ...y............ 005540: 00 FF FF 00 10 79 C8 FD 00 FF FF 00 00 30 00 76 .....y.......0.v 005550: 65 20 22 54 45 58 54 30 22 2C 42 2C 26 35 38 30 e "TEXT0",B,&580 005560: 30 2C 26 35 35 30 30 00 30 00 54 45 52 22 00 61 0,&5500.0.TER".a 005570: 00 64 00 30 30 31 00 00 37 39 2C 26 65 64 2C 26 .d.001..79,&ed,& 005580: 37 38 2C 26 63 62 2C 26 34 37 00 26 31 62 2C 26 78,&cb,&47.&1b,& 005590: 37 61 2C 26 42 33 20 00 66 2C 26 30 00 FF FF 00 7a,&B3 .f,&0.... 0055A0: 00 FF FF 00 00 FF FF 00 00 8B 51 FF FF FF FF ..........Q....
previoustop
Tous droits réservés. Reproduction sans autorisation interdite. © Kukulcan