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

[STRUCTURE]

The Complete Machine Code Tutor (UK) (Face 2) (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 671 268
Sum of data for Turbo Loading - Turbo Loading size 1 byte3 671 268- 03 671 268
Sum of data for Pure Data - Pure Data size 3 bytes (sum = 262)0- 00
 


Result 3 671 268- 03 671 268
BLOCKTYPE BLOCKSUMDATAUsed bits
in last byte
Last
byte
DATA
0000PAUSE 
0001TURBO LOADING DATA1 4888FF263
0002TURBO LOADING DATA1 844 3068FF21935
0003TURBO LOADING DATA1 5508FF263
0004TURBO LOADING DATA1 823 9248FF21935

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

Length of PILOT pulse : 2326
Length of SYNC First pulse : 1270
Length of SYNC Second pulse : 1032
Length of ZERO bit pulse : 1172
Length of ONE bit pulse : 2342
Length of PILOT tone : 4098
Used bits in last byte : 8
Pause After this block : 2577ms
Data : 263 bytes
Total size : 282 bytes

Sum DATA : 1 488
000000: FC 02 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 63 73 FF FF FF FF .cs....
previousnext* BLOCK 0002 : TURBO LOADING DATA

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

Sum DATA : 1 844 306
000000: FB 06 58 2C 58 FE 7D 2D 58 31 58 3E 58 45 58 4F ..X,X.}-X1X>XEXO 000010: 58 56 58 5D 58 6A 58 71 58 7B 58 82 58 89 58 96 XVX]XjXqX{X.X.X. 000020: 58 9D 58 A7 58 B1 58 BB 58 C2 58 D8 58 00 00 45 X.X.X.X.X.X.X..E 000030: 80 01 00 DF 58 00 3C 5B 00 C4 5D 00 3D 5E 01 00 ....X.<[..].=^.. 000040: C3 5E 02 9D 60 01 00 26 61 00 CA 63 00 64 66 01 .^..`..&a..c.df. 000050: 00 07 67 02 06 69 01 00 73 68 02 D1 67 01 00 AB ..g..i..sh..g... 000060: 69 00 92 6C 00 6E 6F 00 9B 70 01 00 C6 71 02 75 i..l.no..p...q.u 000070: 74 01 00 07 75 00 03 78 00 C7 78 01 00 E2 79 02 t...u..x..x...y. 000080: FB 7B 01 00 A4 7C 02 5A 7D 01 00 77 81 00 BA 83 .{...|.Z}..w.... 000090: 00 39 86 00 E7 86 01 00 BF 88 02 93 8A 01 00 3C .9.............< 0000A0: 8B 00 79 8D 00 7F 8F 01 00 CE 91 00 02 95 06 76 ..y............v 0000B0: 9C 01 00 99 96 00 A8 98 00 B7 9A 01 00 B6 9B 06 ................ 0000C0: 14 96 01 00 05 9D 00 63 9F 00 29 A1 00 D5 A2 00 .......c..)..... 0000D0: CC A4 00 57 A6 00 5D A8 01 00 84 A9 02 3D AB 01 ...W..]......=.. 0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0000F0: 20 4A 55 4D 50 53 A0 A0 20 54 68 65 20 61 73 70 JUMPS.. The asp 000100: 65 7D A3 63 74 20 20 6F 66 20 61 20 63 6F 6D 70 e}£ct of a comp 000110: 75 74 65 72 20 74 68 61 74 20 6D 61 6B 65 73 20 uter that makes 000120: 69 74 6D 6F 72 65 20 74 68 61 6E 20 61 20 63 61 itmore than a ca 000130: 6C 63 75 6C 61 74 6F 72 20 69 73 20 69 74 73 20 lculator is its 000140: 61 62 69 6C 69 74 79 20 74 6F 63 68 61 6E 67 65 ability tochange 000150: 20 69 74 73 20 20 73 65 71 75 65 6E 63 65 20 6F its sequence o 000160: 66 20 6F 70 65 72 61 74 69 6F 6E 73 20 61 73 20 f operations as 000170: 20 61 72 65 73 75 6C 74 20 6F 66 20 20 65 61 72 aresult of ear 000180: 6C 69 65 72 20 69 6E 73 74 72 75 63 74 69 6F 6E lier instruction 000190: 73 2E 20 20 57 69 74 68 69 6E 74 68 65 20 5A 38 s. Withinthe Z8 0001A0: 30 20 20 74 68 65 72 65 20 20 69 73 20 61 20 63 0 there is a c 0001B0: 6F 75 6E 74 65 72 20 20 63 61 6C 6C 65 64 20 74 ounter called t 0001C0: 68 65 50 72 6F 67 72 61 6D 20 20 43 6F 75 6E 74 heProgram Count 0001D0: 65 72 20 20 6F 72 20 20 50 43 2E 20 20 54 68 69 er or PC. Thi 0001E0: 73 20 20 63 6F 75 6E 74 65 72 6B 65 65 70 73 20 s counterkeeps 0001F0: 20 74 72 61 63 6B 20 20 6F 66 20 20 77 68 69 63 track of whic 000200: 68 20 20 DE 22 69 6E 73 74 72 75 63 74 69 6F 6E h ."instruction 000210: 20 74 68 65 70 72 6F 63 65 73 73 6F 72 20 20 69 theprocessor i 000220: 73 20 20 74 6F 20 20 20 70 65 72 66 6F 72 6D 20 s to perform 000230: 20 20 6E 65 78 74 2E 20 20 20 42 79 6D 6F 64 69 next. Bymodi 000240: 66 79 69 6E 67 20 20 69 74 73 20 20 63 6F 6E 74 fying its cont 000250: 65 6E 74 73 2C 20 74 68 65 20 20 70 72 6F 63 65 ents, the proce 000260: 73 73 6F 72 63 61 6E 20 20 62 65 20 20 6A 75 6D ssorcan be jum 000270: 70 65 64 20 20 74 6F 20 20 61 6E 79 20 20 69 6E ped to any in 000280: 73 74 72 75 63 74 69 6F 6E 20 69 6E 6D 65 6D 6F struction inmemo 000290: 72 79 2E A0 A0 20 54 68 65 20 73 69 6D 70 6C 65 ry... The simple 0002A0: 73 74 20 6A 75 6D 70 20 69 73 20 4A 50 20 6E 6E st jump is JP nn 0002B0: 2C 20 77 68 65 72 65 20 6E 6E 20 69 73 74 68 65 , where nn isthe 0002C0: 20 61 64 64 72 65 73 73 20 74 6F 20 20 77 68 69 address to whi 0002D0: 63 68 20 74 68 65 20 20 70 72 6F 67 72 61 6D 20 ch the program 0002E0: 69 73 20 74 6F 6A 75 6D 70 2E 20 54 68 69 73 20 is tojump. This 0002F0: 69 73 20 61 6E 20 75 6E 63 6F 6E 64 69 74 69 6F is an unconditio 000300: 6E 61 6C 20 6A 14 89 75 6D 70 2C 20 74 68 65 50 nal j..ump, theP 000310: 72 6F 67 72 61 6D 20 20 43 6F 75 6E 74 65 72 20 rogram Counter 000320: 61 6C 77 61 79 73 20 6A 75 6D 70 69 6E 67 20 20 always jumping 000330: 74 6F 20 20 74 68 65 61 64 64 72 65 73 73 20 6E to theaddress n 000340: 6E 2E A3 20 54 68 65 20 20 20 6D 6F 72 65 20 20 n.£ The more 000350: 20 70 6F 77 65 72 66 75 6C 20 20 20 6A 75 6D 70 powerful jump 000360: 20 20 20 69 73 20 20 20 74 68 65 63 6F 6E 64 69 is thecondi 000370: 74 69 6F 6E 61 6C 20 20 6A 75 6D 70 2E 20 20 54 tional jump. T 000380: 68 65 20 20 70 72 6F 63 65 73 73 6F 72 20 74 65 he processor te 000390: 73 74 73 74 68 65 20 20 73 74 61 74 65 20 20 6F ststhe state o 0003A0: 66 20 20 61 20 20 66 6C 61 67 2C 20 20 62 65 66 f a flag, bef 0003B0: 6F 72 65 20 20 65 69 74 68 65 72 6A 75 6D 70 69 ore eitherjumpi 0003C0: 6E 67 20 6F 72 20 63 6F 6E 74 69 6E 75 69 6E 67 ng or continuing 0003D0: 20 69 6E 20 20 73 65 71 75 65 6E 63 65 2E A0 A0 in sequence... 0003E0: 20 54 68 65 20 20 63 6F 6E 64 69 74 69 6F 6E 61 The conditiona 0003F0: 6C 20 20 6A 75 6D 70 73 20 20 69 6E 76 6F 6C 76 l jumps involv 000400: 69 6E 67 20 20 74 68 12 9C 65 63 61 72 72 79 20 ing th..ecarry 000410: 61 6E 64 20 7A 65 72 6F 20 66 6C 61 67 73 20 61 and zero flags a 000420: 72 65 3A 2D A0 A0 4A 50 20 4E 43 2C 6E 6E 20 20 re:-..JP NC,nn 000430: 20 20 6A 75 6D 70 20 69 66 20 63 61 72 72 79 20 jump if carry 000440: 66 6C 61 67 20 6E 6F 74 20 73 65 74 A0 4A 50 20 flag not set.JP 000450: 43 2C 6E 6E 20 20 20 20 20 6A 75 6D 70 20 69 66 C,nn jump if 000460: 20 63 61 72 72 79 20 66 6C 61 67 20 73 65 74 A0 carry flag set. 000470: 4A 50 20 4E 5A 2C 6E 6E 20 20 20 20 6A 75 6D 70 JP NZ,nn jump 000480: 20 69 66 20 7A 65 72 6F 20 20 66 6C 61 67 20 6E if zero flag n 000490: 6F 74 20 73 65 74 A0 4A 50 20 5A 2C 6E 6E 20 20 ot set.JP Z,nn 0004A0: 20 20 20 6A 75 6D 70 20 69 66 20 7A 65 72 6F 20 jump if zero 0004B0: 20 66 6C 61 67 20 73 65 74 A0 A0 20 49 6E 64 69 flag set.. Indi 0004C0: 72 65 63 74 20 6A 75 6D 70 73 20 20 61 72 65 20 rect jumps are 0004D0: 20 61 6C 73 6F 20 20 61 76 61 69 6C 61 62 6C 65 also available 0004E0: 20 6F 6E 74 68 65 20 5A 38 30 20 75 73 69 6E 67 onthe Z80 using 0004F0: 20 20 74 68 65 20 20 48 4C 20 20 20 72 65 67 69 the HL regi 000500: 73 74 65 72 20 20 70 61 69 A4 CE 72 2E 54 68 65 ster pai..r.The 000510: 20 20 20 69 6E 73 74 72 75 63 74 69 6F 6E 20 20 instruction 000520: 20 4A 50 20 28 48 4C 29 20 20 20 6C 6F 61 64 73 JP (HL) loads 000530: 20 20 74 68 65 70 72 6F 67 72 61 6D 20 63 6F 75 theprogram cou 000540: 6E 74 65 72 20 77 69 74 68 20 74 68 65 20 63 6F nter with the co 000550: 6E 74 65 6E 74 73 20 6F 66 20 74 68 65 48 4C 20 ntents of theHL 000560: 72 65 67 69 73 74 65 72 2E 20 20 54 68 75 73 20 register. Thus 000570: 20 74 68 65 20 61 64 64 72 65 73 73 20 20 6F 66 the address of 000580: 20 20 74 68 65 6E 65 78 74 20 20 69 6E 73 74 72 thenext instr 000590: 75 63 74 69 6F 6E 20 20 74 6F 20 20 62 65 20 20 uction to be 0005A0: 70 65 72 66 6F 72 6D 65 64 20 20 69 73 63 6F 6E performed iscon 0005B0: 74 61 69 6E 65 64 20 77 69 74 68 69 6E 20 74 68 tained within th 0005C0: 65 20 48 4C 20 72 65 67 69 73 74 65 72 2E A3 53 e HL register.£S 0005D0: 69 6E 63 65 20 20 74 68 65 20 63 6F 6E 74 65 6E ince the conten 0005E0: 74 73 20 6F 66 20 74 68 65 20 20 48 4C 20 20 72 ts of the HL r 0005F0: 65 67 69 73 74 65 72 70 61 69 72 20 20 20 63 61 egisterpair ca 000600: 6E 20 20 20 62 65 20 20 74 68 65 26 2D 20 20 72 n be the&- r 000610: 65 73 75 6C 74 20 20 20 6F 66 20 20 20 73 6F 6D esult of som 000620: 65 63 61 6C 63 75 6C 61 74 69 6F 6E 20 74 68 65 ecalculation the 000630: 20 6A 75 6D 70 20 63 61 6E 20 62 65 20 63 6F 6E jump can be con 000640: 64 69 74 69 6F 6E 61 6C 2E A3 20 53 75 6D 6D 61 ditional.£ Summa 000650: 72 79 20 2D 20 6A 75 6D 70 73 A0 A0 4A 50 20 6E ry - jumps..JP n 000660: 6E A0 4A 50 20 28 48 4C 29 A0 A0 4A 50 20 4E 43 n.JP (HL)..JP NC 000670: 2C 6E 6E 20 20 6A 75 6D 70 20 6F 6E 20 6E 6F 20 ,nn jump on no 000680: 63 61 72 72 79 A0 4A 50 20 43 2C 6E 6E 20 20 20 carry.JP C,nn 000690: 6A 75 6D 70 20 6F 6E 20 63 61 72 72 79 A0 4A 50 jump on carry.JP 0006A0: 20 4E 5A 2C 6E 6E 20 20 6A 75 6D 70 20 6F 6E 20 NZ,nn jump on 0006B0: 6E 6F 74 20 7A 65 72 6F A0 4A 50 20 5A 2C 6E 6E not zero.JP Z,nn 0006C0: 20 20 20 6A 75 6D 70 20 6F 6E 20 7A 65 72 6F A3 jump on zero£ 0006D0: 20 20 20 20 20 20 20 20 20 45 58 41 4D 50 4C 45 EXAMPLE 0006E0: 53 20 4F 46 20 4A 55 4D 50 53 A0 A0 20 41 6C 74 S OF JUMPS.. Alt 0006F0: 68 6F 75 67 68 20 20 79 6F 75 20 20 63 61 6E 20 hough you can 000700: 20 65 6E 74 65 72 20 20 74 68 65 20 20 19 EB 61 enter the ..a 000710: 64 64 72 65 73 73 77 69 74 68 69 6E 20 74 68 65 ddresswithin the 000720: 20 6A 75 6D 70 20 69 6E 20 20 6E 75 6D 62 65 72 jump in number 000730: 20 20 66 6F 72 6D 2C 20 20 69 66 20 69 74 64 6F form, if itdo 000740: 65 73 20 6E 6F 74 20 65 71 75 61 6C 20 74 68 65 es not equal the 000750: 20 61 64 64 72 65 73 73 20 6F 66 20 20 74 68 65 address of the 000760: 20 73 74 61 72 74 6F 66 20 61 6E 20 20 69 6E 73 startof an ins 000770: 74 72 75 63 74 69 6F 6E 2C 20 20 74 68 65 20 73 truction, the s 000780: 69 6D 75 6C 61 74 6F 72 20 20 77 69 6C 6C 73 74 imulator willst 000790: 6F 70 20 61 74 20 74 68 65 20 20 4A 55 4D 50 2E op at the JUMP. 0007A0: 20 20 54 68 69 73 20 69 73 20 62 65 63 61 75 73 This is becaus 0007B0: 65 20 20 74 68 65 70 72 6F 63 65 73 73 6F 72 20 e theprocessor 0007C0: 77 6F 75 6C 64 20 70 65 72 66 6F 72 6D 20 20 74 would perform t 0007D0: 68 65 20 69 6E 73 74 72 75 63 74 69 6F 6E 69 74 he instructionit 0007E0: 20 66 69 6E 64 73 20 20 61 74 20 20 74 68 61 74 finds at that 0007F0: 20 20 61 64 64 72 65 73 73 20 61 6E 64 20 61 6E address and an 000800: 79 74 68 69 6E 67 63 6F 75 6C 64 20 68 61 70 AD ythingcould hap. 000810: 26 70 65 6E 20 61 6E 64 20 75 73 75 61 6C 6C 79 &pen and usually 000820: 20 64 6F 65 73 2E A0 A0 20 54 6F 20 67 65 74 20 does... To get 000830: 72 6F 75 6E 64 20 74 68 69 73 20 70 72 6F 62 6C round this probl 000840: 65 6D 20 20 75 73 65 20 61 20 6C 61 62 65 6C 2C em use a label, 000850: 64 65 63 6C 61 72 69 6E 67 20 20 69 74 20 20 69 declaring it i 000860: 6E 20 20 74 68 65 20 20 6C 61 62 65 6C 20 20 63 n the label c 000870: 6F 6C 75 6D 6E 20 69 6E 66 72 6F 6E 74 20 6F 66 olumn infront of 000880: 20 74 68 65 20 20 69 6E 73 74 72 75 63 74 69 6F the instructio 000890: 6E 20 20 74 6F 20 77 68 69 63 68 20 20 79 6F 75 n to which you 0008A0: 77 69 73 68 20 74 6F 20 6A 75 6D 70 2E A3 20 4C wish to jump.£ L 0008B0: 44 20 48 4C 2C 53 54 4F 52 45 A0 20 20 4C 44 20 D HL,STORE. LD 0008C0: 41 2C 33 A0 20 4C 4F 4F 50 31 20 4C 44 20 28 48 A,3. LOOP1 LD (H 0008D0: 4C 29 2C 41 A0 20 20 49 4E 43 20 41 A0 20 20 43 L),A. INC A. C 0008E0: 50 20 38 A0 20 20 4A 50 20 4E 5A 2C 4C 4F 4F 50 P 8. JP NZ,LOOP 0008F0: 31 A0 20 20 A0 20 4C 4F 4F 50 32 20 44 45 43 20 1. . LOOP2 DEC 000900: 28 48 4C 29 A0 20 20 4A 50 20 4E 5A 2C 4C 4F 4F (HL). JP NZ,LOO 000910: 50 DB 71 32 A0 20 20 52 45 54 A0 20 20 A0 20 20 P.q2. RET. . 000920: A0 20 53 54 4F 52 45 20 44 45 46 42 20 30 A0 20 . STORE DEFB 0. 000930: 20 A0 20 20 A0 20 20 A0 20 20 20 20 20 20 20 20 . . . 000940: 20 20 20 20 52 45 4C 41 54 49 56 45 20 4A 55 4D RELATIVE JUM 000950: 50 53 A0 A0 20 4F 6E 65 20 64 69 66 66 69 63 75 PS.. One difficu 000960: 6C 74 79 20 77 69 74 68 20 74 68 65 20 20 61 62 lty with the ab 000970: 6F 76 65 20 74 79 70 65 73 20 6F 66 6A 75 6D 70 ove types ofjump 000980: 20 69 73 20 74 68 61 74 2C 20 20 69 66 20 20 74 is that, if t 000990: 68 65 20 20 73 74 61 72 74 20 61 64 64 72 65 73 he start addres 0009A0: 73 20 6F 66 74 68 65 20 70 72 6F 67 72 61 6D 20 s ofthe program 0009B0: 20 77 65 72 65 20 63 68 61 6E 67 65 64 2C 20 61 were changed, a 0009C0: 6C 6C 20 74 68 65 20 20 6A 75 6D 70 61 64 64 72 ll the jumpaddr 0009D0: 65 73 73 65 73 20 20 77 6F 75 6C 64 20 20 72 65 esses would re 0009E0: 71 75 69 72 65 20 20 6D 6F 64 69 66 69 63 61 74 quire modificat 0009F0: 69 6F 6E 2E 52 65 6C 61 74 69 76 65 20 20 6A 75 ion.Relative ju 000A00: 6D 70 73 20 20 64 6F 20 20 20 6E 6F 74 20 20 20 mps do not 000A10: 68 61 76 06 EE 65 20 20 20 20 74 68 69 73 64 69 hav..e thisdi 000A20: 66 66 69 63 75 6C 74 79 2E 20 54 68 65 20 61 62 fficulty. The ab 000A30: 73 6F 6C 75 74 65 20 61 64 64 72 65 73 73 20 69 solute address i 000A40: 73 20 20 6E 6F 74 73 74 6F 72 65 64 20 20 77 69 s notstored wi 000A50: 74 68 20 20 74 68 65 20 69 6E 73 74 72 75 63 74 th the instruct 000A60: 69 6F 6E 2E 20 49 74 20 69 73 20 74 68 65 64 69 ion. It is thedi 000A70: 66 66 65 72 65 6E 63 65 20 20 62 65 74 77 65 65 fference betwee 000A80: 6E 20 74 68 65 20 63 75 72 72 65 6E 74 20 63 6F n the current co 000A90: 6E 74 65 6E 74 73 6F 66 20 74 68 65 20 70 72 6F ntentsof the pro 000AA0: 67 72 61 6D 20 20 63 6F 75 6E 74 65 72 20 61 6E gram counter an 000AB0: 64 20 74 68 65 20 20 61 64 64 72 65 73 73 74 6F d the addressto 000AC0: 20 77 68 69 63 68 20 20 77 65 20 77 69 73 68 20 which we wish 000AD0: 74 6F 20 6A 75 6D 70 20 74 68 61 74 20 69 73 20 to jump that is 000AE0: 73 74 6F 72 65 64 77 69 74 68 69 6E 20 20 74 68 storedwithin th 000AF0: 65 20 69 6E 73 74 72 75 63 74 69 6F 6E 2E 20 20 e instruction. 000B00: 52 65 6C 61 74 69 76 65 20 6A 75 6D 70 73 61 72 Relative jumpsar 000B10: 65 20 20 6C 69 6A 8B 6D 69 74 65 64 20 74 6F 20 e lij.mited to 000B20: 20 6A 75 6D 70 69 6E 67 20 20 62 61 63 6B 77 61 jumping backwa 000B30: 72 64 73 20 20 31 32 38 6C 6F 63 61 74 69 6F 6E rds 128location 000B40: 73 20 61 6E 64 20 66 6F 72 77 61 72 64 73 20 31 s and forwards 1 000B50: 32 37 20 6C 6F 63 61 74 69 6F 6E 73 2E A0 A0 20 27 locations... 000B60: 54 68 65 20 6D 6E 65 6D 6F 6E 69 63 20 66 6F 72 The mnemonic for 000B70: 20 20 72 65 6C 61 74 69 76 65 20 6A 75 6D 70 73 relative jumps 000B80: 20 69 73 20 20 4A 52 61 6E 64 20 63 61 6E 20 74 is JRand can t 000B90: 61 6B 65 20 61 6C 6C 20 74 68 65 20 66 6F 72 6D ake all the form 000BA0: 73 20 64 69 73 63 75 73 73 65 64 20 20 73 6F 66 s discussed sof 000BB0: 61 72 20 66 6F 72 20 4A 50 2C 20 69 2E 65 2E 20 ar for JP, i.e. 000BC0: 4A 52 20 2C 20 4A 52 20 4E 43 2C 20 4A 52 20 43 JR , JR NC, JR C 000BD0: 2C 20 4A 52 20 4E 5A 61 6E 64 20 4A 52 20 5A 2E , JR NZand JR Z. 000BE0: A3 20 54 68 65 72 65 20 20 69 73 20 6F 6E 65 20 £ There is one 000BF0: 70 61 72 74 69 63 75 6C 61 72 20 20 72 65 6C 61 particular rela 000C00: 74 69 76 65 20 6A 75 6D 70 69 6E 73 74 72 75 63 tive jumpinstruc 000C10: 74 69 6F 6E 20 74 68 8F F0 61 74 20 69 73 20 70 tion th..at is p 000C20: 61 72 74 69 63 75 6C 61 72 6C 79 20 20 75 73 65 articularly use 000C30: 66 75 6C 6E 61 6D 65 6C 79 20 20 44 65 63 72 65 fulnamely Decre 000C40: 6D 65 6E 74 20 20 61 6E 64 20 4A 75 6D 70 20 6F ment and Jump o 000C50: 6E 20 4E 6F 6E 2D 5A 65 72 6F 2C 6F 72 20 44 4A n Non-Zero,or DJ 000C60: 4E 5A 2E 20 20 20 54 68 65 20 42 20 72 65 67 69 NZ. The B regi 000C70: 73 74 65 72 20 69 73 20 64 65 63 72 65 6D 65 6E ster is decremen 000C80: 74 65 64 61 6E 64 2C 20 20 69 66 20 20 74 68 65 tedand, if the 000C90: 20 20 72 65 73 75 6C 74 20 20 69 73 20 20 6E 6F result is no 000CA0: 74 20 7A 65 72 6F 2C 20 74 68 65 70 72 6F 63 65 t zero, theproce 000CB0: 73 73 6F 72 20 20 70 65 72 66 6F 72 6D 73 20 20 ssor performs 000CC0: 61 20 72 65 6C 61 74 69 76 65 20 20 6A 75 6D 70 a relative jump 000CD0: 20 74 6F 74 68 65 20 63 6F 6D 70 75 74 65 64 20 tothe computed 000CE0: 6E 65 77 20 61 64 64 72 65 73 73 2E 20 49 66 20 new address. If 000CF0: 74 68 65 20 20 72 65 73 75 6C 74 69 73 20 20 7A the resultis z 000D00: 65 72 6F 20 20 74 68 65 6E 20 20 74 68 65 20 20 ero then the 000D10: 6E 65 78 74 20 69 6E 73 74 5A 4D 72 75 63 74 69 next instZMructi 000D20: 6F 6E 20 69 6E 73 65 71 75 65 6E 63 65 20 69 73 on insequence is 000D30: 20 74 61 6B 65 6E 2E 20 20 44 4A 4E 5A 20 20 61 taken. DJNZ a 000D40: 6C 6C 6F 77 73 20 20 75 73 20 20 74 6F 72 65 70 llows us torep 000D50: 65 61 74 20 61 20 73 65 72 69 65 73 20 6F 66 20 eat a series of 000D60: 69 6E 73 74 72 75 63 74 69 6F 6E 73 20 61 20 70 instructions a p 000D70: 72 65 73 65 74 6E 75 6D 62 65 72 20 6F 66 20 74 resetnumber of t 000D80: 69 6D 65 73 2E 20 54 68 65 20 20 6E 75 6D 62 65 imes. The numbe 000D90: 72 20 6F 66 20 20 72 65 70 65 61 74 73 69 73 20 r of repeatsis 000DA0: 20 65 71 75 61 6C 20 20 74 6F 20 20 74 68 65 20 equal to the 000DB0: 20 63 6F 6E 74 65 6E 74 73 20 20 6F 66 20 20 74 contents of t 000DC0: 68 65 20 20 42 72 65 67 69 73 74 65 72 20 77 68 he Bregister wh 000DD0: 65 6E 20 74 68 65 20 20 6C 6F 6F 70 20 69 73 20 en the loop is 000DE0: 20 65 6E 74 65 72 65 64 2C 20 20 73 6F 6C 6F 6E entered, solon 000DF0: 67 20 20 61 73 20 20 74 68 65 20 20 42 20 20 72 g as the B r 000E00: 65 67 69 73 74 65 72 20 64 6F 65 73 20 6E 6F 74 egister does not 000E10: 20 66 6F 72 6D 70 61 72 74 20 6F FC 51 66 20 74 formpart o.Qf t 000E20: 68 65 20 73 65 72 69 65 73 20 6F 66 20 69 6E 73 he series of ins 000E30: 74 72 75 63 74 69 6F 6E 73 2E A0 A0 20 4E 6F 20 tructions... No 000E40: 20 66 6C 61 67 73 20 20 61 72 65 20 20 61 66 66 flags are aff 000E50: 65 63 74 65 64 20 20 62 79 20 20 61 6E 79 20 20 ected by any 000E60: 6A 75 6D 70 69 6E 73 74 72 75 63 74 69 6F 6E 73 jumpinstructions 000E70: 20 69 6E 63 6C 75 64 69 6E 67 20 44 4A 4E 5A 2E including DJNZ. 000E80: A3 20 53 75 6D 6D 61 72 79 20 2D 20 72 65 6C 61 £ Summary - rela 000E90: 74 69 76 65 20 6A 75 6D 70 73 A0 A0 4A 52 20 65 tive jumps..JR e 000EA0: 20 20 20 20 20 20 77 68 65 72 65 20 65 20 69 73 where e is 000EB0: 20 74 68 65 20 64 69 73 70 6C 61 63 65 6D 65 6E the displacemen 000EC0: 74 20 69 6E 4A 52 20 4E 43 2C 65 20 20 20 74 68 t inJR NC,e th 000ED0: 65 20 72 61 6E 67 65 20 31 32 37 20 74 6F 20 2D e range 127 to - 000EE0: 31 32 38 A0 4A 52 20 43 2C 65 A0 4A 52 20 4E 5A 128.JR C,e.JR NZ 000EF0: 2C 65 A0 4A 52 20 5A 2C 65 A0 A0 44 4A 4E 5A 20 ,e.JR Z,e..DJNZ 000F00: 65 20 20 20 20 64 65 63 72 65 6D 65 6E 74 20 61 e decrement a 000F10: 6E 64 20 6A 75 6D 70 20 6F 6E 20 6E 6F 05 E6 6E nd jump on no..n 000F20: 20 7A 65 72 6F A3 20 20 20 20 20 20 20 45 58 41 zero£ EXA 000F30: 4D 50 4C 45 20 4F 46 20 52 45 4C 41 54 49 56 45 MPLE OF RELATIVE 000F40: 20 4A 55 4D 50 53 A0 A0 20 41 6C 6C 20 61 73 73 JUMPS.. All ass 000F50: 65 6D 62 6C 65 72 73 20 20 63 61 6C 63 75 6C 61 emblers calcula 000F60: 74 65 20 74 68 65 20 64 69 73 70 6C 61 63 65 2D te the displace- 000F70: 6D 65 6E 74 20 66 6F 72 20 72 65 6C 61 74 69 76 ment for relativ 000F80: 65 20 6A 75 6D 70 73 2E 20 20 20 54 68 65 20 61 e jumps. The a 000F90: 73 73 65 6D 62 6C 65 72 77 69 74 68 69 6E 20 20 ssemblerwithin 000FA0: 20 74 68 69 73 20 20 54 55 54 4F 52 20 20 69 73 this TUTOR is 000FB0: 20 20 6E 6F 20 20 65 78 63 65 70 74 69 6F 6E 2E no exception. 000FC0: 52 65 6C 61 74 69 76 65 20 6A 75 6D 70 73 20 20 Relative jumps 000FD0: 73 68 6F 75 6C 64 20 20 62 65 20 20 65 6E 74 65 should be ente 000FE0: 72 65 64 20 77 69 74 68 6C 61 62 65 6C 73 2E A3 red withlabels.£ 000FF0: 20 4C 44 20 48 4C 2C 53 54 4F 52 45 A0 20 20 4C LD HL,STORE. L 001000: 44 20 42 2C 28 48 4C 29 A0 20 20 49 4E 43 20 48 D B,(HL). INC H 001010: 4C A0 20 20 4C 44 20 45 2C 28 48 4C 29 A0 20 8A L. LD E,(HL). . 001020: 07 20 4C 44 20 48 4C 2C 30 A0 20 20 4C 44 20 44 . LD HL,0. LD D 001030: 2C 30 A0 20 4C 4F 4F 50 20 20 41 44 44 20 48 4C ,0. LOOP ADD HL 001040: 2C 44 45 A0 20 20 44 4A 4E 5A 20 4C 4F 4F 50 A0 ,DE. DJNZ LOOP. 001050: 20 20 4C 44 20 28 41 4E 53 29 2C 48 4C A0 20 20 LD (ANS),HL. 001060: 52 45 54 A0 20 20 A0 20 53 54 4F 52 45 20 44 45 RET. . STORE DE 001070: 46 42 20 36 A0 20 20 44 45 46 42 20 35 38 A0 20 FB 6. DEFB 58. 001080: 41 4E 53 20 20 20 44 45 46 57 20 30 A0 20 20 A0 ANS DEFW 0. . 001090: 20 20 A0 20 20 20 20 20 20 20 45 58 41 4D 50 4C . EXAMPL 0010A0: 45 20 4F 46 20 52 45 4C 41 54 49 56 45 20 4A 55 E OF RELATIVE JU 0010B0: 4D 50 53 A0 A0 20 54 68 69 73 20 20 65 78 61 6D MPS.. This exam 0010C0: 70 6C 65 20 20 69 6C 6C 75 73 74 72 61 74 65 73 ple illustrates 0010D0: 20 61 20 6D 65 74 68 6F 64 20 20 6F 66 6D 75 6C a method ofmul 0010E0: 74 69 70 6C 69 63 61 74 69 6F 6E 2E 20 20 54 68 tiplication. Th 0010F0: 65 72 65 20 61 72 65 20 20 6F 74 68 65 72 20 66 ere are other f 001100: 61 73 74 65 72 6D 65 74 68 6F 64 73 20 74 68 61 astermethods tha 001110: 74 20 77 69 6C 6C 20 62 65 20 73 68 6F 77 6E 20 t will be shown 001120: 6C F9 DD 61 74 65 72 2E A3 20 4C 44 20 41 2C 31 l..ater.£ LD A,1 001130: A0 20 4C 4F 4F 50 31 20 41 44 44 20 41 2C 41 A0 . LOOP1 ADD A,A. 001140: 20 20 4C 44 20 28 53 54 4F 52 45 29 2C 41 A0 20 LD (STORE),A. 001150: 20 4A 52 20 4E 43 2C 4C 4F 4F 50 31 A0 20 20 49 JR NC,LOOP1. I 001160: 4E 43 20 41 A0 20 20 4C 44 20 42 2C 37 A0 20 4C NC A. LD B,7. L 001170: 4F 4F 50 32 20 41 44 44 20 41 2C 41 A0 20 20 4C OOP2 ADD A,A. L 001180: 44 20 28 53 54 4F 52 45 29 2C 41 A0 20 20 49 4E D (STORE),A. IN 001190: 43 20 41 A0 20 20 4C 44 20 28 53 54 4F 52 45 29 C A. LD (STORE) 0011A0: 2C 41 A0 20 20 44 4A 4E 5A 20 4C 4F 4F 50 32 A0 ,A. DJNZ LOOP2. 0011B0: 20 20 52 45 54 A0 20 20 A0 20 53 54 4F 52 45 20 RET. . STORE 0011C0: 44 45 46 42 20 30 A0 20 20 A0 20 20 A0 20 20 20 DEFB 0. . . 0011D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 54 48 45 THE 0011E0: 20 53 54 41 43 4B A0 A0 20 54 68 65 20 53 74 61 STACK.. The Sta 0011F0: 63 6B 20 69 73 20 61 6E 20 61 72 65 61 20 6F 66 ck is an area of 001200: 20 65 78 74 65 72 6E 61 6C 20 52 61 6E 64 6F 6D external Random 001210: 41 63 63 65 73 73 20 4D 65 6D 6F 72 79 2C 20 20 Access Memory, 001220: 74 68 61 0E C2 74 20 69 73 20 75 73 65 64 20 61 tha..t is used a 001230: 73 20 61 20 73 65 72 69 65 73 6F 66 20 72 65 67 s a seriesof reg 001240: 69 73 74 65 72 20 70 61 69 72 73 2C 20 69 6E 20 ister pairs, in 001250: 63 6F 6E 6A 75 6E 63 74 69 6F 6E 20 77 69 74 68 conjunction with 001260: 20 61 53 74 61 63 6B 20 50 6F 69 6E 74 65 72 2E aStack Pointer. 001270: 20 54 68 65 20 53 74 61 63 6B 20 50 6F 69 6E 74 The Stack Point 001280: 65 72 20 28 53 50 29 20 69 73 69 73 20 73 69 6E er (SP) isis sin 001290: 67 6C 65 20 20 64 6F 75 62 6C 65 20 6C 65 6E 67 gle double leng 0012A0: 74 68 20 72 65 67 69 73 74 65 72 20 77 69 74 68 th register with 0012B0: 69 6E 74 68 65 20 5A 38 30 2C 20 63 61 70 61 62 inthe Z80, capab 0012C0: 6C 65 20 6F 66 20 68 6F 6C 64 69 6E 67 20 75 70 le of holding up 0012D0: 20 74 6F 20 36 35 33 33 35 2E A0 20 42 65 66 6F to 65335.. Befo 0012E0: 72 65 20 20 6C 6F 61 64 69 6E 67 20 20 20 74 68 re loading th 0012F0: 65 20 20 53 74 61 63 6B 20 20 66 72 6F 6D 20 20 e Stack from 001300: 61 6E 79 69 6E 74 65 72 6E 61 6C 20 20 20 72 65 anyinternal re 001310: 67 69 73 74 65 72 20 20 20 70 61 69 72 2C 20 20 gister pair, 001320: 20 74 68 65 20 0A D6 20 53 74 61 63 6B 50 6F 69 the .. StackPoi 001330: 6E 74 65 72 20 20 69 73 20 20 64 65 63 72 65 6D nter is decrem 001340: 65 6E 74 65 64 20 20 74 77 69 63 65 2C 20 20 28 ented twice, ( 001350: 20 74 68 75 73 70 6F 69 6E 74 69 6E 67 20 20 74 thuspointing t 001360: 6F 20 74 68 65 20 20 6E 65 78 74 20 20 70 61 69 o the next pai 001370: 72 20 20 6F 66 20 20 6D 65 6D 6F 72 79 6C 6F 63 r of memoryloc 001380: 61 74 69 6F 6E 73 29 2E 20 54 68 65 20 63 6F 6E ations). The con 001390: 74 65 6E 74 73 20 6F 66 20 74 68 65 20 72 65 67 tents of the reg 0013A0: 69 73 74 65 72 69 73 20 74 68 65 6E 20 6C 6F 61 isteris then loa 0013B0: 64 65 64 20 69 6E 74 6F 20 74 68 65 20 53 74 61 ded into the Sta 0013C0: 63 6B 20 69 6E 64 69 72 65 63 74 6C 79 75 73 69 ck indirectlyusi 0013D0: 6E 67 20 74 68 65 20 53 50 20 72 65 67 69 73 74 ng the SP regist 0013E0: 65 72 20 61 73 20 74 68 65 20 61 64 64 72 65 73 er as the addres 0013F0: 73 2E A0 A0 20 54 68 65 20 69 6E 73 74 72 75 63 s... The instruc 001400: 74 69 6F 6E 20 69 73 20 50 55 53 48 20 64 64 2E tion is PUSH dd. 001410: 20 20 43 6F 6E 74 69 6E 75 69 6E 67 74 6F 20 50 Continuingto P 001420: 55 53 48 20 20 64 61 F2 D0 74 61 20 6F 6E 20 74 USH da..ta on t 001430: 6F 20 74 68 65 20 53 74 61 63 6B 20 72 65 73 75 o the Stack resu 001440: 6C 74 73 20 69 6E 74 68 65 20 20 64 61 74 61 20 lts inthe data 001450: 20 62 65 69 6E 67 20 70 75 73 68 65 64 20 69 6E being pushed in 001460: 20 61 74 20 74 68 65 20 62 6F 74 74 6F 6D 6F 66 at the bottomof 001470: 20 20 74 68 65 20 20 53 74 61 63 6B 20 20 61 6E the Stack an 001480: 64 20 20 74 68 65 20 20 53 74 61 63 6B 20 20 50 d the Stack P 001490: 6F 69 6E 74 65 72 77 6F 72 6B 69 6E 67 20 69 74 ointerworking it 0014A0: 73 20 77 61 79 20 64 6F 77 6E 20 74 68 72 6F 75 s way down throu 0014B0: 67 68 20 6D 65 6D 6F 72 79 2E A3 20 50 4F 50 20 gh memory.£ POP 0014C0: 64 64 20 20 72 65 74 72 69 65 76 65 73 20 20 64 dd retrieves d 0014D0: 61 74 61 20 20 66 72 6F 6D 20 74 68 65 20 53 74 ata from the St 0014E0: 61 63 6B 69 6E 74 6F 20 20 74 68 65 20 20 64 65 ackinto the de 0014F0: 66 69 6E 65 64 20 20 72 65 67 69 73 74 65 72 20 fined register 001500: 20 70 61 69 72 2E 20 20 54 68 65 72 65 67 69 73 pair. Theregis 001510: 74 65 72 20 20 20 70 61 69 72 20 20 69 73 20 20 ter pair is 001520: 6C 6F 61 64 65 64 20 20 20 46 75 77 69 74 68 20 loaded Fuwith 001530: 20 20 74 68 65 63 6F 6E 74 65 6E 74 73 20 6F 66 thecontents of 001540: 20 74 68 65 20 20 6D 65 6D 6F 72 79 20 6C 6F 63 the memory loc 001550: 61 74 69 6F 6E 20 70 6F 69 6E 74 65 64 74 6F 20 ation pointedto 001560: 62 79 20 53 50 20 72 65 67 69 73 74 65 72 2E 20 by SP register. 001570: 20 54 68 65 6E 20 20 74 68 65 20 53 50 20 69 73 Then the SP is 001580: 20 69 6E 63 2D 72 65 6D 65 6E 74 65 64 20 74 77 inc-remented tw 001590: 69 63 65 2E A0 A0 20 43 6F 6E 74 69 6E 75 69 6E ice... Continuin 0015A0: 67 20 20 74 6F 20 20 50 4F 50 20 64 61 74 61 20 g to POP data 0015B0: 66 72 6F 6D 20 74 68 65 20 53 74 61 63 6B 72 65 from the Stackre 0015C0: 73 75 6C 74 73 20 69 6E 20 69 6E 66 6F 72 6D 61 sults in informa 0015D0: 74 69 6F 6E 20 62 65 69 6E 67 20 50 4F 50 70 65 tion being POPpe 0015E0: 64 20 66 72 6F 6D 74 68 65 20 62 6F 74 74 6F 6D d fromthe bottom 0015F0: 20 20 6F 66 20 74 68 65 20 53 74 61 63 6B 20 61 of the Stack a 001600: 6E 64 20 20 74 68 65 20 20 53 74 61 63 6B 50 6F nd the StackPo 001610: 69 6E 74 65 72 20 77 6F 72 6B 69 6E 67 20 69 74 inter working it 001620: 73 20 77 61 79 20 62 61 63 6B 20 B0 EB 75 70 20 s way back ..up 001630: 20 74 68 72 6F 75 67 68 74 68 65 20 6D 65 6D 6F throughthe memo 001640: 72 79 2E A0 A0 20 49 66 20 20 61 20 20 73 65 72 ry... If a ser 001650: 69 65 73 20 6F 66 20 72 65 67 69 73 74 65 72 73 ies of registers 001660: 20 69 73 20 50 55 53 48 65 64 20 6F 6E 74 6F 20 is PUSHed onto 001670: 74 68 65 20 20 53 74 61 63 6B 2C 20 20 61 6E 64 the Stack, and 001680: 20 73 75 62 73 65 71 75 65 6E 74 6C 79 20 20 50 subsequently P 001690: 4F 50 70 65 64 6F 66 66 20 74 68 65 20 20 53 74 OPpedoff the St 0016A0: 61 63 6B 2C 20 20 20 74 68 65 79 20 20 72 65 61 ack, they rea 0016B0: 70 70 65 61 72 20 20 69 6E 20 74 68 65 72 65 76 ppear in therev 0016C0: 65 72 73 65 20 6F 72 64 65 72 2E A0 20 54 68 65 erse order.. The 0016D0: 20 20 42 43 2C 20 20 44 45 20 20 61 6E 64 20 20 BC, DE and 0016E0: 48 4C 20 20 72 65 67 69 73 74 65 72 73 20 6D 61 HL registers ma 0016F0: 79 20 62 65 50 55 53 48 65 64 20 6F 6E 20 74 6F y bePUSHed on to 001700: 20 61 6E 64 20 50 4F 50 70 65 64 20 66 72 6F 6D and POPped from 001710: 20 74 68 65 20 20 53 74 61 63 6B 2E 54 68 65 20 the Stack.The 001720: 41 63 63 75 6D 75 6C 61 74 6F 72 20 6D 81 7A 61 Accumulator m.za 001730: 79 20 61 6C 73 6F 20 62 65 20 50 55 53 48 65 64 y also be PUSHed 001740: 20 6F 6E 20 74 6F 74 68 65 20 20 53 74 61 63 6B on tothe Stack 001750: 2C 20 20 62 75 74 20 20 74 68 69 73 20 69 73 20 , but this is 001760: 20 64 6F 6E 65 20 77 69 74 68 20 74 68 65 66 6C done with thefl 001770: 61 67 20 72 65 67 69 73 74 65 72 20 46 2C 20 77 ag register F, w 001780: 68 69 63 68 20 77 69 6C 6C 20 62 65 20 64 69 73 hich will be dis 001790: 63 75 73 73 65 64 6C 61 74 65 72 2E A3 20 54 68 cussedlater.£ Th 0017A0: 65 20 20 53 74 61 63 6B 20 20 50 6F 69 6E 74 65 e Stack Pointe 0017B0: 72 20 20 63 61 6E 20 20 74 61 6B 65 20 20 70 61 r can take pa 0017C0: 72 74 20 69 6E 61 20 20 20 6E 75 6D 62 65 72 20 rt ina number 0017D0: 20 20 6F 66 20 20 20 69 6E 73 74 72 75 63 74 69 of instructi 0017E0: 6F 6E 73 20 20 20 61 6C 72 65 61 64 79 64 69 73 ons alreadydis 0017F0: 63 75 73 73 65 64 2E A0 20 54 68 65 79 20 61 72 cussed.. They ar 001800: 65 20 73 69 6D 70 6C 79 20 74 68 6F 73 65 20 69 e simply those i 001810: 6E 20 20 77 68 69 63 68 20 20 44 45 2C 20 6F 72 n which DE, or 001820: 42 43 20 20 20 63 61 6E 20 20 74 61 6B 65 20 B6 BC can take . 001830: 8F 20 70 61 72 74 2E 20 20 20 54 68 65 20 20 69 . part. The i 001840: 6E 73 74 72 75 63 74 69 6F 6E 65 71 75 69 76 61 nstructionequiva 001850: 6C 65 6E 74 20 20 20 74 6F 20 20 20 45 58 20 44 lent to EX D 001860: 45 2C 48 4C 20 20 20 69 73 20 20 68 6F 77 65 76 E,HL is howev 001870: 65 72 45 58 20 28 53 50 29 2C 48 4C 20 2C 20 74 erEX (SP),HL , t 001880: 68 61 74 20 45 58 63 68 61 6E 67 65 73 20 74 68 hat EXchanges th 001890: 65 20 63 6F 6E 74 65 6E 74 73 6F 66 20 20 74 68 e contentsof th 0018A0: 65 20 20 62 6F 74 74 6F 6D 20 6F 66 20 74 68 65 e bottom of the 0018B0: 20 53 74 61 63 6B 20 77 69 74 68 20 74 68 65 20 Stack with the 0018C0: 48 4C 72 65 67 69 73 74 65 72 2E A3 20 53 75 6D HLregister.£ Sum 0018D0: 6D 61 72 79 20 2D 20 74 68 65 20 53 74 61 63 6B mary - the Stack 0018E0: 20 61 6E 64 20 53 50 20 72 65 67 69 73 74 65 72 and SP register 0018F0: A0 A0 20 50 55 53 48 20 44 44 20 20 77 68 65 72 .. PUSH DD wher 001900: 65 20 44 44 20 69 73 20 41 46 2C 20 42 43 2C 20 e DD is AF, BC, 001910: 44 45 2C 20 6F 72 20 48 4C 2E 20 20 20 20 20 20 DE, or HL. 001920: 20 20 20 20 46 72 6F 6D 20 20 20 6E 6F 77 20 20 From now 001930: 20 A3 31 6F 6E 20 20 20 64 64 20 20 20 63 61 6E £1on dd can 001940: 20 20 62 65 20 20 20 20 20 20 20 20 20 20 63 6F be co 001950: 6E 73 69 64 65 72 65 64 20 61 73 20 72 65 70 72 nsidered as repr 001960: 65 73 65 6E 74 69 6E 67 A0 20 20 20 20 20 20 20 esenting. 001970: 20 20 20 42 43 2C 20 44 45 2C 20 48 4C 2C 6F 72 BC, DE, HL,or 001980: 20 53 50 2E A0 20 50 4F 50 20 44 44 A0 A0 20 4C SP.. POP DD.. L 001990: 44 20 53 50 2C 6E 6E A0 20 4C 44 20 53 50 2C 28 D SP,nn. LD SP,( 0019A0: 6E 6E 29 A0 20 4C 44 20 28 6E 6E 29 2C 53 50 A0 nn). LD (nn),SP. 0019B0: 20 4C 44 20 53 50 2C 48 4C A0 A0 20 41 44 44 20 LD SP,HL.. ADD 0019C0: 48 4C 2C 53 50 A0 20 41 44 43 20 48 4C 2C 53 50 HL,SP. ADC HL,SP 0019D0: A0 20 53 42 43 20 48 4C 2C 53 50 A0 20 49 4E 43 . SBC HL,SP. INC 0019E0: 20 53 50 A0 20 44 45 43 20 53 50 A0 A0 20 45 58 SP. DEC SP.. EX 0019F0: 20 28 53 50 29 2C 48 4C A3 20 20 20 20 20 20 20 (SP),HL£ 001A00: 20 45 58 41 4D 50 4C 45 53 20 55 53 49 4E 47 20 EXAMPLES USING 001A10: 54 48 45 20 53 54 41 43 4B A0 A0 20 54 68 65 20 THE STACK.. The 001A20: 73 69 6D 75 6C 61 74 6F 72 20 75 73 65 73 20 74 simulator uses t 001A30: 68 65 20 75 F8 6D 65 6D 6F 72 79 20 61 72 65 61 he u.memory area 001A40: 20 33 38 34 30 74 6F 20 20 34 30 39 35 20 20 66 3840to 4095 f 001A50: 6F 72 20 20 74 68 65 20 20 70 75 70 69 6C 73 20 or the pupils 001A60: 70 72 6F 67 72 61 6D 73 2E 20 54 68 65 53 74 61 programs. TheSta 001A70: 63 6B 20 50 6F 69 6E 74 65 72 20 69 73 20 69 6E ck Pointer is in 001A80: 69 74 69 61 6C 6C 79 20 20 73 65 74 20 74 6F 20 itially set to 001A90: 34 30 39 34 2C 61 6E 64 20 20 77 6F 72 6B 73 20 4094,and works 001AA0: 20 69 74 73 20 20 77 61 79 20 20 64 6F 77 6E 20 its way down 001AB0: 20 74 6F 77 61 72 64 73 20 20 74 68 65 70 72 6F towards thepro 001AC0: 67 72 61 6D 20 61 72 65 61 2E 20 4B 65 65 70 20 gram area. Keep 001AD0: 74 68 65 20 53 50 20 61 74 20 74 68 65 20 74 6F the SP at the to 001AE0: 70 20 65 6E 64 6F 66 20 20 74 68 69 73 20 20 61 p endof this a 001AF0: 72 65 61 20 6F 66 20 20 6D 65 6D 6F 72 79 20 74 rea of memory t 001B00: 6F 20 65 6E 73 75 72 65 20 74 68 61 74 74 68 65 o ensure thatthe 001B10: 20 73 69 6D 75 6C 61 74 6F 72 20 64 6F 65 73 20 simulator does 001B20: 6E 6F 74 20 73 74 6F 70 2E A0 A0 20 54 68 65 20 not stop... The 001B30: 6C 61 73 74 20 57 01 66 6F 75 72 20 70 61 69 72 last W.four pair 001B40: 73 20 6F 66 20 6D 65 6D 6F 72 79 20 6C 6F 63 61 s of memory loca 001B50: 74 69 6F 6E 73 69 6E 20 74 68 65 20 53 74 61 63 tionsin the Stac 001B60: 6B 20 61 72 65 20 64 69 73 70 6C 61 79 65 64 20 k are displayed 001B70: 61 74 20 74 68 65 20 62 6F 74 74 6F 6D 72 69 67 at the bottomrig 001B80: 68 74 20 68 61 6E 64 20 63 6F 72 6E 65 72 20 6F ht hand corner o 001B90: 66 20 74 68 65 20 73 63 72 65 65 6E 2E 20 41 73 f the screen. As 001BA0: 20 77 69 74 68 74 68 65 20 20 50 72 6F 67 72 61 withthe Progra 001BB0: 6D 20 20 43 6F 75 6E 74 65 72 2C 20 20 74 68 65 m Counter, the 001BC0: 20 20 70 6F 73 69 74 69 6F 6E 20 74 6F 77 68 69 position towhi 001BD0: 63 68 20 20 74 68 65 20 53 74 61 63 6B 20 50 6F ch the Stack Po 001BE0: 69 6E 74 65 72 20 70 6F 69 6E 74 73 20 69 73 20 inter points is 001BF0: 73 68 6F 77 6E 69 6E 20 52 65 64 2E A0 A0 20 54 shownin Red... T 001C00: 68 65 20 69 6E 73 74 72 75 63 74 69 6F 6E 20 20 he instruction 001C10: 49 4E 43 20 53 50 20 20 69 73 20 69 6E 63 6C 75 INC SP is inclu 001C20: 64 65 64 20 61 74 74 68 65 20 65 6E 64 20 6F 66 ded atthe end of 001C30: 20 74 68 65 20 70 72 CC A6 6F 67 72 61 6D 20 74 the pr..ogram t 001C40: 6F 20 65 6E 73 75 72 65 20 74 68 61 74 20 53 50 o ensure that SP 001C50: 69 73 20 64 69 73 70 6C 61 79 65 64 2E 20 54 68 is displayed. Th 001C60: 65 20 61 63 74 75 61 6C 20 76 61 6C 75 65 20 69 e actual value i 001C70: 6E 20 74 68 65 20 53 50 72 65 67 69 73 74 65 72 n the SPregister 001C80: 20 69 73 20 69 6D 6D 61 74 65 72 69 61 6C 20 66 is immaterial f 001C90: 6F 72 20 20 6D 6F 73 74 20 20 6F 66 20 69 74 73 or most of its 001CA0: 61 70 70 6C 69 63 61 74 69 6F 6E 73 2E A3 20 4C applications.£ L 001CB0: 44 20 48 4C 2C 35 36 37 38 39 A0 20 20 4C 44 20 D HL,56789. LD 001CC0: 44 45 2C 33 34 35 36 37 A0 20 20 4C 44 20 42 43 DE,34567. LD BC 001CD0: 2C 31 32 33 34 35 A0 20 20 50 55 53 48 20 48 4C ,12345. PUSH HL 001CE0: A0 20 20 50 55 53 48 20 42 43 A0 20 20 50 55 53 . PUSH BC. PUS 001CF0: 48 20 44 45 A0 20 20 45 58 20 28 53 50 29 2C 48 H DE. EX (SP),H 001D00: 4C A0 20 20 4C 44 20 42 43 2C 30 A0 20 20 50 4F L. LD BC,0. PO 001D10: 50 20 44 45 A0 20 20 50 4F 50 20 42 43 A0 20 20 P DE. POP BC. 001D20: 50 4F 50 20 48 4C A0 20 20 52 45 54 A0 20 20 A0 POP HL. RET. . 001D30: 20 20 A0 20 20 49 4E 43 20 9A 7A 53 50 A0 20 20 . INC .zSP. 001D40: A0 20 20 20 20 20 20 20 20 20 20 20 43 41 4C 4C . CALL 001D50: 53 20 54 4F 20 53 55 42 52 4F 55 54 49 4E 45 53 S TO SUBROUTINES 001D60: A0 A0 20 41 20 20 73 75 62 72 6F 75 74 69 6E 65 .. A subroutine 001D70: 20 69 73 20 20 61 20 20 70 61 72 74 20 6F 66 20 is a part of 001D80: 61 20 20 70 72 6F 67 72 61 6D 74 68 61 74 20 69 a programthat i 001D90: 73 20 63 61 6C 6C 65 64 20 66 72 6F 6D 20 74 68 s called from th 001DA0: 65 20 6D 61 69 6E 20 70 72 6F 67 72 61 6D 20 61 e main program a 001DB0: 6E 64 6F 6E 63 65 20 63 6F 6D 70 6C 65 74 65 64 ndonce completed 001DC0: 20 72 65 74 75 72 6E 73 20 62 61 63 6B 20 74 6F returns back to 001DD0: 20 74 68 65 20 20 6D 61 69 6E 70 72 6F 67 72 61 the mainprogra 001DE0: 6D 2E 20 20 54 68 65 20 20 20 73 75 62 72 6F 75 m. The subrou 001DF0: 74 69 6E 65 20 20 69 73 20 20 20 75 73 75 61 6C tine is usual 001E00: 6C 79 63 61 6C 6C 65 64 20 66 72 6F 6D 20 20 61 lycalled from a 001E10: 20 20 6E 75 6D 62 65 72 20 6F 66 20 20 70 6C 61 number of pla 001E20: 63 65 73 20 69 6E 20 74 68 65 70 72 6F 67 72 61 ces in theprogra 001E30: 6D 2E A0 A0 20 54 68 65 20 20 5A D1 52 38 30 20 m... The Z.R80 001E40: 20 61 6C 6C 6F 77 73 20 20 74 68 69 73 20 20 66 allows this f 001E50: 65 61 74 75 72 65 20 20 62 79 20 74 68 65 69 6E eature by thein 001E60: 73 74 72 75 63 74 69 6F 6E 20 20 43 41 4C 4C 2E struction CALL. 001E70: 20 20 54 68 65 20 43 41 4C 4C 20 69 6E 73 74 72 The CALL instr 001E80: 75 63 74 69 6F 6E 69 73 20 73 69 6D 69 6C 61 72 uctionis similar 001E90: 20 74 6F 20 74 68 65 20 20 4A 50 20 69 6E 73 74 to the JP inst 001EA0: 72 75 63 74 69 6F 6E 20 65 78 63 65 70 74 74 68 ruction exceptth 001EB0: 61 74 20 74 68 65 20 61 64 64 72 65 73 73 20 6F at the address o 001EC0: 66 20 74 68 65 20 6E 65 78 74 20 20 73 65 71 75 f the next sequ 001ED0: 65 6E 74 69 61 6C 69 6E 73 74 72 75 63 74 69 6F entialinstructio 001EE0: 6E 2C 20 68 65 6C 64 20 69 6E 20 74 68 65 20 50 n, held in the P 001EF0: 43 20 72 65 67 69 73 74 65 72 2C 20 69 73 50 55 C register, isPU 001F00: 53 48 65 64 20 6F 6E 74 6F 20 74 68 65 20 53 74 SHed onto the St 001F10: 61 63 6B 2C 20 70 72 69 6F 72 20 74 6F 20 74 68 ack, prior to th 001F20: 65 20 6A 75 6D 70 A0 20 54 68 65 20 20 72 65 74 e jump. The ret 001F30: 75 72 6E 20 20 69 6E 73 74 72 75 63 74 00 27 69 urn instruct.'i 001F40: 6F 6E 20 20 52 45 54 2C 20 50 4F 50 73 20 74 68 on RET, POPs th 001F50: 65 72 65 74 75 72 6E 20 61 64 64 72 65 73 73 20 ereturn address 001F60: 66 72 6F 6D 20 74 68 65 20 53 74 61 63 6B 2C 20 from the Stack, 001F70: 62 61 63 6B 20 69 6E 74 6F 74 68 65 20 50 43 20 back intothe PC 001F80: 72 65 67 69 73 74 65 72 2C 20 20 74 6F 20 63 6F register, to co 001F90: 6E 74 69 6E 75 65 20 77 68 65 72 65 20 20 74 68 ntinue where th 001FA0: 65 6D 61 69 6E 20 70 72 6F 67 72 61 6D 20 6C 65 emain program le 001FB0: 66 74 20 6F 66 66 2E 20 49 66 20 74 68 65 20 20 ft off. If the 001FC0: 6E 75 6D 62 65 72 20 6F 66 50 55 53 48 65 73 20 number ofPUSHes 001FD0: 20 61 6E 64 20 43 41 4C 4C 73 20 69 6E 20 74 68 and CALLs in th 001FE0: 65 20 73 75 62 72 6F 75 74 69 6E 65 20 64 6F 65 e subroutine doe 001FF0: 73 6E 6F 74 20 20 65 71 75 61 6C 20 20 74 68 65 snot equal the 002000: 20 20 20 6E 75 6D 62 65 72 20 20 6F 66 20 20 20 number of 002010: 50 4F 50 73 20 20 61 6E 64 52 45 54 75 72 6E 73 POPs andRETurns 002020: 2C 20 6F 62 76 69 6F 75 73 6C 79 20 74 68 69 73 , obviously this 002030: 20 77 69 6C 6C 20 6E 6F 74 20 68 61 70 70 65 0E will not happe. 002040: A7 6E 2E A3 20 42 6F 74 68 20 20 20 63 6F 6E 64 .n.£ Both cond 002050: 69 74 69 6F 6E 61 6C 20 20 61 6E 64 20 20 20 75 itional and u 002060: 6E 63 6F 6E 64 69 74 69 6F 6E 61 6C 43 41 4C 4C nconditionalCALL 002070: 73 20 20 61 6E 64 20 20 52 45 54 75 72 6E 73 20 s and RETurns 002080: 61 72 65 20 61 76 61 69 6C 61 62 6C 65 20 6F 6E are available on 002090: 20 74 68 65 5A 38 30 20 2E 20 20 41 6C 6C 20 20 theZ80 . All 0020A0: 66 6F 75 72 20 20 74 79 70 65 73 20 20 6F 66 20 four types of 0020B0: 20 20 63 6F 6E 64 69 74 69 6F 6E 73 61 6C 72 65 conditionsalre 0020C0: 61 64 79 20 63 6F 6E 73 69 64 65 72 65 64 20 20 ady considered 0020D0: 28 20 4E 43 2C 20 43 2C 20 4E 5A 20 61 6E 64 20 ( NC, C, NZ and 0020E0: 20 5A 20 29 63 61 6E 20 62 65 20 75 73 65 64 20 Z )can be used 0020F0: 77 69 74 68 20 43 41 4C 4C 73 20 61 6E 64 20 52 with CALLs and R 002100: 45 54 75 72 6E 73 2E A3 20 53 75 6D 6D 61 72 79 ETurns.£ Summary 002110: 20 2D 20 63 61 6C 6C 73 20 61 6E 64 20 72 65 74 - calls and ret 002120: 75 72 6E 73 A0 A0 20 20 20 43 41 4C 4C 20 4E 43 urns.. CALL NC 002130: 2C 6E 6E 20 20 20 20 20 20 52 45 54 20 4E 43 20 ,nn RET NC 002140: 20 EC A4 20 20 4E 6F 20 43 61 72 72 79 A0 A0 20 .. No Carry.. 002150: 20 20 43 41 4C 4C 20 43 2C 6E 6E 20 20 20 20 20 CALL C,nn 002160: 20 20 52 45 54 20 43 20 20 20 20 20 43 61 72 72 RET C Carr 002170: 79 20 73 65 74 A0 A0 20 20 20 43 41 4C 4C 20 4E y set.. CALL N 002180: 5A 2C 6E 6E 20 20 20 20 20 20 52 45 54 20 4E 5A Z,nn RET NZ 002190: 20 20 20 20 4E 6F 74 20 5A 65 72 6F A0 A0 20 20 Not Zero.. 0021A0: 20 43 41 4C 4C 20 5A 2C 6E 6E 20 20 20 20 20 20 CALL Z,nn 0021B0: 20 52 45 54 20 5A 20 20 20 20 20 5A 65 72 6F 20 RET Z Zero 0021C0: 73 65 74 A0 A0 20 49 66 20 20 74 68 65 20 20 63 set.. If the c 0021D0: 6F 6E 64 69 74 69 6F 6E 20 20 69 73 20 20 6E 6F ondition is no 0021E0: 74 20 20 20 6D 65 74 2C 20 20 74 68 65 70 72 6F t met, thepro 0021F0: 67 72 61 6D 20 77 69 6C 6C 20 6E 6F 74 20 43 41 gram will not CA 002200: 4C 4C 20 74 68 65 20 20 73 75 62 72 6F 75 74 69 LL the subrouti 002210: 6E 65 20 6F 72 52 45 54 75 72 6E 20 66 72 6F 6D ne orRETurn from 002220: 20 69 74 2E A3 20 20 20 20 20 45 58 41 4D 50 4C it.£ EXAMPL 002230: 45 20 4F 46 20 43 41 4C 4C 53 20 54 4F 20 53 55 E OF CALLS TO SU 002240: 42 52 4F AB E8 55 54 49 4E 45 A0 A0 20 49 74 20 BRO..UTINE.. It 002250: 6D 75 73 74 20 62 65 20 72 65 6D 65 6D 62 65 72 must be remember 002260: 65 64 20 74 68 61 74 20 61 20 73 75 62 72 6F 75 ed that a subrou 002270: 74 69 6E 65 6D 61 79 20 72 65 71 75 69 72 65 20 tinemay require 002280: 74 68 65 20 75 73 65 20 6F 66 20 61 20 20 72 65 the use of a re 002290: 67 69 73 74 65 72 20 77 68 6F 73 65 63 6F 6E 74 gister whosecont 0022A0: 65 6E 74 73 20 20 61 72 65 20 73 74 69 6C 6C 20 ents are still 0022B0: 72 65 71 75 69 72 65 64 20 69 6E 20 74 68 65 20 required in the 0022C0: 6D 61 69 6E 70 72 6F 67 72 61 6D 2E 20 20 49 74 mainprogram. It 0022D0: 73 20 63 6F 6E 74 65 6E 74 73 20 6D 75 73 74 20 s contents must 0022E0: 74 68 65 72 65 66 6F 72 65 20 62 65 50 55 53 48 therefore bePUSH 0022F0: 65 64 20 20 6F 6E 74 6F 20 20 20 74 68 65 20 20 ed onto the 002300: 73 74 61 63 6B 20 20 6F 72 20 20 6F 74 68 65 72 stack or other 002310: 77 69 73 65 73 74 6F 72 65 64 20 20 65 6C 73 65 wisestored else 002320: 77 68 65 72 65 2C 20 61 6E 64 20 20 72 65 74 72 where, and retr 002330: 69 65 76 65 64 20 61 74 20 74 68 65 65 6E 64 20 ieved at theend 002340: 6F 66 20 74 68 D1 98 65 20 73 75 62 72 6F 75 74 of th..e subrout 002350: 69 6E 65 2E A0 A0 20 54 68 65 20 66 6F 6C 6C 6F ine... The follo 002360: 77 69 6E 67 20 65 78 61 6D 70 6C 65 20 61 64 64 wing example add 002370: 73 20 74 6F 67 65 74 68 65 72 20 74 68 65 66 69 s together thefi 002380: 72 73 74 20 20 33 32 20 70 61 69 72 73 20 6F 66 rst 32 pairs of 002390: 20 6D 65 6D 6F 72 79 20 6C 6F 63 61 74 69 6F 6E memory location 0023A0: 73 2E 20 54 68 65 72 65 73 75 6C 74 20 69 73 20 s. Theresult is 0023B0: 6C 65 66 74 20 69 6E 20 48 4C 2E 20 20 54 68 65 left in HL. The 0023C0: 20 73 74 61 63 6B 20 61 6E 64 20 74 68 65 48 4C stack and theHL 0023D0: 20 20 72 65 67 69 73 74 65 72 73 20 20 61 72 65 registers are 0023E0: 20 62 6F 74 68 20 75 73 65 64 20 61 73 20 20 73 both used as s 0023F0: 74 6F 72 61 67 65 69 6E 73 70 69 74 65 20 6F 66 torageinspite of 002400: 20 74 68 65 20 69 6E 74 65 72 66 65 72 65 6E 63 the interferenc 002410: 65 20 6F 66 20 74 68 65 20 43 41 4C 4C 2C 62 79 e of the CALL,by 002420: 20 75 73 69 6E 67 20 74 68 65 20 45 58 20 28 53 using the EX (S 002430: 50 29 2C 48 4C 20 69 6E 73 74 72 75 63 74 69 6F P),HL instructio 002440: 6E A3 20 4C 44 20 48 91 85 4C 2C 30 A0 20 20 4C n£ LD H..L,0. L 002450: 44 20 42 2C 33 32 A0 20 20 50 55 53 48 20 48 4C D B,32. PUSH HL 002460: A0 20 4C 4F 4F 50 31 20 4C 44 20 45 2C 28 48 4C . LOOP1 LD E,(HL 002470: 29 A0 20 20 49 4E 43 20 48 4C A0 20 20 4C 44 20 ). INC HL. LD 002480: 44 2C 28 48 4C 29 A0 20 20 49 4E 43 20 48 4C A0 D,(HL). INC HL. 002490: 20 20 45 58 20 28 53 50 29 2C 48 4C A0 20 20 43 EX (SP),HL. C 0024A0: 41 4C 4C 20 53 55 42 52 A0 20 20 45 58 20 28 53 ALL SUBR. EX (S 0024B0: 50 29 2C 48 4C A0 20 20 44 4A 4E 5A 20 4C 4F 4F P),HL. DJNZ LOO 0024C0: 50 31 A0 20 20 50 4F 50 20 48 4C A0 20 20 52 45 P1. POP HL. RE 0024D0: 54 A0 20 53 55 42 52 20 20 41 44 44 20 48 4C 2C T. SUBR ADD HL, 0024E0: 44 45 A0 20 20 52 45 54 A0 20 20 A0 20 20 20 20 DE. RET. . 0024F0: 20 20 45 58 41 4D 50 4C 45 20 4F 46 20 43 4F 4E EXAMPLE OF CON 002500: 44 49 54 49 4F 4E 41 4C 20 43 41 4C 4C 53 A0 A0 DITIONAL CALLS.. 002510: 20 54 68 69 73 20 20 73 69 6D 70 6C 65 20 20 20 This simple 002520: 65 78 61 6D 70 6C 65 20 20 63 6F 75 6E 74 73 20 example counts 002530: 20 75 70 20 20 74 68 65 6E 75 6D 62 65 72 20 20 up thenumber 002540: 6F 66 20 20 6D 65 6D 6F 72 67 7D 79 20 20 6C 6F of memorg}y lo 002550: 63 61 74 69 6F 6E 73 20 20 68 6F 6C 64 69 6E 67 cations holding 002560: 20 61 6E 75 6D 62 65 72 20 61 62 6F 76 65 20 20 anumber above 002570: 31 39 32 20 20 61 6E 64 20 20 62 65 6C 6F 77 20 192 and below 002580: 20 36 34 20 69 6E 20 74 68 65 66 69 72 73 74 20 64 in thefirst 002590: 33 32 20 6D 65 6D 6F 72 79 20 6C 6F 63 61 74 69 32 memory locati 0025A0: 6F 6E 73 2E A3 20 4C 44 20 48 4C 2C 30 A0 20 20 ons.£ LD HL,0. 0025B0: 4C 44 20 44 45 2C 30 A0 20 20 4C 44 20 42 2C 33 LD DE,0. LD B,3 0025C0: 32 A0 20 4C 4F 4F 50 20 20 4C 44 20 41 2C 28 48 2. LOOP LD A,(H 0025D0: 4C 29 A0 20 20 43 50 20 31 39 33 A0 20 20 43 41 L). CP 193. CA 0025E0: 4C 4C 20 4E 43 2C 41 42 4F 56 45 A0 20 20 43 50 LL NC,ABOVE. CP 0025F0: 20 36 34 A0 20 20 43 41 4C 4C 20 43 2C 42 45 4C 64. CALL C,BEL 002600: 4F 57 A0 20 20 49 4E 43 20 48 4C A0 20 20 44 4A OW. INC HL. DJ 002610: 4E 5A 20 4C 4F 4F 50 A0 20 20 52 45 54 A0 20 41 NZ LOOP. RET. A 002620: 42 4F 56 45 20 49 4E 43 20 45 A0 20 20 52 45 54 BOVE INC E. RET 002630: A0 20 42 45 4C 4F 57 20 49 4E 43 20 44 A0 20 20 . BELOW INC D. 002640: 52 45 54 A0 20 20 20 A0 20 20 20 2E 83 20 20 20 RET. . .. 002650: 20 20 20 20 20 20 20 20 20 4C 65 73 73 6F 6E 73 Lessons 002660: 20 31 30 20 2D 20 31 37 A0 A0 20 31 30 2E 20 43 10 - 17.. 10. C 002670: 6F 6E 64 69 74 69 6F 6E 61 6C 20 61 6E 64 20 75 onditional and u 002680: 6E 63 6F 6E 64 69 74 69 6F 6E 61 6C 20 4A 50 73 nconditional JPs 002690: A0 20 20 20 20 20 20 20 20 20 45 78 20 2D 20 6A . Ex - j 0026A0: 75 6D 70 73 A0 20 31 31 2E 20 52 65 6C 61 74 69 umps. 11. Relati 0026B0: 76 65 20 6A 75 6D 70 73 A0 20 20 20 20 20 20 20 ve jumps. 0026C0: 20 20 45 78 20 2D 20 72 65 6C 61 74 69 76 65 20 Ex - relative 0026D0: 6A 75 6D 70 73 20 31 A0 20 20 20 20 20 20 20 20 jumps 1. 0026E0: 20 45 78 20 2D 20 72 65 6C 61 74 69 76 65 20 6A Ex - relative j 0026F0: 75 6D 70 73 20 32 A0 20 31 32 2E 20 54 68 65 20 umps 2. 12. The 002700: 53 74 61 63 6B A0 20 20 20 20 20 20 20 20 20 45 Stack. E 002710: 78 20 2D 20 70 75 73 68 65 73 20 61 6E 64 20 70 x - pushes and p 002720: 6F 70 73 A0 20 31 33 2E 20 43 61 6C 6C 73 20 74 ops. 13. Calls t 002730: 6F 20 73 75 62 72 6F 75 74 69 6E 65 73 A0 20 20 o subroutines. 002740: 20 20 20 20 20 20 20 45 78 20 2D 20 75 D2 2D 6E Ex - u.-n 002750: 63 6F 6E 64 69 74 69 6F 6E 61 6C 20 63 61 6C 6C conditional call 002760: 73 20 26 20 72 65 74 73 20 20 20 20 20 20 20 20 s & rets 002770: 20 45 78 20 2D 20 63 6F 6E 64 69 74 69 6F 6E 61 Ex - conditiona 002780: 6C 20 63 61 6C 6C 73 A0 20 31 34 2E 20 42 69 6E l calls. 14. Bin 002790: 61 72 79 20 6E 6F 74 61 74 69 6F 6E A0 20 20 20 ary notation. 0027A0: 20 20 20 20 20 20 45 78 20 2D 20 62 69 6E 61 72 Ex - binar 0027B0: 79 20 6E 6F 74 61 74 69 6F 6E A0 20 31 35 2E 20 y notation. 15. 0027C0: 48 65 78 61 64 65 63 69 6D 61 6C 20 6E 6F 74 61 Hexadecimal nota 0027D0: 74 69 6F 6E A0 20 20 20 20 20 20 20 20 20 45 78 tion. Ex 0027E0: 20 2D 20 68 65 78 20 6E 6F 74 61 74 69 6F 6E A0 - hex notation. 0027F0: 20 31 36 2E 20 42 69 6E 61 72 79 20 43 6F 64 65 16. Binary Code 002800: 64 20 44 65 63 69 6D 61 6C 20 6E 6F 74 61 74 69 d Decimal notati 002810: 6F 6E A0 20 20 20 20 20 20 20 20 20 45 78 20 2D on. Ex - 002820: 20 42 43 44 20 6E 6F 74 61 74 69 6F 6E A0 20 31 BCD notation. 1 002830: 37 2E 20 50 6F 73 69 74 69 76 65 20 61 6E 64 20 7. Positive and 002840: 6E 65 67 61 74 69 76 65 20 6E 6F 74 61 74 69 C3 negative notati. 002850: 3A 6F 6E A0 20 20 20 20 20 20 20 20 20 45 78 20 :on. Ex 002860: 2D 20 2B 76 65 20 61 6E 64 20 2D 76 65 20 6E 75 - +ve and -ve nu 002870: 6D 62 65 72 73 A0 20 4C 6F 61 64 20 66 75 72 74 mbers. Load furt 002880: 68 65 72 20 6C 65 73 73 6F 6E 73 20 66 72 6F 6D her lessons from 002890: 20 74 61 70 65 A3 20 20 20 20 20 20 20 20 20 20 tape£ 0028A0: 20 20 20 49 4E 54 52 4F 44 55 43 54 49 4F 4E A0 INTRODUCTION. 0028B0: A0 20 54 68 65 20 20 70 72 6F 63 65 73 73 6F 72 . The processor 0028C0: 2C 20 20 75 6E 64 65 72 20 74 68 65 20 70 72 6F , under the pro 0028D0: 67 72 61 6D 6D 65 72 27 73 64 69 72 65 63 74 69 grammer'sdirecti 0028E0: 6F 6E 2C 20 20 68 61 73 20 20 74 68 65 20 20 63 on, has the c 0028F0: 61 70 61 63 69 74 79 20 20 74 6F 20 20 6D 61 6B apacity to mak 002900: 65 64 65 63 69 73 69 6F 6E 73 2E 20 20 49 6E 20 edecisions. In 002910: 20 74 68 65 20 66 6F 6C 6C 6F 77 69 6E 67 20 6C the following l 002920: 65 73 73 6F 6E 73 20 77 65 73 68 61 6C 6C 20 20 essons weshall 002930: 64 69 73 63 75 73 73 20 20 74 68 65 73 65 20 20 discuss these 002940: 69 6E 73 74 72 75 63 74 69 6F 6E 73 20 74 68 61 instructions tha 002950: 74 36 83 6D 61 6B 65 20 20 61 20 20 20 63 6F 6D t6.make a com 002960: 70 75 74 65 72 20 20 20 6D 6F 72 65 20 20 74 68 puter more th 002970: 61 6E 20 20 6A 75 73 74 20 20 61 63 61 6C 63 75 an just acalcu 002980: 6C 61 74 6F 72 2E A0 A0 20 57 65 20 20 73 68 61 lator... We sha 002990: 6C 6C 20 20 74 68 65 6E 20 6C 6F 6F 6B 20 61 74 ll then look at 0029A0: 20 6E 75 6D 62 65 72 73 20 68 65 6C 64 20 69 6E numbers held in 0029B0: 72 65 67 69 73 74 65 72 73 20 69 6E 20 6D 6F 72 registers in mor 0029C0: 65 20 64 65 74 61 69 6C 2E A3 20 20 20 20 20 20 e detail.£ 0029D0: 20 20 20 20 20 20 42 49 4E 41 52 59 20 4E 4F 54 BINARY NOT 0029E0: 41 54 49 4F 4E A0 A0 20 49 66 20 77 65 20 77 65 ATION.. If we we 0029F0: 72 65 20 74 6F 20 20 74 61 6B 65 20 74 68 65 20 re to take the 002A00: 20 74 6F 70 20 6F 66 66 20 61 20 20 5A 38 30 63 top off a Z80c 002A10: 68 69 70 20 20 61 6E 64 2C 20 75 73 69 6E 67 20 hip and, using 002A20: 20 61 20 70 6F 77 65 72 66 75 6C 20 6D 69 63 72 a powerful micr 002A30: 6F 73 63 6F 70 65 2C 6C 6F 6F 6B 20 61 74 20 61 oscope,look at a 002A40: 20 72 65 67 69 73 74 65 72 2C 20 77 65 20 77 6F register, we wo 002A50: 75 6C 64 FE DF 20 73 65 65 20 74 68 61 74 20 69 uld.. see that i 002A60: 74 63 6F 6E 73 69 73 74 73 20 6F 66 20 20 38 20 tconsists of 8 002A70: 63 65 6C 6C 73 2E 20 20 54 68 65 73 65 20 20 63 cells. These c 002A80: 65 6C 6C 73 20 20 61 72 65 63 61 70 61 62 6C 65 ells arecapable 002A90: 20 6F 66 20 62 65 69 6E 67 20 20 73 77 69 74 63 of being switc 002AA0: 68 65 64 20 20 62 65 74 77 65 65 6E 20 20 74 77 hed between tw 002AB0: 6F 64 69 66 66 65 72 65 6E 74 20 20 20 73 74 61 odifferent sta 002AC0: 74 65 73 2E 20 20 20 43 6F 6E 76 65 6E 74 69 6F tes. Conventio 002AD0: 6E 61 6C 6C 79 20 20 77 65 64 65 73 69 67 6E 61 nally wedesigna 002AE0: 74 65 20 6F 6E 65 20 73 74 61 74 65 20 61 73 20 te one state as 002AF0: 22 31 22 20 61 6E 64 20 74 68 65 20 6F 74 68 65 "1" and the othe 002B00: 72 61 73 20 22 30 22 2E 20 54 68 65 20 70 61 74 ras "0". The pat 002B10: 74 65 72 6E 20 6F 66 20 31 27 73 20 61 6E 64 20 tern of 1's and 002B20: 30 27 73 20 63 6F 75 6C 64 62 65 20 31 30 31 31 0's couldbe 1011 002B30: 31 30 30 30 20 73 61 79 2E A0 A0 20 48 6F 77 20 1000 say... How 002B40: 20 64 6F 20 77 65 20 20 69 6E 74 65 72 70 72 65 do we interpre 002B50: 74 20 74 68 69 53 71 73 20 70 61 74 74 65 72 6E t thiSqs pattern 002B60: 3F 20 54 68 65 61 6E 73 77 65 72 20 20 69 73 2C ? Theanswer is, 002B70: 20 20 61 6E 79 77 61 79 20 20 77 65 20 20 6C 69 anyway we li 002B80: 6B 65 2E 20 20 49 6E 20 20 74 68 69 73 6C 65 73 ke. In thisles 002B90: 73 6F 6E 20 77 65 20 73 68 6F 77 20 74 68 61 74 son we show that 002BA0: 20 74 68 69 73 20 20 70 61 74 74 65 72 6E 20 20 this pattern 002BB0: 63 6F 75 6C 64 62 65 20 31 38 34 2C 2D 37 32 2C couldbe 184,-72, 002BC0: 20 42 38 48 2C 20 61 6E 64 20 65 76 65 6E 20 43 B8H, and even C 002BD0: 50 20 42 2E 20 54 68 65 20 6F 6E 6C 79 6F 6E 65 P B. The onlyone 002BE0: 20 74 68 65 20 20 70 72 6F 63 65 73 73 6F 72 20 the processor 002BF0: 20 68 61 73 20 62 75 69 6C 74 20 69 6E 74 6F 20 has built into 002C00: 69 74 20 69 73 74 68 65 20 6C 61 74 74 65 72 2E it isthe latter. 002C10: A3 20 45 61 63 68 20 20 64 69 67 69 74 20 20 69 £ Each digit i 002C20: 6E 20 20 61 20 20 6E 75 6D 62 65 72 20 63 61 6E n a number can 002C30: 20 20 62 65 20 63 6F 6E 2D 73 69 64 65 72 65 64 be con-sidered 002C40: 20 74 6F 20 68 61 76 65 20 61 20 77 65 69 67 68 to have a weigh 002C50: 74 69 6E 67 2E 20 46 2C 26 6F 72 20 64 65 63 69 ting. F,&or deci 002C60: 6D 61 6C 6E 75 6D 62 65 72 73 20 74 68 65 73 65 malnumbers these 002C70: 20 77 65 69 67 68 74 69 6E 67 73 20 61 72 65 A0 weightings are. 002C80: 20 20 44 69 67 69 74 20 20 20 20 20 20 33 20 20 Digit 3 002C90: 20 20 32 20 20 20 20 31 20 20 20 20 20 30 A0 20 2 1 0. 002CA0: 20 20 20 20 20 20 20 20 20 20 31 30 30 30 20 20 1000 002CB0: 31 30 30 20 20 20 31 30 20 20 20 20 31 A0 A0 20 100 10 1.. 002CC0: 73 69 6E 63 65 20 65 61 63 68 20 20 64 69 67 69 since each digi 002CD0: 74 20 20 63 61 6E 20 68 61 76 65 20 6F 6E 65 20 t can have one 002CE0: 20 6F 66 20 74 65 6E 73 74 61 74 65 73 2C 20 64 of tenstates, d 002CF0: 65 73 69 67 6E 61 74 65 64 20 30 20 2D 20 39 2E esignated 0 - 9. 002D00: A0 A0 20 49 6E 20 61 20 20 72 65 67 69 73 74 65 .. In a registe 002D10: 72 20 20 65 61 63 68 20 20 64 69 67 69 74 20 20 r each digit 002D20: 6F 72 20 62 69 74 20 68 61 73 6F 6E 6C 79 20 20 or bit hasonly 002D30: 20 74 77 6F 20 20 73 74 61 74 65 73 2E 20 20 20 two states. 002D40: 54 68 65 72 65 66 6F 72 65 20 20 77 65 20 20 63 Therefore we c 002D50: 61 6E 69 6E 74 65 72 70 72 9B B6 65 74 20 20 74 aninterpr..et t 002D60: 68 65 20 20 64 69 67 69 74 73 20 61 73 20 68 61 he digits as ha 002D70: 76 69 6E 67 20 77 65 69 67 68 74 2D 69 6E 67 73 ving weight-ings 002D80: 20 6F 66 A0 A0 20 62 69 74 20 20 20 20 37 20 20 of.. bit 7 002D90: 20 36 20 20 20 35 20 20 20 34 20 20 20 20 33 20 6 5 4 3 002DA0: 20 20 32 20 20 20 31 20 20 20 30 A0 20 20 20 20 2 1 0. 002DB0: 20 20 20 31 32 38 20 20 36 34 20 20 33 32 20 20 128 64 32 002DC0: 31 36 20 20 20 38 20 20 20 34 20 20 20 32 20 20 16 8 4 2 002DD0: 20 31 A0 A0 20 54 61 6B 69 6E 67 20 20 6F 75 72 1.. Taking our 002DE0: 20 6E 75 6D 62 65 72 20 31 30 31 31 31 30 30 30 number 10111000 002DF0: 20 66 6F 72 20 65 78 61 6D 70 6C 65 61 6E 64 20 for exampleand 002E00: 20 6E 6F 74 69 6E 67 20 20 74 68 61 74 20 20 20 noting that 002E10: 62 69 74 73 20 20 74 68 61 74 20 20 61 72 65 20 bits that are 002E20: 20 22 30 22 63 6F 6E 74 72 69 62 75 74 65 20 20 "0"contribute 002E30: 6E 6F 74 68 69 6E 67 20 74 6F 20 74 68 65 20 20 nothing to the 002E40: 6E 75 6D 62 65 72 2C 20 20 74 68 65 64 65 63 69 number, thedeci 002E50: 6D 61 6C 20 65 71 75 69 76 61 6C CE E6 65 6E 74 mal equival..ent 002E60: 20 6F 66 20 20 31 30 31 31 31 30 30 30 20 69 73 of 10111000 is 002E70: 20 67 69 76 65 6E 62 79 A0 20 20 20 20 20 20 20 givenby. 002E80: 20 20 20 20 20 31 32 38 2B 33 32 2B 31 36 2B 38 128+32+16+8 002E90: 3D 31 38 34 2E A3 20 54 68 65 20 6D 61 78 69 6D =184.£ The maxim 002EA0: 75 6D 20 20 6E 75 6D 62 65 72 20 74 68 61 74 20 um number that 002EB0: 63 61 6E 20 62 65 20 68 65 6C 64 20 69 6E 61 6E can be held inan 002EC0: 20 38 20 62 69 74 20 72 65 67 69 73 74 65 72 20 8 bit register 002ED0: 69 73 A0 A0 20 20 20 20 20 20 20 20 20 20 31 32 is.. 12 002EE0: 38 2B 36 34 2B 33 32 2B 31 36 2B 38 2B 34 2B 32 8+64+32+16+8+4+2 002EF0: 2B 31 3D 32 35 35 A0 A0 54 68 69 73 20 69 73 20 +1=255..This is 002F00: 74 68 65 20 6E 75 6D 62 65 72 20 77 65 20 6F 72 the number we or 002F10: 69 67 69 6E 61 6C 6C 79 20 61 73 73 75 6D 65 64 iginally assumed 002F20: 61 74 20 74 68 65 20 62 65 67 69 6E 6E 69 6E 67 at the beginning 002F30: 20 6F 66 20 6F 75 72 20 64 69 73 63 75 73 73 69 of our discussi 002F40: 6F 6E 2E A3 20 4A 75 73 74 20 20 61 73 20 20 20 on.£ Just as 002F50: 77 65 20 20 61 64 64 20 20 74 77 6F 20 DB 52 64 we add two .Rd 002F60: 65 63 69 6D 61 6C 20 6E 75 6D 62 65 72 73 74 6F ecimal numbersto 002F70: 67 65 74 68 65 72 2C 20 20 63 61 72 72 79 69 6E gether, carryin 002F80: 67 20 20 6F 6E 65 20 66 6F 72 77 61 72 64 20 20 g one forward 002F90: 69 66 20 74 68 65 73 75 6D 20 6F 66 20 74 77 6F if thesum of two 002FA0: 20 20 64 69 67 69 74 73 20 69 73 20 67 72 65 61 digits is grea 002FB0: 74 65 72 20 74 68 61 6E 20 39 2C 20 77 65 63 61 ter than 9, weca 002FC0: 6E 20 61 64 64 20 74 77 6F 20 62 69 6E 61 72 79 n add two binary 002FD0: 20 6E 75 6D 62 65 72 73 2E 20 20 49 66 20 20 74 numbers. If t 002FE0: 68 65 20 73 75 6D 69 73 20 61 62 6F 76 65 20 6F he sumis above o 002FF0: 6E 65 2C 20 61 20 6F 6E 65 20 69 73 20 63 61 72 ne, a one is car 003000: 72 69 65 64 20 66 6F 72 77 61 72 64 2E A0 A0 69 ried forward...i 003010: 2E 65 2E 20 63 61 72 72 79 20 20 20 27 20 27 20 .e. carry ' ' 003020: 20 20 27 20 27 20 20 20 20 20 20 A0 20 20 20 20 ' ' . 003030: 20 20 20 20 20 20 20 20 20 30 20 31 20 31 20 30 0 1 1 0 003040: 20 31 20 31 20 31 20 30 A0 20 20 20 20 20 20 20 1 1 1 0. 003050: 20 20 20 2B 20 20 30 20 30 20 31 20 30 20 30 38 + 0 0 1 0 08 003060: EE 20 31 20 30 20 31 A0 20 20 67 69 76 65 73 20 . 1 0 1. gives 003070: 20 20 20 20 20 31 20 30 20 30 20 31 20 30 20 30 1 0 0 1 0 0 003080: 20 31 20 31 A0 A0 20 53 69 6D 69 6C 61 72 20 77 1 1.. Similar w 003090: 65 20 63 61 6E 20 70 65 72 66 6F 72 6D 20 73 75 e can perform su 0030A0: 62 74 72 61 63 74 69 6F 6E 2E A0 A0 69 2E 65 2E btraction...i.e. 0030B0: 20 62 6F 72 72 6F 77 20 20 20 20 30 20 31 20 31 borrow 0 1 1 0030C0: 20 32 20 20 20 30 20 32 A0 20 20 20 20 20 20 20 2 0 2. 0030D0: 20 20 20 20 20 20 30 20 31 20 31 20 30 20 30 20 0 1 1 0 0 0030E0: 31 20 31 20 30 A0 20 20 20 20 20 20 20 20 20 20 1 1 0. 0030F0: 2D 20 20 30 20 30 20 31 20 30 20 31 20 31 20 30 - 0 0 1 0 1 1 0 003100: 20 31 A0 20 20 67 69 76 65 73 20 20 20 20 20 20 1. gives 003110: 30 20 30 20 31 20 31 20 31 20 30 20 30 20 31 A3 0 0 1 1 1 0 0 1£ 003120: 20 20 20 20 20 20 45 58 41 4D 50 4C 45 53 20 4F EXAMPLES O 003130: 46 20 42 49 4E 41 52 59 20 4E 4F 54 41 54 49 4F F BINARY NOTATIO 003140: 4E A0 A0 20 54 68 65 20 20 61 73 73 65 6D 62 6C N.. The assembl 003150: 65 72 2C 20 77 69 74 68 69 6E 20 20 74 68 69 73 er, within this 003160: 20 5E CB 74 75 74 6F 72 2C 20 68 61 73 6F 6E 65 ^.tutor, hasone 003170: 20 69 6E 73 74 72 75 63 74 69 6F 6E 20 6E 6F 74 instruction not 003180: 20 6E 6F 72 6D 61 6C 6C 79 20 66 6F 75 6E 64 20 normally found 003190: 69 6E 20 61 6E 61 73 73 65 6D 62 6C 65 72 2C 20 in anassembler, 0031A0: 20 6E 61 6D 65 6C 79 20 20 42 49 4E 2E 20 20 54 namely BIN. T 0031B0: 68 65 20 20 61 73 73 65 6D 62 6C 65 72 61 6C 6C he assemblerall 0031C0: 6F 63 61 74 65 73 20 20 6F 6E 65 20 20 6D 65 6D ocates one mem 0031D0: 6F 72 79 20 20 6C 6F 63 61 74 69 6F 6E 20 20 74 ory location t 0031E0: 6F 20 74 68 65 6C 69 6E 65 2C 20 77 68 69 63 68 o theline, which 0031F0: 20 77 6F 75 6C 64 20 6E 6F 72 6D 61 6C 6C 79 20 would normally 003200: 62 65 20 20 6C 61 62 65 6C 6C 65 64 2E 49 74 20 be labelled.It 003210: 63 6F 6E 73 74 61 6E 74 6C 79 20 64 69 73 70 6C constantly displ 003220: 61 79 73 20 74 68 69 73 20 6C 6F 63 61 74 69 6F ays this locatio 003230: 6E 20 20 69 6E 62 69 6E 61 72 79 20 66 6F 72 6D n inbinary form 003240: 2E 20 54 68 65 20 6E 75 6D 62 65 72 20 61 66 74 . The number aft 003250: 65 72 20 42 49 4E 20 69 73 20 74 68 65 6E 75 6D er BIN is thenum 003260: 62 65 72 15 94 20 20 69 6E 69 74 69 61 6C 6C 79 ber.. initially 003270: 20 20 20 69 6E 73 65 72 74 65 64 20 20 69 6E 74 inserted int 003280: 6F 20 20 20 74 68 65 6C 6F 63 61 74 69 6F 6E 2E o thelocation. 003290: A0 A0 20 41 66 74 65 72 20 20 67 6F 69 6E 67 20 .. After going 0032A0: 20 20 74 68 72 6F 75 67 68 20 20 74 68 65 20 20 through the 0032B0: 20 66 6F 6C 6C 6F 77 69 6E 67 65 78 61 6D 70 6C followingexampl 0032C0: 65 20 20 74 72 79 20 6D 6F 64 69 66 79 69 6E 67 e try modifying 0032D0: 20 74 68 65 20 64 69 73 70 6C 61 79 69 6E 67 20 the displaying 0032E0: 6F 66 53 54 4F 52 45 20 69 6E 20 65 78 61 6D 70 ofSTORE in examp 0032F0: 6C 65 20 31 31 42 2E A3 20 4C 44 20 48 4C 2C 53 le 11B.£ LD HL,S 003300: 54 4F 52 45 A0 20 4C 4F 4F 50 20 20 44 45 43 20 TORE. LOOP DEC 003310: 28 48 4C 29 A0 20 20 4A 52 20 4E 5A 2C 4C 4F 4F (HL). JR NZ,LOO 003320: 50 A0 20 20 4C 44 20 41 2C 28 4E 55 4D 31 29 A0 P. LD A,(NUM1). 003330: 20 20 4C 44 20 48 4C 2C 4E 55 4D 32 A0 20 20 41 LD HL,NUM2. A 003340: 44 44 20 41 2C 28 48 4C 29 A0 20 20 4C 44 20 28 DD A,(HL). LD ( 003350: 41 4E 53 29 2C 41 A0 20 20 52 45 54 A0 20 20 A0 ANS),A. RET. . 003360: 20 53 54 4F 52 B5 71 45 20 42 49 4E 20 31 35 A0 STOR.qE BIN 15. 003370: 20 20 A0 20 4E 55 4D 31 20 20 42 49 4E 20 38 31 . NUM1 BIN 81 003380: A0 20 4E 55 4D 32 20 20 42 49 4E 20 39 35 A0 20 . NUM2 BIN 95. 003390: 41 4E 53 20 20 20 42 49 4E 20 30 A0 20 20 A0 20 ANS BIN 0. . 0033A0: 20 A0 20 20 20 20 20 20 20 20 20 20 48 45 58 41 . HEXA 0033B0: 44 45 43 49 4D 41 4C 20 4E 4F 54 41 54 49 4F 4E DECIMAL NOTATION 0033C0: A0 A0 20 42 69 6E 61 72 79 20 20 6E 75 6D 62 65 .. Binary numbe 0033D0: 72 73 20 61 72 65 20 74 6F 6F 20 20 63 75 6D 62 rs are too cumb 0033E0: 65 72 73 6F 6D 65 20 61 6E 64 64 65 63 69 6D 61 ersome anddecima 0033F0: 6C 20 20 74 6F 6F 20 20 20 69 6E 63 6F 6E 76 65 l too inconve 003400: 6E 69 65 6E 74 20 20 74 6F 20 20 64 69 73 70 6C nient to displ 003410: 61 79 6D 75 6C 74 69 70 6C 65 20 20 72 65 67 69 aymultiple regi 003420: 73 74 65 72 20 6E 75 6D 62 65 72 73 2E 20 20 41 ster numbers. A 003430: 20 6D 65 74 68 6F 64 20 6F 66 70 72 65 73 65 6E method ofpresen 003440: 74 69 6E 67 20 20 20 62 69 6E 61 72 79 20 20 6E ting binary n 003450: 75 6D 62 65 72 73 20 20 68 61 73 20 20 20 62 65 umbers has be 003460: 65 6E 64 65 76 65 6C 71 F4 6F 70 65 64 20 20 74 endevelq.oped t 003470: 6F 20 67 65 74 20 72 6F 75 6E 64 20 20 74 68 65 o get round the 003480: 73 65 20 70 72 6F 62 6C 65 6D 73 2E 49 6E 73 74 se problems.Inst 003490: 65 61 64 20 6F 66 20 62 61 73 69 6E 67 20 74 68 ead of basing th 0034A0: 65 20 6E 75 6D 62 65 72 20 6F 6E 20 31 30 20 61 e number on 10 a 0034B0: 73 20 69 6E 64 65 63 69 6D 61 6C 20 6F 72 20 32 s indecimal or 2 0034C0: 20 61 73 20 69 6E 20 62 69 6E 61 72 79 2C 20 77 as in binary, w 0034D0: 65 20 62 61 73 65 20 69 74 20 6F 6E 31 36 2E 20 e base it on16. 0034E0: 20 54 68 69 73 20 20 6E 75 6D 62 65 72 69 6E 67 This numbering 0034F0: 20 20 73 79 73 74 65 6D 20 20 69 73 20 20 63 61 system is ca 003500: 6C 6C 65 64 48 65 78 61 64 65 63 69 6D 61 6C 2E lledHexadecimal. 003510: A0 A0 20 57 65 20 20 72 65 71 75 69 72 65 20 20 .. We require 003520: 20 31 36 20 20 64 69 66 66 65 72 65 6E 74 20 20 16 different 003530: 73 79 6D 62 6F 6C 73 20 74 6F 72 65 70 72 65 73 symbols torepres 003540: 65 6E 74 20 20 61 20 20 64 69 67 69 74 2E 20 20 ent a digit. 003550: 30 2D 39 20 20 67 69 76 65 73 20 20 75 73 20 74 0-9 gives us t 003560: 68 65 66 69 72 73 74 20 20 45 EF 31 30 20 20 61 hefirst E.10 a 003570: 6E 64 20 20 41 2D 46 20 20 74 68 65 20 66 69 6E nd A-F the fin 003580: 61 6C 20 36 2E 20 41 20 6C 69 73 74 6F 66 20 20 al 6. A listof 003590: 64 65 63 69 6D 61 6C 2C 20 20 20 62 69 6E 61 72 decimal, binar 0035A0: 79 2C 20 20 61 6E 64 20 20 68 65 78 61 64 65 63 y, and hexadec 0035B0: 69 6D 61 6C 65 71 75 69 76 61 6C 65 6E 74 73 20 imalequivalents 0035C0: 20 61 72 65 20 20 20 67 69 76 65 6E 20 20 6F 6E are given on 0035D0: 20 20 74 68 65 20 20 20 6E 65 78 74 73 63 72 65 the nextscre 0035E0: 65 6E 2E A3 20 20 20 20 44 65 63 69 6D 61 6C 20 en.£ Decimal 0035F0: 20 20 42 69 6E 61 72 79 20 20 20 20 48 65 78 61 Binary Hexa 003600: 64 65 63 69 6D 61 6C A0 A0 A0 20 20 20 20 20 20 decimal... 003610: 20 30 20 20 20 20 20 20 20 30 30 30 30 20 20 20 0 0000 003620: 20 20 20 20 20 20 30 A0 20 20 20 20 20 20 20 31 0. 1 003630: 20 20 20 20 20 20 20 30 30 30 31 20 20 20 20 20 0001 003640: 20 20 20 20 31 A0 20 20 20 20 20 20 20 32 20 20 1. 2 003650: 20 20 20 20 20 30 30 31 30 20 20 20 20 20 20 20 0010 003660: 20 20 32 A0 20 20 20 20 20 20 20 E3 B4 33 20 20 2. ..3 003670: 20 20 20 20 20 30 30 31 31 20 20 20 20 20 20 20 0011 003680: 20 20 33 A0 20 20 20 20 20 20 20 34 20 20 20 20 3. 4 003690: 20 20 20 30 31 30 30 20 20 20 20 20 20 20 20 20 0100 0036A0: 34 A0 20 20 20 20 20 20 20 35 20 20 20 20 20 20 4. 5 0036B0: 20 30 31 30 31 20 20 20 20 20 20 20 20 20 35 A0 0101 5. 0036C0: 20 20 20 20 20 20 20 36 20 20 20 20 20 20 20 30 6 0 0036D0: 31 31 30 20 20 20 20 20 20 20 20 20 36 A0 20 20 110 6. 0036E0: 20 20 20 20 20 37 20 20 20 20 20 20 20 30 31 31 7 011 0036F0: 31 20 20 20 20 20 20 20 20 20 37 A0 20 20 20 20 1 7. 003700: 20 20 20 38 20 20 20 20 20 20 20 31 30 30 30 20 8 1000 003710: 20 20 20 20 20 20 20 20 38 A0 20 20 20 20 20 20 8. 003720: 20 39 20 20 20 20 20 20 20 31 30 30 31 20 20 20 9 1001 003730: 20 20 20 20 20 20 39 A0 20 20 20 20 20 20 20 31 9. 1 003740: 30 20 20 20 20 20 20 31 30 31 30 20 20 20 20 20 0 1010 003750: 20 20 20 20 41 A0 20 20 20 20 20 20 20 31 31 20 A. 11 003760: 20 20 20 20 20 31 30 31 31 20 20 20 20 C4 67 20 1011 .g 003770: 20 20 20 20 42 A0 20 20 20 20 20 20 20 31 32 20 B. 12 003780: 20 20 20 20 20 31 31 30 30 20 20 20 20 20 20 20 1100 003790: 20 20 43 A0 20 20 20 20 20 20 20 31 33 20 20 20 C. 13 0037A0: 20 20 20 31 31 30 31 20 20 20 20 20 20 20 20 20 1101 0037B0: 44 A0 20 20 20 20 20 20 20 31 34 20 20 20 20 20 D. 14 0037C0: 20 31 31 31 30 20 20 20 20 20 20 20 20 20 45 A0 1110 E. 0037D0: 20 20 20 20 20 20 20 31 35 20 20 20 20 20 20 31 15 1 0037E0: 31 31 31 20 20 20 20 20 20 20 20 20 46 A3 20 41 111 F£ A 0037F0: 6C 6C 20 31 36 20 20 73 74 61 74 65 73 20 6F 66 ll 16 states of 003800: 20 74 68 65 20 34 20 62 69 6E 61 72 79 20 62 69 the 4 binary bi 003810: 74 73 20 61 72 65 63 6F 76 65 72 65 64 20 62 79 ts arecovered by 003820: 20 30 2D 46 2E 20 48 65 6E 63 65 20 6F 6E 6C 79 0-F. Hence only 003830: 20 32 20 68 65 78 61 64 65 63 69 6D 61 6C 64 69 2 hexadecimaldi 003840: 67 69 74 73 20 20 61 72 65 20 20 72 65 71 75 69 gits are requi 003850: 72 65 64 20 20 74 6F 20 20 64 69 73 70 6C 61 79 red to display 003860: 20 20 20 74 68 65 63 6F 6E 74 65 6E 74 73 20 20 thecontents 003870: 37 20 6F 66 20 20 61 6E 20 20 38 20 20 62 69 74 7 of an 8 bit 003880: 20 20 72 65 67 69 73 74 65 72 2E 20 20 4F 75 72 register. Our 003890: 65 78 61 6D 70 6C 65 20 20 20 31 30 31 31 31 30 example 101110 0038A0: 30 30 20 20 20 64 69 76 69 64 65 73 20 20 20 75 00 divides u 0038B0: 70 20 20 20 69 6E 74 6F 31 30 31 31 20 31 30 30 p into1011 100 0038C0: 30 20 6F 72 20 42 38 20 48 65 78 2E 20 20 41 20 0 or B8 Hex. A 0038D0: 20 64 6F 75 62 6C 65 20 72 65 67 69 73 74 65 72 double register 0038E0: 68 6F 6C 64 69 6E 67 20 73 61 79 20 20 31 31 30 holding say 110 0038F0: 30 31 30 30 31 20 31 30 31 31 31 30 30 30 20 20 01001 10111000 003900: 77 69 6C 6C 20 20 62 65 72 65 70 72 65 73 65 6E will berepresen 003910: 74 65 64 20 62 79 20 43 39 42 38 20 68 65 78 2E ted by C9B8 hex. 003920: A0 A0 20 43 6F 6E 76 65 72 73 69 6F 6E 20 20 6F .. Conversion o 003930: 66 20 20 61 20 20 68 65 78 20 20 6E 75 6D 62 65 f a hex numbe 003940: 72 20 20 74 6F 20 20 69 74 73 64 65 63 69 6D 61 r to itsdecima 003950: 6C 20 65 71 75 69 76 61 6C 65 6E 74 20 66 6F 6C l equivalent fol 003960: 6C 6F 77 73 20 74 68 65 20 20 73 74 61 6E 64 61 lows the standa 003970: 72 94 32 64 63 61 6C 63 75 6C 61 74 69 6F 6E 2E r.2dcalculation. 003980: A0 A0 69 2E 65 2E 20 20 42 38 20 68 65 78 20 3D ..i.e. B8 hex = 003990: 20 28 42 20 68 65 78 29 2A 20 31 36 2B 20 28 38 (B hex)* 16+ (8 0039A0: 29 2A 20 31 A0 20 20 20 20 20 20 20 20 20 20 20 )* 1. 0039B0: 20 20 3D 20 31 31 2A 31 36 2B 38 3D 31 38 34 A0 = 11*16+8=184. 0039C0: A0 20 41 6C 77 61 79 73 20 72 65 6D 65 6D 62 65 . Always remembe 0039D0: 72 20 74 68 61 74 20 61 20 68 65 78 20 6E 75 6D r that a hex num 0039E0: 62 65 72 20 68 61 73 20 61 62 61 73 65 20 6F 66 ber has abase of 0039F0: 20 31 36 20 64 65 63 69 6D 61 6C 2C 20 61 20 64 16 decimal, a d 003A00: 65 63 69 6D 61 6C 20 6E 75 6D 62 65 72 20 68 61 ecimal number ha 003A10: 73 61 20 62 61 73 65 20 6F 66 20 31 30 20 20 61 sa base of 10 a 003A20: 6E 64 20 61 20 62 69 6E 61 72 79 20 6E 75 6D 62 nd a binary numb 003A30: 65 72 20 61 20 62 61 73 65 62 61 73 65 20 32 2E er a basebase 2. 003A40: A3 20 20 20 20 45 58 41 4D 50 4C 45 53 20 4F 46 £ EXAMPLES OF 003A50: 20 48 45 58 41 44 45 43 49 4D 41 4C 20 4E 4F 54 HEXADECIMAL NOT 003A60: 41 54 49 4F 4E A0 A0 20 4E 6F 77 20 20 74 68 61 ATION.. Now tha 003A70: 74 20 20 1A 9B 68 65 78 20 6E 6F 74 61 74 69 6F t ..hex notatio 003A80: 6E 20 68 61 73 20 62 65 65 6E 20 69 6E 74 72 6F n has been intro 003A90: 2D 64 75 63 65 64 20 77 65 20 20 63 61 6E 20 64 -duced we can d 003AA0: 69 73 63 75 73 73 20 20 68 6F 77 20 20 74 68 65 iscuss how the 003AB0: 20 63 6F 6D 70 75 74 65 72 73 74 6F 72 65 73 20 computerstores 003AC0: 20 70 72 6F 67 72 61 6D 73 20 20 69 6E 20 20 6D programs in m 003AD0: 6F 72 65 20 20 64 65 74 61 69 6C 2E 20 20 20 41 ore detail. A 003AE0: 73 61 6C 72 65 61 64 79 20 20 20 6D 65 6E 74 69 salready menti 003AF0: 6F 6E 65 64 2C 20 20 74 68 65 20 20 20 69 6E 73 oned, the ins 003B00: 74 72 75 63 74 69 6F 6E 73 61 72 65 20 20 73 74 tructionsare st 003B10: 6F 72 65 64 20 20 20 6D 65 6D 6F 72 79 20 20 61 ored memory a 003B20: 73 20 20 6E 75 6D 62 65 72 73 2E 20 20 53 6F 6D s numbers. Som 003B30: 65 69 6E 73 74 72 75 63 74 69 6F 6E 73 20 20 20 einstructions 003B40: 6F 6E 6C 79 20 20 20 72 65 71 75 69 72 65 20 20 only require 003B50: 61 20 20 73 69 6E 67 6C 65 6E 75 6D 62 65 72 2C a singlenumber, 003B60: 20 6F 74 68 65 72 73 20 72 65 71 75 69 72 65 20 others require 003B70: 6D 6F 72 65 2E EB 46 20 43 6F 6C 75 6D 6E 20 32 more..F Column 2 003B80: 20 6F 6E 74 68 65 20 53 69 6D 75 6C 61 74 6F 72 onthe Simulator 003B90: 20 64 69 73 70 6C 61 79 20 73 68 6F 77 73 20 20 display shows 003BA0: 74 68 65 20 20 6D 65 6D 6F 72 79 63 6F 6E 74 65 the memoryconte 003BB0: 6E 74 73 20 66 6F 72 20 74 68 65 20 69 6E 73 74 nts for the inst 003BC0: 72 75 63 74 69 6F 6E 73 20 69 6E 20 68 65 78 2E ructions in hex. 003BD0: A0 A0 20 41 6C 6C 20 74 68 65 20 20 6E 75 6D 62 .. All the numb 003BE0: 65 72 73 20 20 75 73 65 64 20 20 74 6F 20 20 64 ers used to d 003BF0: 65 73 63 72 69 62 65 20 61 6E 69 6E 73 74 72 75 escribe aninstru 003C00: 63 74 69 6F 6E 20 61 72 65 20 20 67 69 76 65 6E ction are given 003C10: 20 69 6E 20 73 65 71 75 65 6E 63 65 20 61 6C 6F in sequence alo 003C20: 6E 67 74 68 65 20 6C 69 6E 65 2E 20 20 4E 6F 74 ngthe line. Not 003C30: 69 63 65 20 74 68 61 74 20 6E 75 6D 62 65 72 73 ice that numbers 003C40: 20 63 61 6C 6C 65 64 20 75 70 69 6E 20 61 6E 20 called upin an 003C50: 69 6E 73 74 72 75 63 74 69 6F 6E 20 61 70 70 65 instruction appe 003C60: 61 72 20 74 6F 77 61 72 64 73 20 74 68 65 20 65 ar towards the e 003C70: 6E 64 6F 66 20 74 68 17 15 65 20 73 74 72 69 6E ndof th..e strin 003C80: 67 20 20 6F 66 20 20 6E 75 6D 62 65 72 73 2E 20 g of numbers. 003C90: 54 68 65 20 20 65 61 72 6C 69 65 72 6E 75 6D 62 The earliernumb 003CA0: 65 72 73 20 20 20 20 64 65 74 65 72 6D 69 6E 65 ers determine 003CB0: 20 20 20 20 74 68 65 20 20 20 74 79 70 65 20 20 the type 003CC0: 20 20 6F 66 69 6E 73 74 72 75 63 74 69 6F 6E 2E ofinstruction. 003CD0: 20 53 69 6E 63 65 20 74 68 65 20 20 74 6F 74 61 Since the tota 003CE0: 6C 20 20 6E 75 6D 62 65 72 20 6F 66 69 6E 73 74 l number ofinst 003CF0: 72 75 63 74 69 6F 6E 73 20 20 20 65 78 63 65 65 ructions excee 003D00: 64 20 20 20 32 35 36 2C 20 20 61 20 20 20 70 72 d 256, a pr 003D10: 65 66 69 78 6E 75 6D 62 65 72 20 69 73 20 75 73 efixnumber is us 003D20: 65 64 20 74 6F 20 20 70 72 6F 64 75 63 65 20 6F ed to produce o 003D30: 74 68 65 72 20 73 65 74 73 20 6F 66 69 6E 73 74 ther sets ofinst 003D40: 72 75 63 74 69 6F 6E 73 2E 20 54 68 65 20 70 72 ructions. The pr 003D50: 65 66 69 78 65 73 20 79 6F 75 20 77 69 6C 6C 20 efixes you will 003D60: 66 69 6E 64 61 72 65 20 45 44 2C 20 43 42 2C 20 findare ED, CB, 003D70: 44 44 20 61 6E 64 20 46 44 9C FA 2E A3 20 4C 75 DD and FD...£ Lu 003D80: 63 6B 69 6C 79 20 61 73 73 65 6D 62 6C 65 72 73 ckily assemblers 003D90: 20 74 61 6B 65 73 20 61 63 63 6F 75 6E 74 20 6F takes account o 003DA0: 66 20 61 6C 6C 74 68 65 73 65 20 20 63 6F 6D 70 f allthese comp 003DB0: 6C 65 78 69 74 69 65 73 2C 20 20 61 6E 64 20 20 lexities, and 003DC0: 79 6F 75 20 20 77 69 6C 6C 20 6E 6F 74 6E 65 65 you will notnee 003DD0: 64 20 20 74 6F 20 20 6C 65 61 72 6E 20 20 77 68 d to learn wh 003DE0: 69 63 68 20 6E 75 6D 62 65 72 73 20 72 65 70 72 ich numbers repr 003DF0: 65 73 65 6E 74 77 68 69 63 68 20 69 6E 73 74 72 esentwhich instr 003E00: 75 63 74 69 6F 6E 73 2E A0 A0 20 54 68 65 20 53 uctions... The S 003E10: 69 6D 75 6C 61 74 6F 72 20 20 63 61 6E 20 20 62 imulator can b 003E20: 65 20 73 77 69 74 63 68 65 64 20 62 65 74 77 65 e switched betwe 003E30: 65 6E 64 65 63 69 6D 61 6C 20 20 20 61 6E 64 20 endecimal and 003E40: 20 20 68 65 78 61 64 65 63 69 6D 61 6C 20 20 64 hexadecimal d 003E50: 69 73 70 6C 61 79 20 20 62 79 70 72 65 73 73 69 isplay bypressi 003E60: 6E 67 20 73 68 69 66 74 20 20 22 54 22 2C 20 20 ng shift "T", 003E70: 77 68 65 6E 20 61 20 70 72 6F 67 A5 E2 72 61 6D when a prog..ram 003E80: 20 20 69 73 6E 6F 74 20 72 75 6E 6E 69 6E 67 2E isnot running. 003E90: A3 20 4C 44 20 41 2C 32 35 48 A0 20 20 41 44 44 £ LD A,25H. ADD 003EA0: 20 41 2C 41 A0 20 20 44 41 41 A0 20 20 4C 44 20 A,A. DAA. LD 003EB0: 48 4C 2C 34 35 38 39 48 A0 20 20 4C 44 20 44 45 HL,4589H. LD DE 003EC0: 2C 33 38 31 32 48 A0 20 20 4C 44 20 41 2C 4C A0 ,3812H. LD A,L. 003ED0: 20 20 53 55 42 20 45 A0 20 20 44 41 41 A0 20 20 SUB E. DAA. 003EE0: 4C 44 20 4C 2C 41 A0 20 20 4C 44 20 41 2C 48 A0 LD L,A. LD A,H. 003EF0: 20 20 53 42 43 20 41 2C 44 A0 20 20 44 41 41 A0 SBC A,D. DAA. 003F00: 20 20 4C 44 20 48 2C 41 A0 20 20 52 45 54 A0 20 LD H,A. RET. 003F10: 20 A0 20 20 A0 20 20 20 20 20 20 42 49 4E 41 52 . . BINAR 003F20: 59 20 43 4F 44 45 44 20 44 45 43 49 4D 41 4C 20 Y CODED DECIMAL 003F30: 4E 4F 54 41 54 49 4F 4E A0 A0 20 57 65 20 20 77 NOTATION.. We w 003F40: 6F 75 6C 64 20 20 73 74 69 6C 6C 20 20 6C 69 6B ould still lik 003F50: 65 20 20 74 6F 20 20 62 65 20 20 61 62 6C 65 20 e to be able 003F60: 74 6F 70 65 72 66 6F 72 6D 20 63 61 6C 63 75 6C toperform calcul 003F70: 61 74 69 6F 6E 73 20 20 6F 6E 20 64 65 08 DC 63 ations on de..c 003F80: 69 6D 61 6C 20 6E 75 6D 62 65 72 73 77 69 74 68 imal numberswith 003F90: 6F 75 74 20 20 68 61 76 69 6E 67 20 20 74 6F 20 out having to 003FA0: 63 6F 6E 76 65 72 74 20 74 6F 20 62 69 6E 61 72 convert to binar 003FB0: 79 20 6F 72 68 65 78 61 64 65 63 69 6D 61 6C 20 y orhexadecimal 003FC0: 66 6F 72 6D 2E 20 48 65 78 69 64 65 63 69 6D 61 form. Hexidecima 003FD0: 6C 20 66 6F 72 6D 20 68 6F 6C 64 73 61 20 6B 65 l form holdsa ke 003FE0: 79 20 74 6F 20 61 20 6D 65 74 68 6F 64 20 6F 66 y to a method of 003FF0: 20 61 63 68 69 65 76 69 6E 67 20 74 68 69 73 2E achieving this. 004000: A0 A0 20 54 68 65 20 20 68 65 78 20 64 69 67 69 .. The hex digi 004010: 74 20 20 72 65 71 75 69 72 65 73 20 20 61 64 6A t requires adj 004020: 75 73 74 6D 65 6E 74 20 74 6F 61 76 6F 69 64 20 ustment toavoid 004030: 74 68 65 20 64 69 67 69 74 73 20 20 41 2D 46 2E the digits A-F. 004040: 20 20 41 64 64 69 6E 67 20 20 36 20 74 6F 20 74 Adding 6 to t 004050: 68 65 64 69 67 69 74 2C 20 69 66 20 74 68 65 73 hedigit, if thes 004060: 65 20 73 79 6D 62 6F 6C 73 20 61 70 70 65 61 72 e symbols appear 004070: 2C 20 20 72 65 73 75 6C 74 73 69 6E 20 63 6F B8 , resultsin co. 004080: 18 72 72 65 63 74 20 61 64 6A 75 73 74 6D 65 6E .rrect adjustmen 004090: 74 2E A0 A0 20 54 61 6B 65 20 20 74 68 65 20 20 t... Take the 0040A0: 68 65 78 20 20 6E 75 6D 62 65 72 20 20 43 20 20 hex number C 0040B0: 28 3D 20 31 32 20 64 65 63 2E 29 2E 41 64 64 69 (= 12 dec.).Addi 0040C0: 6E 67 20 20 36 20 20 67 69 76 65 73 20 20 31 38 ng 6 gives 18 0040D0: 20 20 64 65 63 69 6D 61 6C 20 6F 72 20 31 32 20 decimal or 12 0040E0: 68 65 78 2E 48 65 6E 63 65 20 74 68 65 20 68 65 hex.Hence the he 0040F0: 78 20 6E 75 6D 62 65 72 20 6C 6F 6F 6B 73 20 20 x number looks 004100: 69 64 65 6E 74 69 63 61 6C 20 74 6F 74 68 65 20 identical tothe 004110: 64 65 63 69 6D 61 6C 20 61 6E 73 77 65 72 20 72 decimal answer r 004120: 65 71 75 69 72 65 64 2E A3 20 45 61 63 68 20 64 equired.£ Each d 004130: 69 67 69 74 20 69 73 20 20 68 65 6C 64 20 20 69 igit is held i 004140: 6E 20 20 34 20 20 62 69 74 73 20 6F 66 20 74 68 n 4 bits of th 004150: 65 72 65 67 69 73 74 65 72 2E 20 20 20 54 68 65 eregister. The 004160: 73 65 20 20 34 20 20 62 69 74 73 20 61 72 65 20 se 4 bits are 004170: 63 61 6C 6C 65 64 20 20 61 6E 69 62 62 6C 65 2C called anibble, 004180: 20 D5 AB 74 68 65 20 77 68 6F 6C 65 20 38 20 62 ..the whole 8 b 004190: 69 74 20 77 6F 72 64 20 69 73 20 74 65 72 6D 65 it word is terme 0041A0: 64 20 61 62 79 74 65 2E 20 57 68 6F 20 73 61 69 d abyte. Who sai 0041B0: 64 20 70 72 6F 67 72 61 6D 6D 65 72 73 20 68 61 d programmers ha 0041C0: 76 65 20 6E 6F 20 73 65 6E 73 65 6F 66 20 68 75 ve no senseof hu 0041D0: 6D 6F 75 72 3F A0 A0 20 54 68 69 73 20 20 70 72 mour?.. This pr 0041E0: 65 73 65 6E 74 61 74 69 6F 6E 20 20 69 73 20 20 esentation is 0041F0: 74 65 72 6D 65 64 20 20 20 42 69 6E 61 72 79 43 termed BinaryC 004200: 6F 64 65 64 20 44 65 63 69 6D 61 6C 20 6F 72 20 oded Decimal or 004210: 42 43 44 2E A0 A0 20 54 68 65 20 20 20 5A 38 30 BCD... The Z80 004220: 20 20 20 20 61 63 63 6F 6D 6D 6F 64 61 74 65 73 accommodates 004230: 20 20 20 74 68 65 20 20 20 61 62 6F 76 65 61 64 the abovead 004240: 6A 75 73 74 6D 65 6E 74 2C 20 20 77 69 74 68 20 justment, with 004250: 74 68 65 20 69 6E 73 74 72 75 63 74 69 6F 6E 20 the instruction 004260: 20 20 44 41 41 2C 6F 72 20 20 44 65 63 69 6D 61 DAA,or Decima 004270: 6C 20 20 41 64 6A 75 73 74 20 20 41 63 63 75 6D l Adjust Accum 004280: 75 6C 61 B2 D6 74 6F 72 2E 20 20 20 54 68 69 73 ula..tor. This 004290: 69 6E 73 74 72 75 63 74 69 6F 6E 20 20 69 73 20 instruction is 0042A0: 20 75 73 65 64 20 20 61 66 74 65 72 20 20 61 6E used after an 0042B0: 20 20 38 20 20 62 69 74 41 44 44 2C 20 20 41 44 8 bitADD, AD 0042C0: 43 2C 20 20 53 55 42 2C 20 20 6F 72 20 20 53 42 C, SUB, or SB 0042D0: 43 20 20 74 6F 20 61 64 6A 75 73 74 20 74 68 65 C to adjust the 0042E0: 41 63 63 75 6D 75 6C 61 74 6F 72 20 63 6F 6E 74 Accumulator cont 0042F0: 65 6E 74 73 20 62 79 20 61 64 64 69 6E 67 20 36 ents by adding 6 004300: 20 20 74 6F 20 74 68 65 6E 69 62 62 6C 65 2C 20 to thenibble, 004310: 20 69 66 20 65 69 74 68 65 72 20 20 6E 69 62 62 if either nibb 004320: 6C 65 20 69 6E 20 74 68 65 20 61 6E 73 77 65 72 le in the answer 004330: 69 73 20 61 62 6F 76 65 20 39 2E A3 20 54 6F 20 is above 9.£ To 004340: 70 65 72 66 6F 72 6D 20 20 74 68 69 73 20 6F 70 perform this op 004350: 65 72 61 74 69 6F 6E 20 74 68 65 20 5A 38 30 20 eration the Z80 004360: 75 73 65 73 74 77 6F 20 66 75 72 74 68 65 72 20 usestwo further 004370: 66 6C 61 67 73 2C 20 74 68 65 20 20 48 20 20 66 flags, the H f 004380: 6C 61 67 20 28 43 8F 20 61 20 48 61 6C 66 63 61 lag (C. a Halfca 004390: 72 72 79 20 20 62 65 74 77 65 65 6E 20 20 6E 69 rry between ni 0043A0: 62 62 6C 65 73 20 29 2C 20 20 61 6E 64 20 20 4E bbles ), and N 0043B0: 20 20 66 6C 61 67 28 73 75 62 74 72 61 63 74 20 flag(subtract 0043C0: 20 69 6E 73 74 72 75 63 74 69 6F 6E 20 20 70 65 instruction pe 0043D0: 72 66 6F 72 6D 65 64 20 6C 61 73 74 29 2E 53 69 rformed last).Si 0043E0: 6E 63 65 20 20 74 68 65 73 65 20 20 66 6C 61 67 nce these flag 0043F0: 73 20 20 63 61 6E 6E 6F 74 20 62 65 20 74 65 73 s cannot be tes 004400: 74 65 64 20 61 73 70 61 72 74 20 6F 66 20 61 20 ted aspart of a 004410: 63 6F 6E 64 69 74 69 6F 6E 61 6C 20 6A 75 6D 70 conditional jump 004420: 20 65 74 63 2E 20 74 68 65 79 20 61 72 65 6F 66 etc. they areof 004430: 20 6C 69 74 74 6C 65 20 75 73 65 2E A3 20 20 20 little use.£ 004440: 20 20 45 58 41 4D 50 4C 45 53 20 4F 46 20 42 2E EXAMPLES OF B. 004450: 43 2E 44 2E 20 4E 4F 54 41 54 49 4F 4E A0 A0 20 C.D. NOTATION.. 004460: 54 68 65 73 65 20 65 78 61 6D 70 6C 65 73 20 73 These examples s 004470: 68 6F 77 20 73 69 6D 70 6C 65 20 61 64 64 69 74 how simple addit 004480: 69 6F 6E 20 61 6E 64 72 75 73 75 62 74 72 61 63 ion andrusubtrac 004490: 74 69 6F 6E 20 69 6E 20 20 42 43 44 20 66 6F 72 tion in BCD for 0044A0: 6D 61 74 2E 20 20 52 65 6D 65 6D 62 65 72 20 74 mat. Remember t 0044B0: 6F 6B 65 65 70 20 20 69 6E 20 20 20 48 65 78 20 okeep in Hex 0044C0: 20 64 69 73 70 6C 61 79 20 20 20 6D 6F 64 65 20 display mode 0044D0: 20 20 6F 72 20 20 74 68 65 69 6C 6C 75 73 74 72 or theillustr 0044E0: 61 74 69 6F 6E 73 20 77 69 6C 6C 20 6E 6F 74 20 ations will not 0044F0: 61 70 70 65 61 72 20 69 6E 20 42 43 44 2E A3 20 appear in BCD.£ 004500: 4C 44 20 41 2C 32 35 48 A0 20 20 4C 44 20 48 4C LD A,25H. LD HL 004510: 2C 53 54 4F 52 45 A0 20 20 4C 44 20 44 45 2C 32 ,STORE. LD DE,2 004520: 34 36 38 48 A0 20 20 49 4E 43 20 28 48 4C 29 A0 468H. INC (HL). 004530: 20 20 52 45 54 A0 20 20 A0 20 20 42 49 4E 20 36 RET. . BIN 6 004540: 35 48 A0 20 20 42 49 4E 20 38 37 48 A0 20 20 42 5H. BIN 87H. B 004550: 49 4E 20 39 41 48 A0 20 20 42 49 4E 20 44 46 48 IN 9AH. BIN DFH 004560: A0 20 20 42 49 4E 20 46 46 48 A0 20 20 42 49 4E . BIN FFH. BIN 004570: 20 36 34 48 A0 20 20 A0 20 53 54 4F 52 45 20 44 64H. . STORE D 004580: 45 46 42 20 36 34 A0 20 20 87 C2 A0 20 20 A0 20 EFB 64. ... . 004590: 20 20 50 4F 53 49 54 49 56 45 20 41 4E 44 20 4E POSITIVE AND N 0045A0: 45 47 41 54 49 56 45 20 4E 55 4D 42 45 52 20 4E EGATIVE NUMBER N 0045B0: 4F 54 41 54 49 4F 4E A0 A0 20 53 6F 20 66 61 72 OTATION.. So far 0045C0: 20 77 65 20 68 61 76 65 20 6F 6E 6C 79 20 64 65 we have only de 0045D0: 61 6C 74 20 77 69 74 68 20 70 6F 73 69 74 69 76 alt with positiv 0045E0: 65 6E 75 6D 62 65 72 73 2E 20 20 49 66 20 77 65 enumbers. If we 0045F0: 20 68 61 64 20 74 61 6B 65 6E 20 20 36 20 20 66 had taken 6 f 004600: 72 6F 6D 20 20 35 20 77 65 77 6F 75 6C 64 20 65 rom 5 wewould e 004610: 6E 64 20 20 75 70 20 77 69 74 68 20 20 74 68 65 nd up with the 004620: 20 61 6E 73 77 65 72 20 32 35 35 20 20 77 69 74 answer 255 wit 004630: 68 63 61 72 72 79 20 73 65 74 2E 20 54 68 65 72 hcarry set. Ther 004640: 65 20 69 73 20 61 6E 20 69 6E 74 65 72 70 72 65 e is an interpre 004650: 74 61 74 69 6F 6E 20 6F 66 6E 75 6D 62 65 72 73 tation ofnumbers 004660: 20 20 74 68 61 74 20 61 6C 6C 6F 77 73 20 75 73 that allows us 004670: 20 74 6F 20 63 6F 6E 73 69 64 65 72 20 74 68 69 to consider thi 004680: 73 61 6E 73 77 65 72 20 61 73 20 B8 DF 74 68 65 sanswer as ..the 004690: 20 6E 65 67 61 74 69 76 65 20 6E 75 6D 62 65 72 negative number 0046A0: 20 2D 31 2E A0 A0 20 49 6E 20 20 74 68 69 73 20 -1... In this 0046B0: 20 69 6E 74 65 72 70 72 65 74 61 74 69 6F 6E 20 interpretation 0046C0: 20 2D 31 20 6D 75 73 74 20 65 71 75 61 6C 32 35 -1 must equal25 0046D0: 35 20 6F 72 20 31 31 31 31 31 31 31 31 2C 20 6F 5 or 11111111, o 0046E0: 72 20 74 68 65 20 70 72 6F 63 65 73 73 6F 72 20 r the processor 0046F0: 20 77 6F 75 6C 64 6E 6F 74 20 62 65 20 61 62 6C wouldnot be abl 004700: 65 20 74 6F 20 74 61 6B 65 20 20 36 20 20 66 72 e to take 6 fr 004710: 6F 6D 20 20 35 20 20 61 6E 64 20 67 65 74 74 68 om 5 and getth 004720: 65 20 72 69 67 68 74 20 61 6E 73 77 65 72 2E 20 e right answer. 004730: 46 75 72 74 68 65 72 20 35 2D 37 20 3D 2D 32 20 Further 5-7 =-2 004740: 6F 72 20 32 35 34 6F 72 20 31 31 31 31 31 31 31 or 254or 1111111 004750: 30 2E 20 42 69 74 20 37 2C 20 74 68 65 20 6D 6F 0. Bit 7, the mo 004760: 73 74 20 73 69 67 6E 69 66 69 63 61 6E 74 62 69 st significantbi 004770: 74 2C 20 72 65 70 72 65 73 65 6E 74 73 20 20 74 t, represents t 004780: 68 65 20 73 69 67 6E 20 28 20 2B 20 6F 40 51 72 he sign ( + o@Qr 004790: 20 2D 20 29 20 20 6F 66 74 68 65 20 6E 75 6D 62 - ) ofthe numb 0047A0: 65 72 2E 20 57 68 65 6E 20 62 69 74 20 37 20 69 er. When bit 7 i 0047B0: 73 20 22 31 22 20 74 68 65 20 6E 75 6D 62 65 72 s "1" the number 0047C0: 69 73 20 6E 65 67 61 74 69 76 65 2C 20 20 61 6E is negative, an 0047D0: 64 20 77 68 65 6E 20 22 30 22 20 74 68 65 20 6E d when "0" the n 0047E0: 75 6D 62 65 72 20 69 73 70 6F 73 69 74 69 76 65 umber ispositive 0047F0: 2E A3 20 41 20 20 75 73 65 66 75 6C 20 6F 70 65 .£ A useful ope 004800: 72 61 74 69 6F 6E 20 77 6F 75 6C 64 20 20 62 65 ration would be 004810: 20 74 6F 20 6D 61 6B 65 20 61 70 6F 73 69 74 69 to make apositi 004820: 76 65 20 6E 75 6D 62 65 72 20 6E 65 67 61 74 69 ve number negati 004830: 76 65 2E 20 43 68 61 6E 67 69 6E 67 20 62 69 74 ve. Changing bit 004840: 20 37 64 6F 65 73 20 20 6E 6F 74 20 20 64 6F 20 7does not do 004850: 20 74 68 69 73 2E 20 20 54 61 6B 65 20 74 68 65 this. Take the 004860: 20 20 70 6F 73 69 74 69 76 65 6E 75 6D 62 65 72 positivenumber 004870: 20 20 32 20 6F 72 20 20 30 30 30 30 30 30 31 30 2 or 00000010 004880: 20 20 61 6E 64 20 69 74 73 20 6E 65 67 61 74 9C and its negat. 004890: 8E 69 76 65 65 71 75 69 76 61 6C 65 6E 74 20 2D .iveequivalent - 0048A0: 32 20 20 6F 72 20 31 31 31 31 31 31 31 30 20 20 2 or 11111110 0048B0: 66 6F 72 20 65 78 61 6D 70 6C 65 2E 49 6E 76 65 for example.Inve 0048C0: 72 74 69 6E 67 20 61 6C 6C 20 62 69 74 73 20 6F rting all bits o 0048D0: 66 20 74 68 65 20 20 62 69 6E 61 72 79 20 6E 75 f the binary nu 0048E0: 6D 62 65 72 6F 66 20 20 2B 32 20 20 67 69 76 65 mberof +2 give 0048F0: 73 20 20 31 31 31 31 31 31 30 31 2C 20 77 68 69 s 11111101, whi 004900: 63 68 20 69 73 20 31 20 6C 65 73 73 74 68 61 6E ch is 1 lessthan 004910: 20 74 68 61 74 20 20 66 6F 72 20 2D 32 2E A0 A0 that for -2... 004920: 48 65 6E 63 65 20 74 6F 20 6D 61 6B 65 20 61 20 Hence to make a 004930: 70 6F 73 69 74 69 76 65 20 6E 75 6D 62 65 72 20 positive number 004940: 6E 65 67 61 74 69 76 65 77 65 20 69 6E 76 65 72 negativewe inver 004950: 74 20 61 6C 6C 20 69 74 73 20 62 69 6E 61 72 79 t all its binary 004960: 20 62 69 74 73 2C 20 20 6B 6E 6F 77 6E 20 61 73 bits, known as 004970: 43 6F 6D 70 6C 69 6D 65 6E 74 69 6E 67 2C 20 61 Complimenting, a 004980: 6E 64 20 61 64 64 20 20 31 2E 20 20 54 68 65 20 nd add 1. The 004990: 6E 7A 68 6F 74 61 74 69 6F 6E 69 73 20 67 65 6E nzhotationis gen 0049A0: 65 72 61 6C 6C 79 20 74 65 72 6D 65 64 20 32 73 erally termed 2s 0049B0: 20 63 6F 6D 70 6C 65 6D 65 6E 74 A3 69 2E 65 2E complement£i.e. 0049C0: 20 20 20 20 20 20 20 20 20 30 20 30 20 30 20 30 0 0 0 0 0049D0: 20 30 20 31 20 30 20 31 20 20 20 20 2B 35 A0 20 0 1 0 1 +5. 0049E0: 20 20 20 69 6E 76 65 72 74 20 20 20 31 20 31 20 invert 1 1 0049F0: 31 20 31 20 31 20 30 20 31 20 30 A0 20 20 61 64 1 1 1 0 1 0. ad 004A00: 64 20 31 20 20 20 20 20 20 31 20 31 20 31 20 31 d 1 1 1 1 1 004A10: 20 31 20 30 20 31 20 31 20 20 20 20 2D 35 A0 20 1 0 1 1 -5. 004A20: 20 20 20 69 6E 76 65 72 74 20 20 20 30 20 30 20 invert 0 0 004A30: 30 20 30 20 30 20 31 20 30 20 30 A0 20 20 61 64 0 0 0 1 0 0. ad 004A40: 64 20 31 20 20 20 20 20 20 30 20 30 20 30 20 30 d 1 0 0 0 0 004A50: 20 30 20 31 20 30 20 31 20 20 20 20 2B 35 A0 A0 0 1 0 1 +5.. 004A60: 20 54 68 65 20 20 6F 70 65 72 61 74 69 6F 6E 20 The operation 004A70: 20 6C 75 63 6B 69 6C 79 20 20 61 6C 73 6F 20 20 luckily also 004A80: 6D 61 6B 65 73 20 20 61 6E 65 67 61 74 69 76 65 makes anegative 004A90: 20 20 20 FF 60 6E 75 6D 62 65 72 20 20 20 20 70 .`number p 004AA0: 6F 73 69 74 69 76 65 2E 20 20 20 41 20 20 76 65 ositive. 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 A2 2D 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 31 00 76 .....y.......1.v 005550: 65 20 22 54 45 58 54 31 22 2C 42 2C 26 35 38 30 e "TEXT1",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 FC 6D FF FF FF FF ..........m....
previousnext* BLOCK 0003 : TURBO LOADING DATA

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

Sum DATA : 1 550
000000: FC 04 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 14 FE FF FF FF FF .......
previousnext* BLOCK 0004 : TURBO LOADING DATA

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

Sum DATA : 1 823 924
000000: FB 06 58 26 58 05 83 27 58 2B 58 32 58 39 58 3D ..X&X..'X+X2X9X= 000010: 58 44 58 4B 58 52 58 62 58 69 58 79 58 80 58 90 XDXKXRXbXiXyX.X. 000020: 58 97 58 9E 58 AB 58 00 00 15 82 01 00 10 85 00 X.X.X.X......... 000030: BF 87 01 00 E3 89 00 DB 8B 01 00 AC 8C 01 00 84 ................ 000040: 8E 02 E5 8F 01 00 62 59 00 DD 5B 01 00 B2 58 06 ......bY..[...X. 000050: 55 5C 01 00 F4 5C 00 96 5F 00 04 61 00 2F 63 00 U\...\.._..a./c. 000060: 8D 64 01 00 F5 64 06 C5 65 01 00 76 66 00 6D 67 .d...d..e..vf.mg 000070: 00 40 69 00 FC 6A 00 F7 6C 01 00 D8 6D 06 6A 6E .@i..j..l...m.jn 000080: 01 00 16 6F 00 A6 70 00 05 73 00 4F 75 00 72 77 ...o..p..s.Ou.rw 000090: 01 00 DF 78 06 A4 79 01 00 60 7A 02 A6 7B 01 00 ...x..y..`z..{.. 0000A0: 49 7C 00 1F 7E 00 7D 7F 00 C1 80 01 00 21 81 06 I|..~.}......!.. 0000B0: A5 81 01 20 20 20 20 20 20 45 58 41 4D 50 4C 45 ... EXAMPLE 0000C0: 53 20 4F 46 20 42 49 54 20 4D 41 4E 49 50 55 4C S OF BIT MANIPUL 0000D0: 41 54 49 4F 4E A0 A0 20 54 68 65 20 66 6F 6C 6C ATION.. The foll 0000E0: 6F 77 69 6E 67 20 69 6C 6C 75 73 74 72 61 74 65 owing illustrate 0000F0: 73 20 20 74 68 65 20 20 77 61 79 20 20 69 6E 77 s the way inw 000100: 68 B2 91 69 63 68 20 20 53 45 54 2C 20 52 45 53 h..ich SET, RES 000110: 2C 20 61 6E 64 20 20 42 49 54 20 63 61 6E 20 62 , and BIT can b 000120: 65 20 75 73 65 64 20 74 6F 6D 61 6E 69 70 75 6C e used tomanipul 000130: 61 74 65 20 69 6E 64 69 76 69 64 75 61 6C 20 62 ate individual b 000140: 69 74 73 20 6F 66 20 61 20 72 65 67 69 73 74 65 its of a registe 000150: 72 6F 72 20 6D 65 6D 6F 72 79 20 6C 6F 63 61 74 ror memory locat 000160: 69 6F 6E 2E A3 20 20 20 20 20 20 20 20 20 20 20 ion.£ 000170: 20 42 49 54 20 4D 41 4E 49 50 55 4C 41 54 49 4F BIT MANIPULATIO 000180: 4E A0 A0 20 57 65 20 68 61 76 65 20 73 6F 20 66 N.. We have so f 000190: 61 72 20 74 72 65 61 74 65 64 20 20 69 6E 66 6F ar treated info 0001A0: 72 6D 61 74 69 6F 6E 20 20 69 6E 74 68 65 20 66 rmation inthe f 0001B0: 6F 72 6D 20 6F 66 20 62 79 74 65 73 20 6F 72 20 orm of bytes or 0001C0: 77 6F 72 64 73 2E 20 54 68 65 20 5A 38 30 20 64 words. The Z80 d 0001D0: 6F 65 73 61 6C 6C 6F 77 20 61 20 6E 75 6D 62 65 oesallow a numbe 0001E0: 72 20 6F 66 20 6F 70 65 72 61 74 69 6F 6E 73 20 r of operations 0001F0: 6F 6E 20 73 65 70 61 72 61 74 65 6F 72 20 67 72 on separateor gr 000200: 6F 75 70 E1 FC 73 20 6F 66 20 62 69 74 73 20 77 oup..s of bits w 000210: 69 74 68 69 6E 20 6F 6E 65 20 62 79 74 65 A0 A0 ithin one byte.. 000220: 20 41 6E 79 20 20 62 69 74 20 20 69 6E 20 20 20 Any bit in 000230: 61 20 20 72 65 67 69 73 74 65 72 2C 20 20 6F 72 a register, or 000240: 20 20 6D 65 6D 6F 72 79 6C 6F 63 61 74 69 6F 6E memorylocation 000250: 20 75 73 69 6E 67 20 28 48 4C 29 2C 20 20 63 61 using (HL), ca 000260: 6E 20 20 62 65 20 20 53 45 54 20 20 74 6F 20 61 n be SET to a 000270: 22 31 22 2E 20 57 65 20 63 61 6E 20 61 6C 73 6F "1". We can also 000280: 20 52 45 53 65 74 20 61 6E 79 20 62 69 74 20 74 RESet any bit t 000290: 6F 20 61 20 22 30 22 2E 54 6F 20 20 74 65 73 74 o a "0".To test 0002A0: 20 20 74 68 65 20 20 20 73 74 61 74 65 20 20 6F the state o 0002B0: 66 20 20 61 20 20 62 69 74 20 20 69 6E 20 20 61 f a bit in a 0002C0: 72 65 67 69 73 74 65 72 2C 20 6F 72 20 6D 65 6D register, or mem 0002D0: 6F 72 79 20 6C 6F 63 61 74 69 6F 6E 2C 20 77 65 ory location, we 0002E0: 20 63 61 6E 20 75 73 65 74 68 65 20 69 6E 73 74 can usethe inst 0002F0: 72 75 63 74 69 6F 6E 20 42 49 54 2E 20 49 6E 20 ruction BIT. In 000300: 74 68 69 73 20 FF D5 69 6E 73 74 72 75 63 74 69 this ..instructi 000310: 6F 6E 74 68 65 20 5A 65 72 6F 20 66 6C 61 67 20 onthe Zero flag 000320: 69 73 20 73 65 74 20 69 66 20 74 68 65 20 20 61 is set if the a 000330: 70 70 72 6F 70 72 69 61 74 65 62 69 74 20 69 73 ppropriatebit is 000340: 20 20 22 30 22 20 20 61 6E 64 20 72 65 73 65 74 "0" and reset 000350: 20 74 6F 20 61 20 20 22 30 22 20 20 69 66 20 74 to a "0" if t 000360: 68 65 61 70 70 72 6F 70 72 69 61 74 65 20 20 62 heappropriate b 000370: 69 74 20 20 69 73 20 22 31 22 2E 20 20 48 65 6E it is "1". Hen 000380: 63 65 20 77 65 20 20 63 61 6E 70 72 6F 64 75 63 ce we canproduc 000390: 65 20 6F 75 72 20 6F 77 6E 20 66 6C 61 67 73 20 e our own flags 0003A0: 74 6F 20 69 6E 64 69 63 61 74 65 20 65 76 65 6E to indicate even 0003B0: 74 73 61 6E 64 20 74 68 65 6E 20 20 61 63 74 20 tsand then act 0003C0: 20 75 70 6F 6E 20 20 74 68 65 6D 20 20 6C 61 74 upon them lat 0003D0: 65 72 20 69 6E 20 20 6F 75 72 70 72 6F 67 72 61 er in ourprogra 0003E0: 6D 73 2E A3 20 53 75 6D 6D 61 72 79 20 2D 20 62 ms.£ Summary - b 0003F0: 69 74 20 6D 61 6E 69 70 75 6C 61 74 69 6F 6E A0 it manipulation. 000400: A0 53 45 54 20 4E 2C 07 69 72 20 20 20 20 77 68 .SET N,.ir wh 000410: 65 72 65 20 4E 20 69 73 20 74 68 65 20 62 69 74 ere N is the bit 000420: 20 6E 75 6D 62 65 72 20 30 2D 37 53 45 54 20 4E number 0-7SET N 000430: 2C 28 48 4C 29 A0 A0 52 45 53 20 4E 2C 72 A0 52 ,(HL)..RES N,r.R 000440: 45 53 20 4E 2C 28 48 4C 29 A0 A0 42 49 54 20 4E ES N,(HL)..BIT N 000450: 2C 72 A0 42 49 54 20 4E 2C 28 48 4C 29 A3 20 4C ,r.BIT N,(HL)£ L 000460: 44 20 48 4C 2C 53 54 4F 52 45 A0 20 20 53 45 54 D HL,STORE. SET 000470: 20 36 2C 28 48 4C 29 A0 20 4C 4F 4F 50 20 20 49 6,(HL). LOOP I 000480: 4E 43 20 28 48 4C 29 A0 20 20 42 49 54 20 32 2C NC (HL). BIT 2, 000490: 28 48 4C 29 A0 20 20 4A 52 20 5A 2C 4C 4F 4F 50 (HL). JR Z,LOOP 0004A0: A0 20 20 52 45 53 20 33 2C 28 48 4C 29 A0 20 20 . RES 3,(HL). 0004B0: 4C 44 20 42 2C 35 A0 20 20 53 45 54 20 37 2C 42 LD B,5. SET 7,B 0004C0: A0 20 20 52 45 53 20 32 2C 42 A0 20 20 44 45 43 . RES 2,B. DEC 0004D0: 20 42 A0 20 20 42 49 54 20 35 2C 42 A0 20 20 52 B. BIT 5,B. R 0004E0: 45 54 20 5A A0 20 20 A0 20 53 54 4F 52 45 20 42 ET Z. . STORE B 0004F0: 49 4E 20 31 36 A0 20 20 A0 20 20 A0 20 20 20 20 IN 16. . . 000500: 20 20 20 20 20 20 4C 4F 47 E4 9C 49 43 41 4C 20 LOG..ICAL 000510: 49 4E 53 54 52 55 43 54 49 4F 4E 53 A0 A0 20 54 INSTRUCTIONS.. T 000520: 68 65 72 65 20 20 61 72 65 20 20 74 68 72 65 65 here are three 000530: 20 6C 6F 67 69 63 61 6C 20 20 69 6E 73 74 72 75 logical instru 000540: 63 74 69 6F 6E 73 61 76 61 69 6C 61 62 6C 65 20 ctionsavailable 000550: 20 6F 6E 20 20 74 68 65 20 20 5A 38 30 2E 20 20 on the Z80. 000560: 20 54 68 65 79 20 61 72 65 20 20 61 6C 6C 70 65 They are allpe 000570: 72 66 6F 72 6D 65 64 20 20 6F 6E 20 61 20 62 69 rformed on a bi 000580: 74 20 62 79 20 62 69 74 20 62 61 73 69 73 20 62 t by bit basis b 000590: 65 74 77 65 65 6E 74 68 65 20 41 63 63 75 6D 75 etweenthe Accumu 0005A0: 6C 61 74 6F 72 20 61 6E 64 20 61 20 20 6E 75 6D lator and a num 0005B0: 62 65 72 2C 20 72 65 67 69 73 74 65 72 2C 6F 72 ber, register,or 0005C0: 20 69 6E 64 69 72 65 63 74 6C 79 20 61 64 64 72 indirectly addr 0005D0: 65 73 73 65 64 20 20 6D 65 6D 6F 72 79 20 6C 6F essed memory lo 0005E0: 63 61 74 69 6F 6E 28 48 4C 29 2E 20 20 54 68 65 cation(HL). The 0005F0: 20 20 20 72 65 73 75 6C 74 20 20 20 69 73 20 20 result is 000600: 6C 65 66 74 20 20 20 69 6E 20 20 D4 1A 74 68 65 left in ..the 000610: 41 63 63 75 6D 75 6C 61 74 6F 72 2E A0 A0 20 49 Accumulator... I 000620: 6E 20 74 68 65 20 41 4E 44 20 69 6E 73 74 72 75 n the AND instru 000630: 63 74 69 6F 6E 2C 20 69 66 20 61 20 62 69 74 20 ction, if a bit 000640: 69 6E 20 74 68 65 41 63 63 75 6D 75 6C 61 74 6F in theAccumulato 000650: 72 20 20 41 4E 44 20 20 6F 74 68 65 72 20 6E 75 r AND other nu 000660: 6D 62 65 72 20 61 72 65 20 20 22 31 22 2C 74 68 mber are "1",th 000670: 65 6E 20 74 68 65 20 63 6F 72 72 65 73 70 6F 6E en the correspon 000680: 64 69 6E 67 20 62 69 74 20 69 6E 20 74 68 65 20 ding bit in the 000690: 72 65 73 75 6C 74 77 69 6C 6C 20 62 65 20 22 31 resultwill be "1 0006A0: 22 2E 20 49 66 20 6E 6F 74 20 69 74 20 77 69 6C ". If not it wil 0006B0: 6C 20 62 65 20 22 30 22 A0 A0 20 69 2E 65 2E 20 l be "0".. i.e. 0006C0: 20 20 20 20 20 30 31 31 30 31 31 30 30 A0 20 20 01101100. 0006D0: 20 20 20 20 20 20 20 20 20 30 31 30 31 30 31 31 0101011 0006E0: 30 20 20 20 41 4E 44 65 64 20 74 6F 67 65 74 68 0 ANDed togeth 0006F0: 65 72 A0 20 67 69 76 65 73 20 20 20 20 20 30 31 er. gives 01 000700: 30 30 30 31 30 30 A0 A0 20 41 73 20 77 27 B2 65 000100.. As w'.e 000710: 6C 6C 20 61 73 20 20 70 65 72 66 6F 72 6D 69 6E ll as performin 000720: 67 20 20 41 4E 44 73 20 6F 6E 20 6F 75 72 20 6F g ANDs on our o 000730: 77 6E 66 6C 61 67 73 2C 20 20 74 68 69 73 20 20 wnflags, this 000740: 69 6E 73 74 72 75 63 74 69 6F 6E 20 20 69 73 20 instruction is 000750: 20 75 73 65 66 75 6C 20 69 6E 6D 61 73 6B 69 6E useful inmaskin 000760: 67 20 6F 66 66 20 61 72 65 61 73 20 6F 66 20 77 g off areas of w 000770: 6F 72 64 73 2C 20 6F 72 20 72 65 73 65 74 74 69 ords, or resetti 000780: 6E 67 67 72 6F 75 70 73 20 6F 66 20 62 69 74 73 nggroups of bits 000790: 20 69 6E 20 74 68 65 20 41 63 63 75 6D 75 6C 61 in the Accumula 0007A0: 74 6F 72 2E A3 20 49 6E 20 20 74 68 65 20 4F 52 tor.£ In the OR 0007B0: 20 69 6E 73 74 72 75 63 74 69 6F 6E 2C 20 69 66 instruction, if 0007C0: 20 61 20 62 69 74 20 69 6E 20 74 68 65 41 63 63 a bit in theAcc 0007D0: 75 6D 75 6C 61 74 6F 72 20 20 4F 52 20 69 6E 20 umulator OR in 0007E0: 74 68 65 20 6F 74 68 65 72 20 6E 75 6D 62 65 72 the other number 0007F0: 20 69 73 20 61 22 31 22 2C 20 74 68 65 20 63 6F is a"1", the co 000800: 72 72 65 73 70 6F 6E 64 69 6E 67 20 62 69 74 A1 rresponding bit. 000810: E3 20 69 6E 20 74 68 65 20 72 65 73 75 6C 74 77 . in the resultw 000820: 69 6C 6C 20 62 65 20 22 31 22 2E 20 49 66 20 6E ill be "1". If n 000830: 6F 74 20 69 74 20 77 69 6C 6C 20 62 65 20 22 30 ot it will be "0 000840: 22 A0 A0 20 69 2E 65 2E 20 20 20 20 20 20 30 31 ".. i.e. 01 000850: 31 30 31 31 30 30 A0 20 20 20 20 20 20 20 20 20 101100. 000860: 20 20 30 31 30 31 30 31 31 30 20 20 20 4F 52 65 01010110 ORe 000870: 64 20 74 6F 67 65 74 68 65 72 A0 20 67 69 76 65 d together. give 000880: 20 20 20 20 20 20 30 31 31 31 31 31 31 30 A0 A0 01111110.. 000890: 20 41 73 20 77 65 6C 6C 20 61 73 20 70 65 72 66 As well as perf 0008A0: 6F 72 6D 69 6E 67 20 20 4F 52 20 6F 70 65 72 61 orming OR opera 0008B0: 74 69 6F 6E 73 20 6F 6E 6F 75 72 20 20 6F 77 6E tions onour own 0008C0: 20 20 66 6C 61 67 73 2C 20 20 20 74 68 69 73 20 flags, this 0008D0: 20 69 6E 73 74 72 75 63 74 69 6F 6E 20 20 69 73 instruction is 0008E0: 75 73 65 66 75 6C 20 69 6E 20 53 45 54 74 69 6E useful in SETtin 0008F0: 67 20 61 20 67 72 6F 75 70 20 6F 66 20 62 69 74 g a group of bit 000900: 73 20 69 6E 20 74 68 65 41 63 63 75 6D 75 6C 61 s in theAccumula 000910: 74 48 9C 6F 72 2E A3 20 49 6E 20 74 68 65 20 58 tH.or.£ In the X 000920: 4F 52 20 20 28 65 58 63 6C 75 73 69 76 65 20 4F OR (eXclusive O 000930: 52 29 20 69 6E 73 74 72 75 63 74 69 6F 6E 2C 69 R) instruction,i 000940: 66 20 74 68 65 20 20 62 69 74 20 69 6E 20 74 68 f the bit in th 000950: 65 20 20 41 63 63 75 6D 75 6C 61 74 6F 72 20 20 e Accumulator 000960: 69 73 20 20 74 68 65 73 61 6D 65 20 61 73 20 74 is thesame as t 000970: 68 61 74 20 69 6E 20 74 68 65 20 20 6E 75 6D 62 hat in the numb 000980: 65 72 20 2C 20 20 74 68 65 6E 20 20 74 68 65 63 er , then thec 000990: 6F 72 72 65 73 70 6F 6E 64 69 6E 67 20 20 62 69 orresponding bi 0009A0: 74 20 69 6E 20 74 68 65 20 72 65 73 75 6C 74 20 t in the result 0009B0: 77 69 6C 6C 20 62 65 22 30 22 2E 20 20 49 66 20 will be"0". If 0009C0: 74 68 65 79 20 61 72 65 20 20 64 69 66 66 65 72 they are differ 0009D0: 65 6E 74 20 69 74 20 20 77 69 6C 6C 20 62 65 22 ent it will be" 0009E0: 31 22 2E 20 41 6E 6F 74 68 65 72 20 77 61 79 20 1". Another way 0009F0: 6F 66 20 6C 6F 6F 6B 69 6E 67 20 61 74 20 20 74 of looking at t 000A00: 68 65 20 20 58 4F 52 69 6E 73 74 72 75 63 74 69 he XORinstructi 000A10: 6F 6E 20 A6 5D 69 73 20 20 69 66 20 20 6F 6E 65 on .]is if one 000A20: 20 20 4F 52 20 74 68 65 20 6F 74 68 65 72 20 69 OR the other i 000A30: 73 22 31 22 20 62 75 74 20 20 4E 4F 54 20 20 62 s"1" but NOT b 000A40: 6F 74 68 2C 20 20 74 68 65 20 20 61 6E 73 77 65 oth, the answe 000A50: 72 20 77 69 6C 6C 20 62 65 22 31 22 2E A0 A0 20 r will be"1"... 000A60: 69 2E 65 2E 20 20 20 20 20 20 30 31 31 30 31 31 i.e. 011011 000A70: 30 30 A0 20 20 20 20 20 20 20 20 20 20 20 30 31 00. 01 000A80: 30 31 30 31 31 30 20 20 20 20 58 4F 52 65 64 20 010110 XORed 000A90: 74 6F 67 65 74 68 65 72 A0 20 67 69 76 65 20 20 together. give 000AA0: 20 20 20 20 30 30 31 31 31 30 31 30 A0 A0 20 41 00111010.. A 000AB0: 70 61 72 74 20 20 66 72 6F 6D 20 20 70 65 72 66 part from perf 000AC0: 6F 72 6D 69 6E 67 20 74 68 65 20 6C 6F 67 69 63 orming the logic 000AD0: 61 6C 20 58 4F 52 66 75 6E 63 74 69 6F 6E 20 20 al XORfunction 000AE0: 6F 6E 20 20 6F 75 72 20 20 6F 77 6E 20 20 66 6C on our own fl 000AF0: 61 67 73 20 20 20 74 68 65 20 20 58 4F 52 69 6E ags the XORin 000B00: 73 74 72 75 63 74 69 6F 6E 20 20 20 69 73 20 20 struction is 000B10: 75 73 65 66 75 FE 9C 6C 20 20 20 69 6E 20 20 69 usefu..l in i 000B20: 6E 76 65 72 74 69 6E 67 69 6E 64 69 76 69 64 75 nvertingindividu 000B30: 61 6C 20 6F 72 20 67 72 6F 75 70 73 20 6F 66 20 al or groups of 000B40: 62 69 74 73 2E A3 20 54 68 65 20 74 68 72 65 65 bits.£ The three 000B50: 20 6C 6F 67 69 63 61 6C 20 69 6E 73 74 72 75 63 logical instruc 000B60: 74 69 6F 6E 73 20 41 4E 44 2C 20 4F 52 2C 61 6E tions AND, OR,an 000B70: 64 20 20 58 4F 52 20 20 61 66 66 65 63 74 20 20 d XOR affect 000B80: 74 68 65 20 20 5A 65 72 6F 2C 20 20 53 69 67 6E the Zero, Sign 000B90: 2C 20 20 61 6E 64 50 61 72 69 74 79 20 66 6C 61 , andParity fla 000BA0: 67 73 2E 20 54 68 65 20 43 61 72 72 79 20 66 6C gs. The Carry fl 000BB0: 61 67 20 69 73 20 72 65 73 65 74 20 74 6F 22 30 ag is reset to"0 000BC0: 22 20 69 6E 20 61 6C 6C 20 63 61 73 65 73 2E 20 " in all cases. 000BD0: 54 68 75 73 20 74 68 65 20 6C 69 6D 69 74 61 74 Thus the limitat 000BE0: 69 6F 6E 20 6F 66 6E 6F 20 20 20 43 6C 65 61 72 ion ofno Clear 000BF0: 20 20 43 61 72 72 79 20 20 69 6E 73 74 72 75 63 Carry instruc 000C00: 74 69 6F 6E 20 20 20 63 61 6E 20 20 62 65 70 65 tion can bepe 000C10: 72 66 6F 72 6D 65 64 6C AF 20 62 79 20 61 20 6C rformedl. by a l 000C20: 6F 67 69 63 61 6C 20 69 6E 73 74 72 75 63 74 69 ogical instructi 000C30: 6F 6E 2E A0 A0 20 41 4E 44 20 41 20 6F 72 20 4F on... AND A or O 000C40: 52 20 41 20 77 69 6C 6C 20 63 6C 65 61 72 20 74 R A will clear t 000C50: 68 65 20 63 61 72 72 79 20 66 6C 61 67 61 6E 64 he carry flagand 000C60: 20 6E 6F 74 20 61 66 66 65 63 74 20 61 6E 79 20 not affect any 000C70: 72 65 67 69 73 74 65 72 73 2E 20 58 4F 52 20 41 registers. XOR A 000C80: 20 77 69 6C 6C 63 6C 65 61 72 20 43 61 72 72 79 willclear Carry 000C90: 20 61 6E 64 20 74 68 65 20 41 63 63 75 6D 75 6C and the Accumul 000CA0: 61 74 6F 72 2E A3 20 53 75 6D 6D 61 72 79 20 2D ator.£ Summary - 000CB0: 20 6C 6F 67 69 63 61 6C 20 69 6E 73 74 72 75 63 logical instruc 000CC0: 74 69 6F 6E 73 A0 A0 20 41 4E 44 20 6E A0 20 41 tions.. AND n. A 000CD0: 4E 44 20 72 A0 20 41 4E 44 20 28 48 4C 29 A0 A0 ND r. AND (HL).. 000CE0: 20 4F 52 20 6E A0 20 4F 52 20 72 A0 20 4F 52 20 OR n. OR r. OR 000CF0: 28 48 4C 29 A0 A0 20 58 4F 52 20 6E A0 20 58 4F (HL).. XOR n. XO 000D00: 52 20 72 A0 20 58 4F 52 20 28 48 4C 29 A3 20 20 R r. XOR (HL)£ 000D10: 20 20 45 58 41 4D 50 4C 45 7B 6F 53 20 4F 46 20 EXAMPLE{oS OF 000D20: 4C 4F 47 49 43 41 4C 20 49 4E 53 54 52 55 43 54 LOGICAL INSTRUCT 000D30: 49 4F 4E 53 A0 A0 20 54 68 65 20 65 78 61 6D 70 IONS.. The examp 000D40: 6C 65 73 20 69 6C 6C 75 73 74 72 61 74 65 20 20 les illustrate 000D50: 74 68 65 20 20 6F 70 65 72 61 74 69 6F 6E 6F 66 the operationof 000D60: 20 20 74 68 65 20 20 6C 6F 67 69 63 20 20 69 6E the logic in 000D70: 73 74 72 75 63 74 69 6F 6E 73 2E 20 20 54 68 65 structions. The 000D80: 20 70 75 70 69 6C 73 68 6F 75 6C 64 20 20 20 74 pupilshould t 000D90: 65 73 74 20 20 20 68 69 73 2F 68 65 72 20 20 20 est his/her 000DA0: 20 75 6E 64 65 72 73 74 61 6E 64 69 6E 67 66 75 understandingfu 000DB0: 72 74 68 65 72 20 62 79 20 6D 6F 64 69 66 79 69 rther by modifyi 000DC0: 6E 67 20 74 68 65 20 63 6F 6E 74 65 6E 74 73 20 ng the contents 000DD0: 6F 66 20 74 68 65 33 20 73 74 6F 72 65 73 2E A3 of the3 stores.£ 000DE0: 20 4C 44 20 48 4C 2C 53 54 32 A0 20 20 4C 44 20 LD HL,ST2. LD 000DF0: 41 2C 28 53 54 31 29 A0 20 20 41 4E 44 20 28 48 A,(ST1). AND (H 000E00: 4C 29 A0 20 20 4C 44 20 28 53 54 33 29 2C 41 A0 L). LD (ST3),A. 000E10: 20 20 4C 44 20 41 2C 28 53 54 31 92 E4 29 A0 20 LD A,(ST1..). 000E20: 20 4F 52 20 28 48 4C 29 A0 20 20 4C 44 20 28 53 OR (HL). LD (S 000E30: 54 33 29 2C 41 A0 20 20 4C 44 20 41 2C 28 53 54 T3),A. LD A,(ST 000E40: 31 29 A0 20 20 58 4F 52 20 28 48 4C 29 A0 20 20 1). XOR (HL). 000E50: 4C 44 20 28 53 54 33 29 2C 41 A0 20 20 52 45 54 LD (ST3),A. RET 000E60: A0 20 20 A0 20 53 54 31 20 20 20 42 49 4E 20 36 . . ST1 BIN 6 000E70: 35 48 A0 20 53 54 32 20 20 20 42 49 4E 20 46 48 5H. ST2 BIN FH 000E80: A0 20 53 54 33 20 20 20 42 49 4E 20 30 48 A0 20 . ST3 BIN 0H. 000E90: 20 A0 20 20 20 20 20 20 20 20 20 20 20 20 53 48 . SH 000EA0: 49 46 54 20 49 4E 53 54 52 55 43 54 49 4F 4E 53 IFT INSTRUCTIONS 000EB0: A0 A0 20 41 20 73 68 69 66 74 20 69 6E 73 74 72 .. A shift instr 000EC0: 75 63 74 69 6F 6E 20 69 73 20 6F 6E 65 20 69 6E uction is one in 000ED0: 20 77 68 69 63 68 20 74 68 65 62 69 74 73 20 6F which thebits o 000EE0: 66 20 20 61 20 20 72 65 67 69 73 74 65 72 20 6F f a register o 000EF0: 72 20 20 6D 65 6D 6F 72 79 20 6C 6F 63 61 74 69 r memory locati 000F00: 6F 6E 61 72 65 20 6D 6F 76 65 64 20 73 69 64 65 onare moved side 000F10: 77 61 79 73 2C 20 6C 65 66 74 20 6F 72 C3 04 20 ways, left or.. 000F20: 72 69 67 68 74 20 74 6F 20 74 68 65 61 64 6A 61 right to theadja 000F30: 63 65 6E 74 20 62 69 74 2E 20 20 41 73 20 20 77 cent bit. As w 000F40: 65 20 20 73 68 61 6C 6C 20 20 73 65 65 2C 20 20 e shall see, 000F50: 74 68 69 73 67 69 76 65 73 20 75 73 20 61 20 6D thisgives us a m 000F60: 65 61 6E 73 20 20 6F 66 20 64 69 76 69 73 69 6F eans of divisio 000F70: 6E 20 61 73 20 77 65 6C 6C 20 61 73 6D 75 6C 74 n as well asmult 000F80: 69 70 6C 69 63 61 74 69 6F 6E 2E A3 20 54 68 65 iplication.£ The 000F90: 20 20 53 52 41 20 72 2C 20 20 61 6E 64 20 20 53 SRA r, and S 000FA0: 52 41 20 28 48 4C 29 20 69 6E 73 74 72 75 63 74 RA (HL) instruct 000FB0: 69 6F 6E 73 73 68 69 66 74 20 74 68 65 20 20 72 ionsshift the r 000FC0: 65 67 69 73 74 65 72 2F 6D 65 6D 6F 72 79 20 6C egister/memory l 000FD0: 6F 63 61 74 69 6F 6E 20 28 48 4C 29 72 69 67 68 ocation (HL)righ 000FE0: 74 2C 20 20 73 68 69 66 74 69 6E 67 20 20 62 69 t, shifting bi 000FF0: 74 20 30 20 20 69 6E 74 6F 20 20 74 68 65 20 43 t 0 into the C 001000: 61 72 72 79 66 6C 61 67 20 61 6E 64 20 72 65 74 arryflag and ret 001010: 61 69 6E 69 6E 67 20 74 68 65 20 73 74 61 74 E1 aining the stat. 001020: 59 65 20 6F 66 20 62 69 74 20 37 2E A0 A0 20 69 Ye of bit 7... i 001030: 2E 65 2E 20 20 20 20 37 20 36 20 35 20 34 20 33 .e. 7 6 5 4 3 001040: 20 32 20 31 20 30 20 20 20 43 A0 20 20 20 20 20 2 1 0 C. 001050: 20 20 20 20 30 20 31 20 31 20 30 20 30 20 30 20 0 1 1 0 0 0 001060: 31 20 30 20 20 20 78 20 20 28 39 38 20 64 65 63 1 0 x (98 dec 001070: 2E 29 20 62 65 63 6F 6D 65 73 20 20 30 20 30 20 .) becomes 0 0 001080: 31 20 31 20 30 20 30 20 30 20 31 20 20 20 30 20 1 1 0 0 0 1 0 001090: 20 28 34 39 20 64 65 63 2E 29 20 A0 20 20 6F 72 (49 dec.) . or 0010A0: 20 20 20 20 20 31 20 31 20 31 20 30 20 30 20 30 1 1 1 0 0 0 0010B0: 20 31 20 30 20 20 20 78 20 20 28 2D 33 30 20 64 1 0 x (-30 d 0010C0: 65 63 2E 29 62 65 63 6F 6D 65 73 20 20 31 20 31 ec.)becomes 1 1 0010D0: 20 31 20 31 20 30 20 30 20 30 20 31 20 20 20 30 1 1 0 0 0 1 0 0010E0: 20 20 28 2D 31 35 20 64 65 63 2E 29 A0 20 48 65 (-15 dec.). He 0010F0: 6E 63 65 20 20 20 74 68 65 20 20 20 53 52 41 20 nce the SRA 001100: 20 20 6F 72 20 20 20 20 53 68 69 66 74 20 20 20 or Shift 001110: 52 69 67 68 74 41 72 69 74 68 6D 65 74 69 63 61 RightArithmetica 001120: 6C 38 80 6C 79 20 69 6E 73 74 72 75 63 74 69 6F l8.ly instructio 001130: 6E 20 64 69 76 69 64 65 73 20 20 62 6F 74 68 70 n divides bothp 001140: 6F 73 69 74 69 76 65 20 61 6E 64 20 6E 65 67 61 ositive and nega 001150: 74 69 76 65 20 6E 75 6D 62 65 72 73 20 62 79 20 tive numbers by 001160: 32 2E A3 20 54 68 65 20 20 53 52 4C 20 72 2C 20 2.£ The SRL r, 001170: 20 61 6E 64 20 20 53 52 4C 20 28 48 4C 29 20 69 and SRL (HL) i 001180: 6E 73 74 72 75 63 74 69 6F 6E 73 73 68 69 66 74 nstructionsshift 001190: 20 20 20 74 68 65 20 20 20 72 65 67 69 73 74 65 the registe 0011A0: 72 2F 6D 65 6D 6F 72 79 20 20 20 6C 6F 63 61 74 r/memory locat 0011B0: 69 6F 6E 63 6F 6E 74 65 6E 74 73 20 72 69 67 68 ioncontents righ 0011C0: 74 2C 20 73 68 69 66 74 69 6E 67 20 20 62 69 74 t, shifting bit 0011D0: 20 30 20 69 6E 74 6F 20 74 68 65 43 61 72 72 79 0 into theCarry 0011E0: 20 66 6C 61 67 20 61 6E 64 20 61 20 22 30 22 20 flag and a "0" 0011F0: 69 6E 74 6F 20 62 69 74 20 37 2E A0 A0 20 69 2E into bit 7... i. 001200: 65 2E 20 20 20 20 37 20 36 20 35 20 34 20 33 20 e. 7 6 5 4 3 001210: 32 20 31 20 30 20 20 20 43 A0 20 20 20 20 20 20 2 1 0 C. 001220: 20 20 20 46 35 31 20 30 20 31 20 31 20 30 20 31 F51 0 1 1 0 1 001230: 20 31 20 31 20 20 20 78 20 20 28 31 38 33 20 64 1 1 x (183 d 001240: 65 63 2E 29 62 65 63 6F 6D 65 73 20 20 30 20 31 ec.)becomes 0 1 001250: 20 30 20 31 20 31 20 30 20 31 20 31 20 20 20 31 0 1 1 0 1 1 1 001260: 20 20 28 39 31 20 64 65 63 2E 29 20 20 20 20 20 (91 dec.) 001270: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 001280: 20 20 20 20 20 20 20 20 20 20 61 6E 64 20 43 61 and Ca 001290: 72 72 79 20 A0 20 54 68 65 20 20 53 52 4C 20 20 rry . The SRL 0012A0: 20 6F 72 20 20 20 53 68 69 66 74 20 20 52 69 67 or Shift Rig 0012B0: 68 74 20 20 4C 6F 67 69 63 61 6C 6C 79 69 6E 73 ht Logicallyins 0012C0: 74 72 75 63 74 69 6F 6E 20 74 68 65 72 65 66 6F truction therefo 0012D0: 72 65 20 64 69 76 69 64 65 73 20 61 20 70 6F 73 re divides a pos 0012E0: 69 74 69 76 65 6E 75 6D 62 65 72 20 62 79 20 32 itivenumber by 2 0012F0: 2E 20 20 41 73 20 77 69 74 68 20 53 52 41 20 74 . As with SRA t 001300: 68 65 20 43 61 72 72 79 20 66 6C 61 67 69 6E 64 he Carry flagind 001310: 69 63 61 74 65 73 20 74 68 65 20 68 61 6C 66 2E icates the half. 001320: A3 20 54 68 65 CC 71 20 20 53 4C 41 20 72 2C 20 £ The.q SLA r, 001330: 20 61 6E 64 20 20 53 4C 41 20 28 48 4C 29 20 69 and SLA (HL) i 001340: 6E 73 74 72 75 63 74 69 6F 6E 73 73 68 69 66 74 nstructionsshift 001350: 20 20 74 68 65 20 72 65 67 69 73 74 65 72 2F 6D the register/m 001360: 65 6D 6F 72 79 20 63 6F 6E 74 65 6E 74 73 20 6C emory contents l 001370: 65 66 74 73 68 69 66 74 69 6E 67 20 61 20 22 30 eftshifting a "0 001380: 22 20 69 6E 74 6F 20 62 69 74 20 30 20 61 6E 64 " into bit 0 and 001390: 20 62 69 74 20 37 20 69 6E 74 6F 74 68 65 20 43 bit 7 intothe C 0013A0: 61 72 72 79 20 66 6C 61 67 2E A0 A0 20 69 2E 65 arry flag... i.e 0013B0: 2E 20 20 20 20 43 20 20 20 37 20 36 20 35 20 34 . C 7 6 5 4 0013C0: 20 33 20 32 20 31 20 30 A0 20 20 20 20 20 20 20 3 2 1 0. 0013D0: 20 20 78 20 20 20 30 20 31 20 31 20 30 20 30 20 x 0 1 1 0 0 0013E0: 30 20 31 20 30 20 20 28 39 38 20 64 65 63 2E 29 0 1 0 (98 dec.) 0013F0: A0 62 65 63 6F 6D 65 73 20 20 30 20 20 20 31 20 .becomes 0 1 001400: 31 20 30 20 30 20 30 20 31 20 30 20 30 20 20 28 1 0 0 0 1 0 0 ( 001410: 31 39 36 20 64 65 63 2E 29 A0 20 48 65 6E 63 65 196 dec.). Hence 001420: 20 74 68 65 20 72 65 D0 B3 73 75 6C 74 20 6F 66 the re..sult of 001430: 20 74 68 65 20 69 6E 73 74 72 75 63 74 69 6F 6E the instruction 001440: 20 53 4C 41 6F 72 20 20 20 53 68 69 66 74 20 20 SLAor Shift 001450: 4C 65 66 74 20 20 41 72 69 74 68 6D 65 74 69 63 Left Arithmetic 001460: 61 6C 6C 79 20 20 69 73 20 20 74 6F 6D 75 6C 74 ally is tomult 001470: 69 70 6C 79 20 20 74 68 65 20 20 70 6F 73 69 74 iply the posit 001480: 69 76 65 20 6E 75 6D 62 65 72 20 62 79 20 32 2E ive number by 2. 001490: 20 54 68 65 43 61 72 72 79 20 20 69 6E 64 69 63 TheCarry indic 0014A0: 61 74 65 73 20 20 61 20 20 72 65 73 75 6C 74 20 ates a result 0014B0: 67 72 65 61 74 65 72 20 74 68 61 6E 32 35 35 2E greater than255. 0014C0: A0 A0 41 6C 6C 20 74 68 65 73 65 20 69 6E 73 74 ..All these inst 0014D0: 72 75 63 74 69 6F 6E 73 20 20 61 66 66 65 63 74 ructions affect 0014E0: 20 20 6E 6F 74 20 6F 6E 6C 79 74 68 65 20 43 61 not onlythe Ca 0014F0: 72 72 79 20 66 6C 61 67 2C 20 20 62 75 74 20 74 rry flag, but t 001500: 68 65 20 5A 65 72 6F 2C 20 53 69 67 6E 2C 20 61 he Zero, Sign, a 001510: 6E 64 50 61 72 69 74 79 20 66 6C 61 67 73 2E A3 ndParity flags.£ 001520: 20 53 75 6D 6D 61 72 79 20 E0 FA 2D 20 73 68 69 Summary ..- shi 001530: 66 74 20 69 6E 73 74 72 75 63 74 69 6F 6E 73 A0 ft instructions. 001540: A0 20 53 52 41 20 72 20 20 64 69 76 69 64 65 73 . SRA r divides 001550: 20 2B 76 65 20 61 6E 64 20 2D 76 65 20 6E 75 6D +ve and -ve num 001560: 62 65 72 73 20 62 79 20 32 A0 20 53 52 41 20 28 bers by 2. SRA ( 001570: 48 4C 29 A0 A0 20 53 52 4C 20 72 20 20 64 69 76 HL).. SRL r div 001580: 69 64 65 73 20 2B 76 65 20 6E 75 6D 62 65 72 73 ides +ve numbers 001590: 20 30 20 2D 20 32 35 35 20 62 79 20 32 A0 20 53 0 - 255 by 2. S 0015A0: 52 4C 20 28 48 4C 29 A0 A0 20 53 4C 41 20 72 20 RL (HL).. SLA r 0015B0: 20 6D 75 6C 74 69 70 6C 69 65 73 20 2B 76 65 20 multiplies +ve 0015C0: 61 6E 64 20 2D 76 65 20 6E 75 6D 62 65 72 73 A0 and -ve numbers. 0015D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0015E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0015F0: 20 20 20 20 62 79 20 32 A0 20 53 4C 41 20 28 48 by 2. SLA (H 001600: 4C 29 A3 20 20 20 20 45 58 41 4D 50 4C 45 53 20 L)£ EXAMPLES 001610: 4F 46 20 53 48 49 46 54 20 49 4E 53 54 52 55 43 OF SHIFT INSTRUC 001620: 54 49 4F 4E 53 A0 A0 20 54 68 65 36 7F 20 20 20 TIONS.. The6. 001630: 74 68 72 65 65 20 20 20 73 68 69 66 74 20 20 69 three shift i 001640: 6E 73 74 72 75 63 74 69 6F 6E 73 20 20 20 61 72 nstructions ar 001650: 65 69 6C 6C 75 73 74 72 61 74 65 64 20 20 75 73 eillustrated us 001660: 69 6E 67 20 61 20 66 69 78 65 64 20 69 6E 69 74 ing a fixed init 001670: 69 61 6C 20 76 61 6C 75 65 69 6E 20 74 68 65 20 ial valuein the 001680: 6D 65 6D 6F 72 79 20 6C 6F 63 61 74 69 6F 6E 20 memory location 001690: 53 54 4F 52 45 2E A3 20 4C 44 20 48 4C 2C 53 54 STORE.£ LD HL,ST 0016A0: 4F 52 45 A0 20 20 4C 44 20 42 2C 35 A0 20 4C 4F ORE. LD B,5. LO 0016B0: 4F 50 31 20 53 52 41 20 28 48 4C 29 A0 20 20 44 OP1 SRA (HL). D 0016C0: 4A 4E 5A 20 4C 4F 4F 50 31 A0 20 20 4C 44 20 28 JNZ LOOP1. LD ( 0016D0: 48 4C 29 2C 41 35 48 A0 20 20 4C 44 20 42 2C 35 HL),A5H. LD B,5 0016E0: A0 20 4C 4F 4F 50 32 20 53 4C 41 20 28 48 4C 29 . LOOP2 SLA (HL) 0016F0: A0 20 20 44 4A 4E 5A 20 4C 4F 4F 50 32 A0 20 20 . DJNZ LOOP2. 001700: 4C 44 20 42 2C 38 A0 20 4C 4F 4F 50 33 20 53 52 LD B,8. LOOP3 SR 001710: 4C 20 28 48 4C 29 A0 20 20 44 4A 4E 5A 20 4C 4F L (HL). DJNZ LO 001720: 4F 50 33 A0 20 20 52 45 54 A0 20 20 A0 A3 4D 20 OP3. RET. .£M 001730: 53 54 4F 52 45 20 42 49 4E 20 36 39 48 A0 20 20 STORE BIN 69H. 001740: A0 20 20 A0 20 20 20 20 20 20 20 20 20 20 20 20 . . 001750: 52 4F 54 41 54 45 20 49 4E 53 54 52 55 43 54 49 ROTATE INSTRUCTI 001760: 4F 4E 53 A0 A0 20 54 68 65 73 65 20 20 69 6E 73 ONS.. These ins 001770: 74 72 75 63 74 69 6F 6E 73 20 61 72 65 20 73 68 tructions are sh 001780: 69 66 74 20 69 6E 73 74 72 75 63 74 2D 69 6F 6E ift instruct-ion 001790: 73 20 69 6E 20 77 68 69 63 68 20 74 68 65 20 62 s in which the b 0017A0: 69 74 20 74 68 61 74 20 66 61 6C 6C 73 20 6F 75 it that falls ou 0017B0: 74 20 6F 6E 65 65 6E 64 20 6F 66 20 74 68 65 20 t oneend of the 0017C0: 72 65 67 69 73 74 65 72 20 20 6F 72 20 6D 65 6D register or mem 0017D0: 6F 72 79 20 20 6C 6F 63 61 74 69 6F 6E 69 73 20 ory locationis 0017E0: 70 75 73 68 65 64 20 62 61 63 6B 20 69 6E 74 6F pushed back into 0017F0: 20 74 68 65 20 20 6F 74 68 65 72 20 65 6E 64 2E the other end. 001800: 20 20 54 68 65 43 61 72 72 79 20 66 6C 61 67 20 TheCarry flag 001810: 20 65 69 74 68 65 72 20 20 66 6F 72 6D 73 20 20 either forms 001820: 70 61 72 74 20 20 6F 66 20 20 74 68 65 6E 75 9C part of thenu. 001830: 85 6D 62 65 72 20 73 68 69 66 74 65 64 2C 20 74 .mber shifted, t 001840: 68 65 72 65 62 79 20 6D 61 6B 69 6E 67 20 69 74 hereby making it 001850: 20 39 20 62 69 74 73 6C 6F 6E 67 2C 20 6F 72 20 9 bitslong, or 001860: 64 75 70 6C 69 63 61 74 65 73 20 74 68 65 20 73 duplicates the s 001870: 74 61 74 65 20 6F 66 20 74 68 65 20 62 69 74 74 tate of the bitt 001880: 68 61 74 20 66 65 6C 6C 20 6F 75 74 20 6F 66 20 hat fell out of 001890: 74 68 65 20 72 65 67 69 73 74 65 72 2E 20 54 68 the register. Th 0018A0: 65 72 65 20 61 72 65 74 68 65 72 65 66 6F 72 65 ere aretherefore 0018B0: 20 20 20 66 6F 75 72 20 20 20 64 69 66 66 65 72 four differ 0018C0: 65 6E 74 20 20 20 74 79 70 65 73 20 20 6F 66 72 ent types ofr 0018D0: 6F 74 61 74 65 2E A3 20 52 4C 43 20 72 2C 20 61 otate.£ RLC r, a 0018E0: 6E 64 20 52 4C 43 20 28 48 4C 29 20 28 6E 61 6D nd RLC (HL) (nam 0018F0: 65 6C 79 20 52 6F 74 61 74 65 20 4C 65 66 74 43 ely Rotate LeftC 001900: 61 72 72 79 20 64 75 70 6C 69 63 61 74 69 6E 67 arry duplicating 001910: 20 29 2C 20 73 68 69 66 74 73 20 74 68 65 20 63 ), shifts the c 001920: 6F 6E 74 65 6E 74 73 6C 65 66 74 2C 20 62 69 74 ontentsleft, bit 001930: 20 D9 55 37 20 72 6F 74 61 74 69 6E 67 20 69 6E .U7 rotating in 001940: 74 6F 20 62 69 74 20 30 2C 20 61 6E 64 20 74 68 to bit 0, and th 001950: 65 43 61 72 72 79 20 64 75 70 6C 69 63 61 74 69 eCarry duplicati 001960: 6E 67 20 74 68 65 20 74 72 61 6E 73 66 65 72 72 ng the transferr 001970: 65 64 20 62 69 74 2E A0 A0 20 69 2E 65 2E 20 20 ed bit... i.e. 001980: 20 20 43 20 20 37 20 36 20 35 20 34 20 33 20 32 C 7 6 5 4 3 2 001990: 20 31 20 30 A0 20 20 20 20 20 20 20 20 20 78 20 1 0. x 0019A0: 20 31 20 30 20 31 20 31 20 30 20 30 20 30 20 31 1 0 1 1 0 0 0 1 0019B0: A0 62 65 63 6F 6D 65 73 20 20 31 20 20 30 20 31 .becomes 1 0 1 0019C0: 20 31 20 30 20 30 20 30 20 31 20 31 20 20 6F 6C 1 0 0 0 1 1 ol 0019D0: 64 20 62 69 74 20 37 3D 31 A0 20 52 4C 20 72 2C d bit 7=1. RL r, 0019E0: 20 61 6E 64 20 52 4C 20 28 48 4C 29 20 20 52 6F and RL (HL) Ro 0019F0: 74 61 74 65 20 4C 65 66 74 2C 20 72 6F 74 61 74 tate Left, rotat 001A00: 65 73 74 68 65 20 20 72 65 67 69 73 74 65 72 2F esthe register/ 001A10: 6D 65 6D 6F 72 79 20 6C 6F 63 61 74 69 6F 6E 20 memory location 001A20: 20 77 69 74 68 20 20 74 68 65 43 61 72 72 79 20 with theCarry 001A30: 61 73 20 69 C2 61 20 39 74 68 20 62 69 74 2C 20 as i.a 9th bit, 001A40: 6C 65 66 74 2E A0 A0 20 69 2E 65 2E 20 20 20 20 left... i.e. 001A50: 43 20 20 37 20 36 20 35 20 34 20 33 20 32 20 31 C 7 6 5 4 3 2 1 001A60: 20 30 A0 20 20 20 20 20 20 20 20 20 63 20 20 31 0. c 1 001A70: 20 30 20 31 20 31 20 30 20 30 20 30 20 31 A0 62 0 1 1 0 0 0 1.b 001A80: 65 63 6F 6D 65 73 20 20 31 20 20 30 20 31 20 31 ecomes 1 0 1 1 001A90: 20 30 20 30 20 30 20 31 20 63 20 20 63 3D 6F 6C 0 0 0 1 c c=ol 001AA0: 64 20 43 61 72 72 79 A0 20 52 4C 20 20 69 6E 73 d Carry. RL ins 001AB0: 74 72 75 63 74 69 6F 6E 73 20 63 61 6E 20 62 65 tructions can be 001AC0: 20 73 74 72 75 6E 67 20 74 6F 67 65 74 68 65 72 strung together 001AD0: 74 6F 20 6D 75 6C 74 69 70 6C 79 20 20 61 6E 79 to multiply any 001AE0: 20 20 6C 65 6E 67 74 68 20 20 6E 75 6D 62 65 72 length number 001AF0: 20 20 62 79 20 20 32 2C 73 69 6E 63 65 20 74 68 by 2,since th 001B00: 65 20 20 43 61 72 72 79 20 20 69 73 20 74 72 61 e Carry is tra 001B10: 6E 73 66 65 72 72 65 64 20 62 65 74 77 65 65 6E nsferred between 001B20: 72 65 70 65 61 74 65 64 20 52 4C 20 69 6E 73 74 repeated RL inst 001B30: 72 75 63 74 69 FF C6 6F 6E 73 2E A3 20 52 52 43 ructi..ons.£ RRC 001B40: 20 72 2C 20 20 52 52 43 20 28 48 4C 29 20 20 69 r, RRC (HL) i 001B50: 6E 73 74 72 75 63 74 69 6F 6E 73 20 20 28 52 6F nstructions (Ro 001B60: 74 61 74 65 52 69 67 68 74 20 43 61 72 72 79 20 tateRight Carry 001B70: 62 65 69 6E 67 20 64 75 70 6C 69 63 61 74 65 64 being duplicated 001B80: 29 20 69 73 20 73 69 6D 69 6C 61 72 74 6F 20 74 ) is similarto t 001B90: 68 65 20 20 52 4C 43 20 20 69 6E 73 74 72 75 63 he RLC instruc 001BA0: 74 69 6F 6E 20 20 62 75 74 20 69 73 20 61 20 72 tion but is a r 001BB0: 69 67 68 74 73 68 69 66 74 2E 20 20 42 69 74 20 ightshift. Bit 001BC0: 30 20 69 73 20 20 73 68 69 66 74 65 64 20 69 6E 0 is shifted in 001BD0: 74 6F 20 62 69 74 20 37 20 61 6E 64 74 68 65 20 to bit 7 andthe 001BE0: 43 61 72 72 79 20 64 75 70 6C 69 63 61 74 65 73 Carry duplicates 001BF0: 20 74 68 65 20 6F 6C 64 20 62 69 74 20 30 2E A0 the old bit 0.. 001C00: A0 20 69 2E 65 2E 20 20 20 20 37 20 36 20 35 20 . i.e. 7 6 5 001C10: 34 20 33 20 32 20 31 20 30 20 20 43 A0 20 20 20 4 3 2 1 0 C. 001C20: 20 20 20 20 20 20 31 20 30 20 31 20 31 20 30 20 1 0 1 1 0 001C30: 30 20 30 20 31 20 20 E3 CE 78 A0 62 65 63 6F 6D 0 0 1 ..x.becom 001C40: 65 73 20 20 31 20 31 20 30 20 31 20 31 20 30 20 es 1 1 0 1 1 0 001C50: 30 20 30 20 20 31 20 20 6F 6C 64 20 62 69 74 20 0 0 1 old bit 001C60: 30 3D 31 A0 20 52 52 20 72 2C 20 61 6E 64 20 52 0=1. RR r, and R 001C70: 52 20 28 48 4C 29 20 69 6E 73 74 72 75 63 74 69 R (HL) instructi 001C80: 6F 6E 73 20 28 20 52 6F 74 61 74 65 52 69 67 68 ons ( RotateRigh 001C90: 74 20 29 20 69 73 20 73 69 6D 69 6C 61 72 20 74 t ) is similar t 001CA0: 6F 20 52 4C 20 65 78 63 65 70 74 20 74 68 61 74 o RL except that 001CB0: 20 74 68 65 73 68 69 66 74 20 61 72 6F 75 6E 64 theshift around 001CC0: 20 74 68 65 20 39 20 62 69 74 73 20 69 73 20 74 the 9 bits is t 001CD0: 6F 20 74 68 65 20 72 69 67 68 74 2E A0 20 69 2E o the right.. i. 001CE0: 65 2E 20 20 20 20 37 20 36 20 35 20 34 20 33 20 e. 7 6 5 4 3 001CF0: 32 20 31 20 30 20 20 43 A0 20 20 20 20 20 20 20 2 1 0 C. 001D00: 20 20 31 20 30 20 31 20 31 20 30 20 30 20 30 20 1 0 1 1 0 0 0 001D10: 31 20 20 63 A0 62 65 63 6F 6D 65 73 20 20 63 20 1 c.becomes c 001D20: 31 20 30 20 31 20 31 20 30 20 30 20 30 20 20 31 1 0 1 1 0 0 0 1 001D30: 20 20 63 3D 6F 6C 64 20 43 66 6A 61 72 72 79 A0 c=old Cfjarry. 001D40: 20 52 52 20 69 6E 73 74 72 75 63 74 69 6F 6E 73 RR instructions 001D50: 20 63 61 6E 20 62 65 20 73 74 72 75 6E 67 20 20 can be strung 001D60: 74 6F 67 65 74 68 65 72 74 6F 20 64 69 76 69 64 togetherto divid 001D70: 65 20 61 6E 79 20 6C 65 6E 67 74 68 20 6E 75 6D e any length num 001D80: 62 65 72 20 62 79 20 32 2E A3 20 52 4C 43 20 61 ber by 2.£ RLC a 001D90: 6E 64 20 52 52 43 20 20 69 6E 73 74 72 75 63 74 nd RRC instruct 001DA0: 69 6F 6E 73 20 61 72 65 20 75 73 65 66 75 6C 20 ions are useful 001DB0: 69 6E 73 65 71 75 65 6E 74 69 61 6C 6C 79 20 20 insequentially 001DC0: 20 69 6E 74 65 72 72 6F 67 61 74 69 6E 67 20 20 interrogating 001DD0: 74 68 65 20 20 77 68 6F 6C 65 63 6F 6E 74 65 6E the wholeconten 001DE0: 74 73 20 6F 66 20 61 20 72 65 67 69 73 74 65 72 ts of a register 001DF0: 20 77 69 74 68 6F 75 74 20 20 63 6F 72 72 75 70 without corrup 001E00: 74 2D 69 6E 67 20 69 74 73 20 63 6F 6E 74 65 6E t-ing its conten 001E10: 74 73 2E A0 A0 20 41 6C 6C 20 74 68 65 20 61 62 ts... All the ab 001E20: 6F 76 65 20 72 6F 74 61 74 65 20 69 6E 73 74 72 ove rotate instr 001E30: 75 63 74 69 6F 6E 73 20 20 52 4C F7 97 43 2C 52 uctions RL..C,R 001E40: 4C 2C 20 20 52 52 43 2C 20 61 6E 64 20 20 52 52 L, RRC, and RR 001E50: 20 20 6E 6F 74 20 20 6F 6E 6C 79 20 20 61 66 66 not only aff 001E60: 65 63 74 20 74 68 65 43 61 72 72 79 20 66 6C 61 ect theCarry fla 001E70: 67 20 20 62 75 74 20 61 6C 73 6F 20 20 74 68 65 g but also the 001E80: 20 5A 65 72 6F 2C 20 53 69 67 6E 20 61 6E 64 50 Zero, Sign andP 001E90: 61 72 69 74 79 20 20 20 66 6C 61 67 73 2C 20 20 arity flags, 001EA0: 61 73 20 20 20 68 61 76 65 20 20 20 61 6C 6C 20 as have all 001EB0: 20 20 73 68 69 66 74 69 6E 73 74 72 75 63 74 69 shiftinstructi 001EC0: 6F 6E 73 20 64 69 73 63 75 73 73 65 64 2E A0 A0 ons discussed... 001ED0: 20 54 68 65 72 65 20 20 61 72 65 20 20 34 20 6F There are 4 o 001EE0: 74 68 65 72 20 72 6F 74 61 74 65 20 69 6E 73 74 ther rotate inst 001EF0: 72 75 63 74 69 6F 6E 73 74 68 61 74 20 20 69 6E ructionsthat in 001F00: 76 6F 6C 76 65 20 74 68 65 20 41 63 63 75 6D 75 volve the Accumu 001F10: 6C 61 74 6F 72 20 6F 6E 6C 79 2E 20 54 68 65 79 lator only. They 001F20: 61 72 65 20 52 4C 43 41 2C 20 20 52 4C 41 2C 20 are RLCA, RLA, 001F30: 20 52 52 43 41 2C 20 61 6E 64 20 52 52 23 67 41 RRCA, and RR#gA 001F40: 2E 20 54 68 65 79 20 61 72 65 69 64 65 6E 74 69 . They areidenti 001F50: 63 61 6C 20 74 6F 20 20 52 4C 43 20 41 2C 20 20 cal to RLC A, 001F60: 52 4C 20 41 2C 20 20 52 52 43 20 41 2C 20 20 61 RL A, RRC A, a 001F70: 6E 64 52 52 20 41 2C 20 62 75 74 20 6F 6E 6C 79 ndRR A, but only 001F80: 20 20 61 66 66 65 63 74 20 20 74 68 65 20 20 43 affect the C 001F90: 61 72 72 79 20 66 6C 61 67 2C 61 6E 64 20 61 72 arry flag,and ar 001FA0: 65 20 74 77 69 63 65 20 61 73 20 66 61 73 74 2E e twice as fast. 001FB0: A3 20 53 75 6D 6D 61 72 79 20 2D 20 72 6F 74 61 £ Summary - rota 001FC0: 74 65 20 69 6E 73 74 72 75 63 74 69 6F 6E 73 A0 te instructions. 001FD0: A0 20 52 4C 43 20 72 20 20 72 6F 74 61 74 65 20 . RLC r rotate 001FE0: 72 20 6C 65 66 74 2C 20 63 61 72 72 79 20 20 64 r left, carry d 001FF0: 75 70 6C 69 63 61 74 65 73 20 52 4C 43 20 28 48 uplicates RLC (H 002000: 4C 29 A0 20 52 4C 43 41 20 20 20 72 6F 74 61 74 L). RLCA rotat 002010: 65 20 41 20 6C 65 66 74 2C 20 63 61 72 72 79 20 e A left, carry 002020: 20 64 75 70 6C 69 63 61 74 65 73 A0 20 52 4C 20 duplicates. RL 002030: 72 20 20 20 72 6F 74 61 74 65 20 72 20 61 6E DB r rotate r an. 002040: AF 64 20 63 61 72 72 79 20 6C 65 66 74 A0 20 52 .d carry left. R 002050: 4C 20 28 48 4C 29 A0 20 52 4C 41 20 20 20 20 72 L (HL). RLA r 002060: 6F 74 61 74 65 20 41 20 61 6E 64 20 63 61 72 72 otate A and carr 002070: 79 20 6C 65 66 74 A0 A0 20 52 52 43 20 72 20 20 y left.. RRC r 002080: 72 6F 74 61 74 65 20 72 20 72 69 67 68 74 2C 20 rotate r right, 002090: 63 61 72 72 79 20 64 75 70 6C 69 63 61 74 65 73 carry duplicates 0020A0: 20 52 52 43 20 28 48 4C 29 A0 20 52 52 43 41 20 RRC (HL). RRCA 0020B0: 20 20 72 6F 74 61 74 65 20 41 20 72 69 67 68 74 rotate A right 0020C0: 2C 20 63 61 72 72 79 20 64 75 70 6C 69 63 61 74 , carry duplicat 0020D0: 65 73 A0 20 52 52 20 72 20 20 20 72 6F 74 61 74 es. RR r rotat 0020E0: 65 20 72 20 61 6E 64 20 43 61 72 72 79 20 72 69 e r and Carry ri 0020F0: 67 68 74 A0 20 52 52 20 28 48 4C 29 A0 20 52 52 ght. RR (HL). RR 002100: 41 20 20 20 20 20 20 72 6F 74 61 74 65 20 41 20 A rotate A 002110: 61 6E 64 20 43 61 72 72 79 20 72 69 67 68 74 A3 and Carry right£ 002120: 20 20 20 20 45 58 41 4D 50 4C 45 53 20 4F 46 20 EXAMPLES OF 002130: 52 4F 54 41 54 45 20 49 4E 53 54 52 55 43 54 49 ROTATE INSTRUCTI 002140: 4F 1A CD 4E 53 A0 A0 20 54 68 65 73 65 20 65 78 O..NS.. These ex 002150: 61 6D 70 6C 65 73 20 69 6C 6C 75 73 74 72 61 74 amples illustrat 002160: 65 20 74 68 65 20 6F 70 65 72 61 74 69 6F 6E 6F e the operationo 002170: 66 20 20 72 6F 74 61 74 65 20 20 20 69 6E 73 74 f rotate inst 002180: 72 75 63 74 69 6F 6E 73 2E 20 20 20 4D 6F 64 69 ructions. Modi 002190: 66 79 20 20 74 68 65 69 6E 69 74 69 61 6C 20 63 fy theinitial c 0021A0: 6F 6E 64 69 74 69 6F 6E 20 6F 66 20 74 68 65 20 ondition of the 0021B0: 6C 6F 63 61 74 69 6F 6E 20 20 53 54 4F 52 45 74 location STOREt 0021C0: 6F 20 69 6E 76 65 73 74 69 67 61 74 65 20 74 68 o investigate th 0021D0: 65 69 72 20 6F 70 65 72 61 74 69 6F 6E 20 66 75 eir operation fu 0021E0: 72 74 68 65 72 2E A3 20 4C 44 20 48 4C 2C 53 54 rther.£ LD HL,ST 0021F0: 4F 52 45 A0 20 20 4C 44 20 42 2C 38 A0 20 4C 4F ORE. LD B,8. LO 002200: 4F 50 31 20 52 4C 43 20 28 48 4C 29 A0 20 20 44 OP1 RLC (HL). D 002210: 4A 4E 5A 20 4C 4F 4F 50 31 A0 20 20 4C 44 20 42 JNZ LOOP1. LD B 002220: 2C 38 A0 20 4C 4F 4F 50 32 20 52 4C 20 28 48 4C ,8. LOOP2 RL (HL 002230: 29 A0 20 20 44 4A 4E 5A 20 4C 4F 4F 50 32 A0 20 ). DJNZ LOOP2. 002240: 20 4C 44 A5 09 20 42 2C 38 A0 20 4C 4F 4F 50 33 LD.. B,8. LOOP3 002250: 20 52 52 43 20 28 48 4C 29 A0 20 20 44 4A 4E 5A RRC (HL). DJNZ 002260: 20 4C 4F 4F 50 33 A0 20 20 4C 44 20 42 2C 38 A0 LOOP3. LD B,8. 002270: 20 4C 4F 4F 50 34 20 52 52 20 28 48 4C 29 A0 20 LOOP4 RR (HL). 002280: 20 44 4A 4E 5A 20 4C 4F 4F 50 34 A0 20 20 52 45 DJNZ LOOP4. RE 002290: 54 A0 20 53 54 4F 52 45 20 42 49 4E 20 36 39 48 T. STORE BIN 69H 0022A0: A0 20 20 20 A0 20 20 20 20 45 58 41 4D 50 4C 45 . . EXAMPLE 0022B0: 20 55 53 49 4E 47 20 52 4F 54 41 54 45 20 41 4E USING ROTATE AN 0022C0: 44 20 53 48 49 46 54 A0 A0 20 54 68 69 73 20 65 D SHIFT.. This e 0022D0: 78 61 6D 70 6C 65 20 20 75 73 65 73 20 20 73 68 xample uses sh 0022E0: 69 66 74 73 20 20 61 6E 64 20 20 72 6F 74 61 74 ifts and rotat 0022F0: 65 69 6E 73 74 72 75 63 74 69 6F 6E 73 20 20 74 einstructions t 002300: 6F 20 20 6D 75 6C 74 69 70 6C 79 20 20 74 77 6F o multiply two 002310: 20 20 38 20 20 20 62 69 74 6E 75 6D 62 65 72 73 8 bitnumbers 002320: 20 74 6F 67 65 74 68 65 72 2E 20 20 4F 6E 65 20 together. One 002330: 6E 75 6D 62 65 72 20 69 73 20 72 6F 74 61 74 65 number is rotate 002340: 64 74 6F 20 65 5C D2 78 61 6D 69 6E 65 20 20 65 dto e\.xamine e 002350: 61 63 68 20 62 69 74 20 69 6E 20 74 75 72 6E 2E ach bit in turn. 002360: 20 20 54 68 65 20 6F 74 68 65 72 6E 75 6D 62 65 The othernumbe 002370: 72 20 69 73 20 61 6C 73 6F 20 73 68 69 66 74 65 r is also shifte 002380: 64 20 61 6E 64 20 20 61 64 64 65 64 20 74 6F 20 d and added to 002390: 74 68 65 74 6F 74 61 6C 20 69 66 20 74 68 65 20 thetotal if the 0023A0: 20 62 69 74 20 69 73 20 73 65 74 2E 20 54 68 69 bit is set. Thi 0023B0: 73 20 6D 65 74 68 6F 64 20 69 73 66 61 72 20 71 s method isfar q 0023C0: 75 69 63 6B 65 72 20 74 68 61 6E 20 74 68 65 20 uicker than the 0023D0: 20 6D 65 74 68 6F 64 20 6F 66 20 72 65 70 65 61 method of repea 0023E0: 74 65 64 61 64 64 69 74 69 6F 6E 2E A3 20 4C 44 tedaddition.£ LD 0023F0: 20 48 4C 2C 30 A0 20 20 4C 44 20 44 45 2C 28 4E HL,0. LD DE,(N 002400: 55 4D 32 29 A0 20 20 4C 44 20 41 2C 28 4E 55 4D UM2). LD A,(NUM 002410: 31 29 A0 20 4C 4F 4F 50 20 20 52 52 20 41 A0 20 1). LOOP RR A. 002420: 20 4A 52 20 4E 43 2C 4A 50 31 A0 20 20 41 44 44 JR NC,JP1. ADD 002430: 20 48 4C 2C 44 45 A0 20 4A 50 31 20 20 20 52 45 HL,DE. JP1 RE 002440: 54 20 5A A0 20 20 53 C6 F7 4C 41 20 45 A0 20 20 T Z. S..LA E. 002450: 52 4C 20 44 A0 20 20 4A 52 20 4C 4F 4F 50 A0 20 RL D. JR LOOP. 002460: 20 A0 20 4E 55 4D 31 20 20 44 45 46 42 20 32 31 . NUM1 DEFB 21 002470: 32 A0 20 4E 55 4D 32 20 20 44 45 46 42 20 32 30 2. NUM2 DEFB 20 002480: 33 A0 20 20 44 45 46 42 20 30 A0 20 20 A0 20 20 3. DEFB 0. . 002490: A0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 . 0024A0: 44 45 43 49 4D 41 4C 20 52 4F 54 41 54 45 A0 A0 DECIMAL ROTATE.. 0024B0: 20 54 68 65 20 20 5A 38 30 20 20 61 6C 6C 6F 77 The Z80 allow 0024C0: 73 20 20 75 73 20 74 6F 20 72 6F 74 61 74 65 20 s us to rotate 0024D0: 6C 65 66 74 20 61 6E 64 72 69 67 68 74 20 6E 69 left andright ni 0024E0: 62 62 6C 65 73 20 61 73 20 77 65 6C 6C 20 61 73 bbles as well as 0024F0: 20 62 69 74 73 2E A0 A0 20 52 4C 44 20 20 52 6F bits... RLD Ro 002500: 74 61 74 65 73 20 74 68 65 20 44 65 63 69 6D 61 tates the Decima 002510: 6C 20 6E 75 6D 62 65 72 20 4C 65 66 74 A0 20 52 l number Left. R 002520: 52 44 20 20 52 6F 74 61 74 65 73 20 74 68 65 20 RD Rotates the 002530: 44 65 63 69 6D 61 6C 20 6E 75 6D 62 65 72 20 52 Decimal number R 002540: 69 67 68 74 A0 A0 20 54 68 5B 20 65 20 20 20 62 ight.. Th[ e b 002550: 65 73 74 20 20 20 77 61 79 20 20 20 74 6F 20 20 est way to 002560: 20 64 65 73 63 72 69 62 65 20 20 74 68 65 73 65 describe these 002570: 6F 70 65 72 61 74 69 6F 6E 73 20 20 20 20 69 73 operations is 002580: 20 20 20 20 62 79 20 20 20 65 78 61 6D 70 6C 65 by example 002590: 2E 20 20 20 42 6F 74 68 69 6E 73 74 72 75 63 74 . Bothinstruct 0025A0: 69 6F 6E 73 20 20 69 6E 76 6F 6C 76 65 20 20 74 ions involve t 0025B0: 68 65 20 20 41 63 63 75 6D 75 6C 61 74 6F 72 2C he Accumulator, 0025C0: 61 6E 64 20 20 20 74 68 65 20 20 20 6D 65 6D 6F and the memo 0025D0: 72 79 20 20 6C 6F 63 61 74 69 6F 6E 20 20 28 48 ry location (H 0025E0: 4C 29 2E 20 20 54 68 65 65 78 61 6D 70 6C 65 73 L). Theexamples 0025F0: 20 61 72 65 20 69 6E 20 20 42 69 6E 61 72 79 20 are in Binary 002600: 43 6F 64 65 64 20 44 65 63 69 6D 61 6C 20 6F 66 Coded Decimal of 002610: 63 6F 75 72 73 65 2C 20 20 65 61 63 68 20 64 69 course, each di 002620: 67 69 74 20 74 61 6B 69 6E 67 20 75 70 20 6F 6E git taking up on 002630: 65 20 6E 69 62 62 6C 65 6F 72 20 20 66 6F 75 72 e nibbleor four 002640: 20 20 62 69 74 73 20 6F 66 20 74 5F 6E 68 65 20 bits of t_nhe 002650: 72 65 67 69 73 74 65 72 20 6F 72 20 6D 65 6D 6F register or memo 002660: 72 79 6C 6F 63 61 74 69 6F 6E 2E A3 20 20 20 20 rylocation.£ 002670: 20 20 20 20 20 20 20 20 20 41 20 61 66 74 65 72 A after 002680: 20 20 20 28 48 4C 29 20 20 20 20 41 20 62 65 66 (HL) A bef 002690: 6F 72 65 20 A0 20 20 20 20 20 20 20 20 20 20 20 ore . 0026A0: 20 20 20 20 20 20 20 20 20 20 20 20 35 20 34 20 5 4 0026B0: 20 20 20 20 20 20 20 78 20 33 A0 20 61 66 74 65 x 3. afte 0026C0: 72 20 52 4C 44 20 20 20 20 20 78 20 35 20 20 20 r RLD x 5 0026D0: 20 20 34 20 33 A0 A0 77 68 65 72 65 20 20 78 20 4 3..where x 0026E0: 69 73 20 61 6E 79 20 6E 75 6D 62 65 72 20 61 6E is any number an 0026F0: 64 20 69 73 20 75 6E 61 66 66 65 63 74 65 64 62 d is unaffectedb 002700: 79 20 74 68 65 20 69 6E 73 74 72 75 63 74 69 6F y the instructio 002710: 6E 2E A0 A0 20 41 73 20 63 61 6E 20 62 65 20 20 n... As can be 002720: 73 65 65 6E 20 74 68 65 20 65 66 66 65 63 74 20 seen the effect 002730: 6F 66 20 73 74 72 69 6E 67 69 6E 67 74 6F 67 65 of stringingtoge 002740: 74 68 65 72 20 52 4C 44 20 69 6E 73 74 94 C0 72 ther RLD inst..r 002750: 75 63 74 69 6F 6E 73 20 69 73 20 74 6F 20 6D 75 uctions is to mu 002760: 6C 74 69 70 6C 79 61 20 20 64 65 63 69 6D 61 6C ltiplya decimal 002770: 20 20 6E 75 6D 62 65 72 20 20 62 79 20 20 31 30 number by 10 002780: 2E 20 20 49 74 20 69 73 20 20 61 6C 73 6F 75 73 . It is alsous 002790: 65 66 75 6C 20 69 6E 20 69 73 6F 6C 61 74 69 6E eful in isolatin 0027A0: 67 20 74 68 65 20 68 69 67 68 20 64 69 67 69 74 g the high digit 0027B0: 20 20 66 72 6F 6D 74 68 65 20 74 77 6F 20 64 69 fromthe two di 0027C0: 67 69 74 20 6E 75 6D 62 65 72 2E A3 20 20 20 20 git number.£ 0027D0: 20 20 20 20 20 20 20 20 20 41 20 61 66 74 65 72 A after 0027E0: 20 20 20 28 48 4C 29 20 20 20 20 41 20 62 65 66 (HL) A bef 0027F0: 6F 72 65 20 A0 20 20 20 20 20 20 20 20 20 20 20 ore . 002800: 20 20 20 20 78 20 35 20 20 20 20 20 34 20 33 A0 x 5 4 3. 002810: 20 61 66 74 65 72 20 52 52 44 20 20 20 20 20 20 after RRD 002820: 20 20 20 20 20 20 20 35 20 34 20 20 20 20 20 20 5 4 002830: 20 78 20 33 A0 A0 20 54 68 65 20 20 52 52 44 20 x 3.. The RRD 002840: 20 69 6E 73 74 72 75 63 74 69 6F 6E 20 74 68 97 instruction th. 002850: 8A 65 72 65 66 6F 72 65 20 64 69 76 69 64 65 73 .erefore divides 002860: 74 68 65 20 64 65 63 69 6D 61 6C 20 6E 75 6D 62 the decimal numb 002870: 65 72 20 62 79 20 31 30 2E 20 49 74 20 63 61 6E er by 10. It can 002880: 20 61 6C 73 6F 20 62 65 73 74 72 75 6E 67 20 74 also bestrung t 002890: 6F 67 65 74 68 65 72 20 74 6F 20 64 69 76 69 64 ogether to divid 0028A0: 65 20 61 6E 79 20 6C 65 6E 67 74 68 20 42 43 44 e any length BCD 0028B0: 6E 75 6D 62 65 72 20 20 62 79 20 31 30 2E 20 20 number by 10. 0028C0: 54 68 65 20 6C 6F 77 20 64 69 67 69 74 20 6F 66 The low digit of 0028D0: 20 74 68 65 20 74 77 6F 64 69 67 69 74 20 20 64 the twodigit d 0028E0: 65 63 69 6D 61 6C 20 6E 75 6D 62 65 72 20 63 61 ecimal number ca 0028F0: 6E 20 62 65 20 69 73 6F 6C 61 74 65 64 20 62 79 n be isolated by 002900: 74 68 69 73 20 69 6E 73 74 72 75 63 74 69 6F 6E this instruction 002910: 2E A3 20 53 75 6D 6D 61 72 79 20 2D 20 64 65 63 .£ Summary - dec 002920: 69 6D 61 6C 20 73 68 69 66 74 73 A0 A0 52 4C 44 imal shifts..RLD 002930: 20 20 20 20 52 6F 74 61 74 65 20 4C 65 66 74 20 Rotate Left 002940: 44 65 63 69 6D 61 6C 20 20 28 2A 31 30 29 A0 A0 Decimal (*10).. 002950: 52 BC 00 52 44 20 20 20 20 52 6F 74 61 74 65 20 R..RD Rotate 002960: 52 69 67 68 74 20 44 65 63 69 6D 61 6C 20 28 2F Right Decimal (/ 002970: 31 30 29 A3 20 20 20 20 20 20 45 58 41 4D 50 4C 10)£ EXAMPL 002980: 45 53 20 4F 46 20 44 45 43 49 4D 41 4C 20 52 4F ES OF DECIMAL RO 002990: 54 41 54 49 4F 4E A0 A0 20 54 68 65 73 65 20 20 TATION.. These 0029A0: 20 20 20 65 78 61 6D 70 6C 65 73 20 20 20 20 69 examples i 0029B0: 6C 6C 75 73 74 72 61 74 65 20 20 20 20 74 68 65 llustrate the 0029C0: 6D 75 6C 74 69 70 6C 69 63 61 74 69 6F 6E 20 20 multiplication 0029D0: 20 61 6E 64 20 20 20 64 69 76 69 73 69 6F 6E 20 and division 0029E0: 20 6F 66 20 20 42 43 44 6E 75 6D 62 65 72 73 20 of BCDnumbers 0029F0: 62 79 20 74 65 6E 2E A3 20 4C 44 20 48 4C 2C 53 by ten.£ LD HL,S 002A00: 54 4F 52 45 A0 20 20 4C 44 20 41 2C 30 A0 20 20 TORE. LD A,0. 002A10: 52 4C 44 A0 20 20 49 4E 43 20 48 4C A0 20 20 52 RLD. INC HL. R 002A20: 4C 44 A0 20 20 A0 20 20 4C 44 20 41 2C 30 A0 20 LD. . LD A,0. 002A30: 20 52 52 44 A0 20 20 44 45 43 20 48 4C A0 20 20 RRD. DEC HL. 002A40: 52 52 44 A0 20 20 52 45 54 A0 20 20 A0 20 20 A0 RRD. RET. . . 002A50: 20 53 54 00 73 4F 52 45 20 44 45 46 57 20 32 35 ST.sORE DEFW 25 002A60: 34 48 A0 20 20 A0 20 20 A0 20 20 20 20 20 20 20 4H. . . 002A70: 20 20 20 20 20 20 20 49 4E 54 52 4F 44 55 43 54 INTRODUCT 002A80: 49 4F 4E A0 A0 20 54 68 69 73 20 20 67 72 6F 75 ION.. This grou 002A90: 70 20 20 6F 66 20 6C 65 73 73 6F 6E 73 20 77 69 p of lessons wi 002AA0: 6C 6C 20 20 69 6E 74 72 6F 64 75 63 65 74 68 65 ll introducethe 002AB0: 20 69 64 65 61 20 6F 66 20 62 69 74 20 6D 61 6E idea of bit man 002AC0: 69 70 75 6C 61 74 69 6F 6E 20 61 6E 64 20 69 74 ipulation and it 002AD0: 73 20 75 73 65 69 6E 20 20 66 6C 61 67 20 20 6F s usein flag o 002AE0: 70 65 72 61 74 69 6F 6E 73 20 20 61 6E 64 20 20 perations and 002AF0: 69 6E 20 20 70 72 6F 64 75 63 69 6E 67 66 61 73 in producingfas 002B00: 74 65 72 20 6D 65 74 68 6F 64 73 20 6F 66 20 6D ter methods of m 002B10: 75 6C 74 69 70 6C 69 63 61 74 69 6F 6E 2E A0 A0 ultiplication... 002B20: 20 42 75 74 20 66 69 72 73 74 20 20 77 65 20 73 But first we s 002B30: 68 61 6C 6C 20 6C 6F 6F 6B 20 66 75 72 74 68 65 hall look furthe 002B40: 72 20 61 74 20 74 68 65 70 72 6F 63 65 73 73 6F r at theprocesso 002B50: 72 73 20 66 6C 80 34 61 67 73 2E A3 20 20 20 20 rs fl.4ags.£ 002B60: 20 20 20 20 20 20 20 20 20 4C 45 53 53 4F 4E 53 LESSONS 002B70: 20 20 31 38 20 2D 20 32 35 A0 A0 20 31 38 2E 20 18 - 25.. 18. 002B80: 20 50 61 72 69 74 79 A0 20 31 39 2E 20 20 54 68 Parity. 19. Th 002B90: 65 20 66 6C 61 67 20 72 65 67 69 73 74 65 72 20 e flag register 002BA0: 61 6E 64 20 41 46 A0 20 32 30 2E 20 20 53 20 61 and AF. 20. S a 002BB0: 6E 64 20 50 2F 56 20 66 6C 61 67 73 20 69 6E 20 nd P/V flags in 002BC0: 69 6E 73 74 72 75 63 74 69 6F 6E 73 A0 20 20 20 instructions. 002BD0: 20 20 20 20 20 20 20 20 20 20 45 78 20 2D 20 73 Ex - s 002BE0: 69 67 6E 20 61 6E 64 20 70 61 72 69 74 79 20 66 ign and parity f 002BF0: 6C 61 67 73 20 20 32 31 2E 20 20 42 69 74 20 6D lags 21. Bit m 002C00: 61 6E 69 70 75 6C 61 74 69 6F 6E A0 20 20 20 20 anipulation. 002C10: 20 20 20 20 20 20 20 45 78 20 2D 20 62 69 74 20 Ex - bit 002C20: 6D 61 6E 69 70 75 6C 61 74 69 6F 6E A0 20 32 32 manipulation. 22 002C30: 2E 20 20 4C 6F 67 69 63 61 6C 20 69 6E 73 74 72 . Logical instr 002C40: 75 63 74 69 6F 6E 73 A0 20 20 20 20 20 20 20 20 uctions. 002C50: 20 20 20 45 78 20 2D E4 CA 20 6C 6F 67 69 63 61 Ex -.. logica 002C60: 6C 20 69 6E 73 74 72 75 63 74 69 6F 6E 73 A0 20 l instructions. 002C70: 32 33 2E 20 20 53 68 69 66 74 20 69 6E 73 74 72 23. Shift instr 002C80: 75 63 74 69 6F 6E 73 A0 20 20 20 20 20 20 20 20 uctions. 002C90: 20 20 20 45 78 20 2D 20 73 68 69 66 74 20 69 6E Ex - shift in 002CA0: 73 74 72 75 63 74 69 6F 6E 73 A0 20 32 34 2E 20 structions. 24. 002CB0: 20 52 6F 74 61 74 65 20 69 6E 73 74 72 75 63 74 Rotate instruct 002CC0: 69 6F 6E 73 A0 20 20 20 20 20 20 20 20 20 20 20 ions. 002CD0: 45 78 20 2D 20 72 6F 74 61 74 65 20 69 6E 73 74 Ex - rotate inst 002CE0: 72 75 63 74 69 6F 6E 73 20 31 A0 20 20 20 20 20 ructions 1. 002CF0: 20 20 20 20 20 20 45 78 20 2D 20 72 6F 74 61 74 Ex - rotat 002D00: 65 20 69 6E 73 74 72 75 63 74 69 6F 6E 73 20 32 e instructions 2 002D10: A0 20 32 35 2E 20 20 44 65 63 69 6D 61 6C 20 72 . 25. Decimal r 002D20: 6F 74 61 74 69 6E 67 A0 20 20 20 20 20 20 20 20 otating. 002D30: 20 20 20 45 78 20 2D 20 64 65 63 69 6D 61 6C 20 Ex - decimal 002D40: 72 6F 74 61 74 69 6F 6E A0 20 4C 6F 61 64 20 66 rotation. Load f 002D50: 75 72 74 68 65 72 20 6C 65 1A F9 73 73 6F 6E 73 urther le..ssons 002D60: 20 66 72 6F 6D 20 74 61 70 65 A3 20 20 20 20 20 from tape£ 002D70: 20 20 20 20 20 20 20 20 20 20 20 20 50 41 52 49 PARI 002D80: 54 59 A0 A0 20 57 68 65 6E 20 64 61 74 61 20 69 TY.. When data i 002D90: 73 20 74 72 61 6E 73 6D 69 74 74 65 64 20 66 72 s transmitted fr 002DA0: 6F 6D 20 6F 6E 65 20 70 6C 61 63 65 74 6F 20 61 om one placeto a 002DB0: 6E 6F 74 68 65 72 2C 20 69 74 20 69 73 20 70 6F nother, it is po 002DC0: 73 73 69 62 6C 65 20 66 6F 72 20 65 72 72 6F 72 ssible for error 002DD0: 73 20 74 6F 61 70 70 65 61 72 20 69 6E 20 74 68 s toappear in th 002DE0: 65 20 72 65 63 65 69 76 65 64 20 64 61 74 61 2E e received data. 002DF0: 20 50 61 72 69 74 79 20 69 73 20 61 73 69 6D 70 Parity is asimp 002E00: 6C 65 20 77 61 79 20 6F 66 20 64 65 74 65 63 74 le way of detect 002E10: 69 6E 67 20 73 69 6E 67 6C 65 20 65 72 72 6F 72 ing single error 002E20: 73 20 69 6E 64 61 74 61 2E 20 20 41 6E 20 61 64 s indata. An ad 002E30: 64 69 74 69 6F 6E 61 6C 20 62 69 74 20 69 73 20 ditional bit is 002E40: 61 64 64 65 64 20 74 6F 20 74 68 65 64 61 74 61 added to thedata 002E50: 20 74 68 61 74 20 6D 61 6B 65 73 49 F9 20 74 68 that makesI. th 002E60: 65 20 74 6F 74 61 6C 20 6E 75 6D 62 65 72 20 6F e total number o 002E70: 66 20 22 31 22 73 69 6E 20 74 68 65 20 20 77 6F f "1"sin the wo 002E80: 72 64 20 20 61 6E 20 20 65 76 65 6E 20 20 6E 75 rd an even nu 002E90: 6D 62 65 72 2E 20 20 20 49 66 20 74 68 65 72 65 mber. If there 002EA0: 63 65 69 76 65 64 20 20 77 6F 72 64 20 20 64 6F ceived word do 002EB0: 65 73 20 20 6E 6F 74 20 20 68 61 76 65 20 20 61 es not have a 002EC0: 6E 20 65 76 65 6E 6E 75 6D 62 65 72 20 20 6F 66 n evennumber of 002ED0: 20 22 31 22 73 20 69 6E 20 69 74 2C 20 74 68 65 "1"s in it, the 002EE0: 6E 20 61 6E 20 65 72 72 6F 72 20 68 61 73 6F 63 n an error hasoc 002EF0: 63 75 72 72 65 64 2E 20 20 20 49 6E 20 20 61 64 curred. In ad 002F00: 64 69 74 69 6F 6E 20 20 74 6F 20 20 74 68 69 73 dition to this 002F10: 20 20 65 76 65 6E 70 61 72 69 74 79 20 77 65 20 evenparity we 002F20: 63 6F 75 6C 64 20 75 73 65 20 20 6F 64 64 20 20 could use odd 002F30: 70 61 72 69 74 79 2C 20 20 77 68 65 72 65 74 68 parity, whereth 002F40: 65 20 77 6F 72 64 20 69 73 20 6D 61 64 65 20 74 e word is made t 002F50: 6F 20 68 61 76 65 20 20 61 6E 20 20 6F 14 E9 64 o have an o..d 002F60: 64 20 6E 75 6D 62 65 72 6F 66 20 22 31 22 73 20 d numberof "1"s 002F70: 69 6E 20 69 74 2E A0 A0 20 54 68 65 20 20 5A 38 in it... The Z8 002F80: 30 20 20 68 61 73 20 61 20 66 6C 61 67 20 74 68 0 has a flag th 002F90: 61 74 20 69 73 20 73 65 74 20 69 66 20 74 68 65 at is set if the 002FA0: 6E 75 6D 62 65 72 20 6F 66 20 22 31 22 73 20 69 number of "1"s i 002FB0: 6E 20 61 20 6E 75 6D 62 65 72 20 69 73 20 65 76 n a number is ev 002FC0: 65 6E 2E 20 54 68 69 73 66 6C 61 67 20 20 69 73 en. Thisflag is 002FD0: 20 69 6E 20 66 61 63 74 20 20 74 68 65 20 20 73 in fact the s 002FE0: 61 6D 65 20 66 6C 61 67 20 20 61 73 20 74 68 65 ame flag as the 002FF0: 6F 76 65 72 66 6C 6F 77 20 66 6C 61 67 2E 20 20 overflow flag. 003000: 49 74 20 20 69 73 20 20 74 65 72 6D 65 64 20 20 It is termed 003010: 74 68 65 20 20 50 2F 56 66 6C 61 67 2E A3 20 69 the P/Vflag.£ i 003020: 2E 65 2E A0 30 20 30 20 31 20 31 20 30 20 31 20 .e..0 0 1 1 0 1 003030: 30 20 30 20 20 20 70 61 72 69 74 79 20 66 6C 61 0 0 parity fla 003040: 67 20 69 73 20 6E 6F 74 20 73 65 74 20 20 20 20 g is not set 003050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 11 s. 003060: 27 69 6E 63 65 20 20 6E 75 6D 62 65 72 20 20 6F 'ince number o 003070: 66 20 22 31 22 73 20 20 20 20 20 20 20 20 20 20 f "1"s 003080: 20 20 20 20 20 20 20 20 69 73 20 33 2E 20 20 20 is 3. 003090: 69 2E 65 2E 20 6F 64 64 2E A0 A0 30 20 31 20 30 i.e. odd...0 1 0 0030A0: 20 30 20 30 20 31 20 31 20 31 20 20 20 70 61 72 0 0 1 1 1 par 0030B0: 69 74 79 20 20 66 6C 61 67 20 20 20 69 73 20 20 ity flag is 0030C0: 73 65 74 20 20 20 20 20 20 20 20 20 20 20 20 20 set 0030D0: 20 20 20 20 20 73 69 6E 63 65 20 20 6E 75 6D 62 since numb 0030E0: 65 72 20 20 6F 66 20 22 31 22 73 20 20 20 20 20 er of "1"s 0030F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 69 73 20 is 003100: 34 2E 20 20 20 69 2E 65 2E 20 65 76 65 6E 2E A0 4. i.e. even.. 003110: A0 20 54 68 65 20 20 69 6E 73 74 72 75 63 74 69 . The instructi 003120: 6F 6E 20 20 70 65 72 66 6F 72 6D 65 64 20 20 64 on performed d 003130: 65 74 65 72 6D 69 6E 65 73 74 68 65 20 6D 65 61 eterminesthe mea 003140: 6E 69 6E 67 20 6F 66 20 74 68 65 20 50 2F 56 20 ning of the P/V 003150: 66 6C 61 67 2E A0 A0 20 4F 66 20 20 61 6C 6C 20 flag... Of all 003160: 20 77 24 74 68 65 20 69 6E 73 74 72 75 63 74 69 w$the instructi 003170: 6F 6E 73 20 20 64 65 73 63 72 69 62 65 64 20 74 ons described t 003180: 6F 64 61 74 65 20 20 6F 6E 6C 79 20 20 44 41 41 odate only DAA 003190: 20 20 74 72 65 61 74 73 20 20 69 74 20 20 61 73 treats it as 0031A0: 20 61 20 70 61 72 69 74 79 66 6C 61 67 2E 20 20 a parityflag. 0031B0: 41 6C 6C 20 6F 74 68 65 72 73 20 65 69 74 68 65 All others eithe 0031C0: 72 20 68 61 76 65 20 20 6E 6F 20 65 66 66 65 63 r have no effec 0031D0: 74 6F 6E 20 69 74 20 20 6F 72 20 75 73 65 20 69 ton it or use i 0031E0: 74 20 61 73 20 20 61 6E 20 20 6F 76 65 72 66 6C t as an overfl 0031F0: 6F 77 20 20 66 6C 61 67 2E 41 6C 6C 20 73 75 62 ow flag.All sub 003200: 73 65 71 75 65 6E 74 20 69 6E 73 74 72 75 63 74 sequent instruct 003210: 69 6F 6E 73 20 65 69 74 68 65 72 20 20 68 61 76 ions either hav 003220: 65 6E 6F 20 65 66 66 65 63 74 20 6F 6E 20 69 74 eno effect on it 003230: 20 6F 72 20 75 73 65 20 69 74 20 61 73 20 70 61 or use it as pa 003240: 72 69 74 79 2E A3 20 54 48 45 20 46 4C 41 47 20 rity.£ THE FLAG 003250: 52 45 47 49 53 54 45 52 20 41 4E 44 20 41 46 20 REGISTER AND AF 003260: 52 45 47 19 B2 49 53 54 45 52 20 50 41 49 52 A0 REG..ISTER PAIR. 003270: A0 20 57 65 20 20 68 61 76 65 20 20 64 69 73 63 . We have disc 003280: 75 73 73 65 64 20 66 6C 61 67 73 20 61 73 20 69 ussed flags as i 003290: 6E 64 69 76 69 64 75 61 6C 62 69 74 73 2E 20 20 ndividualbits. 0032A0: 54 68 69 73 20 69 73 20 74 68 65 20 77 61 79 20 This is the way 0032B0: 74 68 65 79 20 61 72 65 20 6E 6F 72 6D 61 6C 6C they are normall 0032C0: 79 75 73 65 64 2E 20 20 20 54 68 65 79 20 61 72 yused. They ar 0032D0: 65 20 68 6F 77 65 76 65 72 20 61 63 74 75 61 6C e however actual 0032E0: 6C 79 20 73 74 6F 72 65 64 69 6E 20 74 68 65 20 ly storedin the 0032F0: 5A 38 30 20 69 6E 20 61 20 72 65 67 69 73 74 65 Z80 in a registe 003300: 72 2C 20 64 65 73 69 67 6E 61 74 65 64 20 20 61 r, designated a 003310: 73 46 20 20 6F 72 20 20 66 6C 61 67 20 20 72 65 sF or flag re 003320: 67 69 73 74 65 72 2E 20 20 54 68 65 20 20 66 6C gister. The fl 003330: 61 67 73 20 20 20 61 72 65 61 72 72 61 6E 67 65 ags arearrange 003340: 64 20 61 73 20 66 6F 6C 6C 6F 77 73 20 3A 2D A0 d as follows :-. 003350: A0 20 20 20 62 69 74 20 20 30 20 20 20 20 20 20 . bit 0 003360: 43 20 20 20 20 7C 4A 43 61 72 72 79 A0 20 20 20 C |JCarry. 003370: 62 69 74 20 20 31 20 20 20 20 20 20 4E 20 20 20 bit 1 N 003380: 20 53 75 62 74 72 61 63 74 20 6C 61 73 74 A0 20 Subtract last. 003390: 20 20 62 69 74 20 20 32 20 20 20 20 20 50 2F 56 bit 2 P/V 0033A0: 20 20 20 50 61 72 69 74 79 20 61 6E 64 20 6F 76 Parity and ov 0033B0: 65 72 66 6C 6F 77 A0 20 20 20 62 69 74 20 20 33 erflow. bit 3 0033C0: 20 20 20 20 20 20 20 20 20 20 20 4E 6F 74 20 75 Not u 0033D0: 73 65 64 A0 20 20 20 62 69 74 20 20 34 20 20 20 sed. bit 4 0033E0: 20 20 20 48 20 20 20 20 48 61 6C 66 20 63 61 72 H Half car 0033F0: 72 79 A0 20 20 20 62 69 74 20 20 35 20 20 20 20 ry. bit 5 003400: 20 20 20 20 20 20 20 4E 6F 74 20 75 73 65 64 A0 Not used. 003410: 20 20 20 62 69 74 20 20 36 20 20 20 20 20 20 5A bit 6 Z 003420: 20 20 20 20 5A 65 72 6F A0 20 20 20 62 69 74 20 Zero. bit 003430: 20 37 20 20 20 20 20 20 53 20 20 20 20 53 69 67 7 S Sig 003440: 6E A3 20 54 68 65 20 46 6C 61 67 20 20 72 65 67 n£ The Flag reg 003450: 69 73 74 65 72 20 20 73 6F 6D 65 74 69 6D 65 73 ister sometimes 003460: 20 20 66 6F 72 6D 73 0A 31 20 20 61 72 65 67 69 forms.1 aregi 003470: 73 74 65 72 20 20 70 61 69 72 20 20 69 6E 20 20 ster pair in 003480: 63 6F 6E 6A 75 6E 63 74 69 6F 6E 20 77 69 74 68 conjunction with 003490: 20 74 68 65 41 63 63 75 6D 75 6C 61 74 6F 72 2E theAccumulator. 0034A0: 20 54 68 69 73 20 70 61 69 72 20 69 73 20 63 61 This pair is ca 0034B0: 6C 6C 65 64 20 41 46 2E 20 54 68 65 6F 6E 6C 79 lled AF. Theonly 0034C0: 20 69 6E 73 74 72 75 63 74 69 6F 6E 73 20 20 70 instructions p 0034D0: 72 65 76 69 6F 75 73 6C 79 20 20 6D 65 6E 74 69 reviously menti 0034E0: 6F 6E 65 64 74 68 61 74 20 69 6E 76 6F 6C 76 65 onedthat involve 0034F0: 20 74 68 69 73 20 72 65 67 69 73 74 65 72 20 70 this register p 003500: 61 69 72 20 61 72 65 20 50 55 53 48 61 6E 64 20 air are PUSHand 003510: 50 4F 50 2E A3 20 20 20 20 20 53 20 61 6E 64 20 POP.£ S and 003520: 50 2F 56 20 46 4C 41 47 53 20 49 4E 20 49 4E 53 P/V FLAGS IN INS 003530: 54 52 55 43 54 49 4F 4E 53 A0 A0 20 54 68 65 20 TRUCTIONS.. The 003540: 73 69 67 6E 20 20 61 6E 64 20 20 70 61 72 69 74 sign and parit 003550: 79 20 66 6C 61 67 73 20 63 61 6E 20 62 65 20 75 y flags can be u 003560: 73 65 64 69 6E 20 20 61 6C F4 6A 6C 20 20 61 62 sedin al.jl ab 003570: 73 6F 6C 75 74 65 20 28 20 4E 4F 54 20 72 65 6C solute ( NOT rel 003580: 61 74 69 76 65 29 20 6A 75 6D 70 73 2C 63 61 6C ative) jumps,cal 003590: 6C 73 2C 20 61 6E 64 20 72 65 74 75 72 6E 73 2E ls, and returns. 0035A0: A0 A0 20 54 68 65 20 6E 6F 74 61 74 69 6F 6E 20 .. The notation 0035B0: 69 73 20 3A 2D A0 A0 20 4A 50 20 50 4F 2C 6E 6E is :-.. JP PO,nn 0035C0: 20 20 43 41 4C 4C 20 50 4F 2C 6E 6E 20 20 52 45 CALL PO,nn RE 0035D0: 54 20 50 4F A0 20 20 20 20 20 20 20 20 20 20 20 T PO. 0035E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0035F0: 50 61 72 69 74 79 20 6F 64 64 3D 30 20 A0 20 4A Parity odd=0 . J 003600: 50 20 50 45 2C 6E 6E 20 20 43 41 4C 4C 20 50 45 P PE,nn CALL PE 003610: 2C 6E 6E 20 20 52 45 54 20 50 45 A0 20 20 20 20 ,nn RET PE. 003620: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 003630: 20 20 20 20 20 20 20 50 61 72 69 74 79 20 65 76 Parity ev 003640: 65 6E 3D 31 A0 A0 20 4A 50 20 50 2C 6E 6E 20 20 en=1.. JP P,nn 003650: 20 43 41 4C 4C 20 50 2C 6E 6E 20 20 20 52 45 54 CALL P,nn RET 003660: 20 50 20 20 20 53 69 67 6E 20 2B 6B 43 76 65 A0 P Sign +kCve. 003670: 20 4A 50 20 4D 2C 6E 6E 20 20 20 43 41 4C 4C 20 JP M,nn CALL 003680: 4D 2C 6E 6E 20 20 20 52 45 54 20 4D 20 20 20 53 M,nn RET M S 003690: 69 67 6E 20 2D 76 65 A0 A0 20 49 66 20 74 68 65 ign -ve.. If the 0036A0: 20 63 6F 6E 64 69 74 69 6F 6E 20 69 73 20 6E 6F condition is no 0036B0: 74 20 6D 65 74 20 74 68 65 20 70 72 6F 67 72 61 t met the progra 0036C0: 6D 77 69 6C 6C 20 20 6E 6F 74 20 20 6A 75 6D 70 mwill not jump 0036D0: 2C 20 20 63 61 6C 6C 20 61 20 20 73 75 62 72 6F , call a subro 0036E0: 75 74 69 6E 65 2C 20 6F 72 72 65 74 75 72 6E 2E utine, orreturn. 0036F0: A3 20 20 20 20 20 20 20 20 45 58 41 4D 50 4C 45 £ EXAMPLE 003700: 20 4F 46 20 4A 55 4D 50 20 4F 4E 20 53 49 47 4E OF JUMP ON SIGN 003710: A0 A0 20 54 68 69 73 20 20 65 78 61 6D 70 6C 65 .. This example 003720: 20 20 69 73 20 61 20 73 69 6D 70 6C 65 20 20 70 is a simple p 003730: 72 6F 67 72 61 6D 20 20 74 6F 69 6C 6C 75 73 74 rogram toillust 003740: 72 61 74 65 20 20 4A 50 20 50 2C 6E 6E 20 2C 20 rate JP P,nn , 003750: 61 6E 64 20 4A 50 20 4D 2C 6E 6E 3B 20 20 6A 75 and JP M,nn; ju 003760: 6D 70 69 66 20 70 6F 73 69 74 69 76 65 68 3B 20 mpif positiveh; 003770: 61 6E 64 20 6A 75 6D 70 20 69 66 20 6D 69 6E 75 and jump if minu 003780: 73 2E 20 4E 6F 74 65 20 74 68 61 74 74 68 65 20 s. Note thatthe 003790: 20 63 61 72 72 79 20 20 69 73 20 20 73 74 69 6C carry is stil 0037A0: 6C 20 20 20 6F 70 65 72 61 74 69 76 65 2C 20 20 l operative, 0037B0: 20 61 6E 64 74 68 65 72 65 66 6F 72 65 2C 20 69 andtherefore, i 0037C0: 66 20 79 6F 75 20 64 6F 20 6E 6F 74 20 63 6C 65 f you do not cle 0037D0: 61 72 20 69 74 20 62 65 66 6F 72 65 41 44 43 20 ar it beforeADC 0037E0: 20 61 6E 64 20 53 42 43 20 20 74 68 65 20 20 6C and SBC the l 0037F0: 61 74 65 72 20 6A 75 6D 70 20 20 63 6F 75 6C 64 ater jump could 003800: 20 20 62 65 75 6E 65 78 70 65 63 74 65 64 2E 20 beunexpected. 003810: 49 6E 20 74 68 69 73 20 65 78 61 6D 70 6C 65 20 In this example 003820: 74 68 65 20 63 61 72 72 79 20 69 73 6E 6F 74 20 the carry isnot 003830: 63 6C 65 61 72 65 64 2C 20 73 6F 20 22 6C 6F 6F cleared, so "loo 003840: 6B 20 62 65 66 6F 72 65 20 79 6F 75 20 6C 65 61 k before you lea 003850: 70 22 2E A3 20 4C 44 20 48 4C 2C 35 32 A0 20 20 p".£ LD HL,52. 003860: 4C 44 20 44 45 2C 33 33 A0 20 20 4C 44 20 42 21 LD DE,33. LD B! 003870: 6F 43 2C 35 A0 20 4C 4F 4F 50 31 20 53 42 43 20 oC,5. LOOP1 SBC 003880: 48 4C 2C 44 45 A0 20 20 4C 44 20 28 4C 52 45 47 HL,DE. LD (LREG 003890: 29 2C 48 4C A0 20 20 4A 50 20 50 2C 4C 4F 4F 50 ),HL. JP P,LOOP 0038A0: 31 A0 20 4C 4F 4F 50 32 20 41 44 43 20 48 4C 2C 1. LOOP2 ADC HL, 0038B0: 42 43 A0 20 20 4C 44 20 28 4C 52 45 47 29 2C 48 BC. LD (LREG),H 0038C0: 4C A0 20 20 4A 50 20 4D 2C 4C 4F 4F 50 32 A0 20 L. JP M,LOOP2. 0038D0: 20 52 45 54 20 5A A0 20 20 4A 52 20 4C 4F 4F 50 RET Z. JR LOOP 0038E0: 31 A0 20 20 A0 20 4C 52 45 47 20 20 42 49 4E 20 1. . LREG BIN 0038F0: 30 A0 20 48 52 45 47 20 20 42 49 4E 20 30 A0 20 0. HREG BIN 0. 003900: 20 A0 20 20 A0 20 62 65 72 65 70 72 65 73 65 6E . . berepresen 003910: 74 65 64 20 62 79 20 43 39 42 38 20 68 65 78 2E ted by C9B8 hex. 003920: A0 A0 20 43 6F 6E 76 65 72 73 69 6F 6E 20 20 6F .. Conversion o 003930: 66 20 20 61 20 20 68 65 78 20 20 6E 75 6D 62 65 f a hex numbe 003940: 72 20 20 74 6F 20 20 69 74 73 64 65 63 69 6D 61 r to itsdecima 003950: 6C 20 65 71 75 69 76 61 6C 65 6E 74 20 66 6F 6C l equivalent fol 003960: 6C 6F 77 73 20 74 68 65 20 20 73 74 61 6E 64 61 lows the standa 003970: 72 90 0A 64 63 61 6C 63 75 6C 61 74 69 6F 6E 2E r..dcalculation. 003980: A0 A0 69 2E 65 2E 20 20 42 38 20 68 65 78 20 3D ..i.e. B8 hex = 003990: 20 28 42 20 68 65 78 29 2A 20 31 36 2B 20 28 38 (B hex)* 16+ (8 0039A0: 29 2A 20 31 A0 20 20 20 20 20 20 20 20 20 20 20 )* 1. 0039B0: 20 20 3D 20 31 31 2A 31 36 2B 38 3D 31 38 34 A0 = 11*16+8=184. 0039C0: A0 20 41 6C 77 61 79 73 20 72 65 6D 65 6D 62 65 . Always remembe 0039D0: 72 20 74 68 61 74 20 61 20 68 65 78 20 6E 75 6D r that a hex num 0039E0: 62 65 72 20 68 61 73 20 61 62 61 73 65 20 6F 66 ber has abase of 0039F0: 20 31 36 20 64 65 63 69 6D 61 6C 2C 20 61 20 64 16 decimal, a d 003A00: 65 63 69 6D 61 6C 20 6E 75 6D 62 65 72 20 68 61 ecimal number ha 003A10: 73 61 20 62 61 73 65 20 6F 66 20 31 30 20 20 61 sa base of 10 a 003A20: 6E 64 20 61 20 62 69 6E 61 72 79 20 6E 75 6D 62 nd a binary numb 003A30: 65 72 20 61 20 62 61 73 65 62 61 73 65 20 32 2E er a basebase 2. 003A40: A3 20 20 20 20 45 58 41 4D 50 4C 45 53 20 4F 46 £ EXAMPLES OF 003A50: 20 48 45 58 41 44 45 43 49 4D 41 4C 20 4E 4F 54 HEXADECIMAL NOT 003A60: 41 54 49 4F 4E A0 A0 20 4E 6F 77 20 20 74 68 61 ATION.. Now tha 003A70: 74 20 20 1A 9B 68 65 78 20 6E 6F 74 61 74 69 6F t ..hex notatio 003A80: 6E 20 68 61 73 20 62 65 65 6E 20 69 6E 74 72 6F n has been intro 003A90: 2D 64 75 63 65 64 20 77 65 20 20 63 61 6E 20 64 -duced we can d 003AA0: 69 73 63 75 73 73 20 20 68 6F 77 20 20 74 68 65 iscuss how the 003AB0: 20 63 6F 6D 70 75 74 65 72 73 74 6F 72 65 73 20 computerstores 003AC0: 20 70 72 6F 67 72 61 6D 73 20 20 69 6E 20 20 6D programs in m 003AD0: 6F 72 65 20 20 64 65 74 61 69 6C 2E 20 20 20 41 ore detail. A 003AE0: 73 61 6C 72 65 61 64 79 20 20 20 6D 65 6E 74 69 salready menti 003AF0: 6F 6E 65 64 2C 20 20 74 68 65 20 20 20 69 6E 73 oned, the ins 003B00: 74 72 75 63 74 69 6F 6E 73 61 72 65 20 20 73 74 tructionsare st 003B10: 6F 72 65 64 20 20 20 6D 65 6D 6F 72 79 20 20 61 ored memory a 003B20: 73 20 20 6E 75 6D 62 65 72 73 2E 20 20 53 6F 6D s numbers. Som 003B30: 65 69 6E 73 74 72 75 63 74 69 6F 6E 73 20 20 20 einstructions 003B40: 6F 6E 6C 79 20 20 20 72 65 71 75 69 72 65 20 20 only require 003B50: 61 20 20 73 69 6E 67 6C 65 6E 75 6D 62 65 72 2C a singlenumber, 003B60: 20 6F 74 68 65 72 73 20 72 65 71 75 69 72 65 20 others require 003B70: 6D 6F 72 65 2E EB 46 20 43 6F 6C 75 6D 6E 20 32 more..F Column 2 003B80: 20 6F 6E 74 68 65 20 53 69 6D 75 6C 61 74 6F 72 onthe Simulator 003B90: 20 64 69 73 70 6C 61 79 20 73 68 6F 77 73 20 20 display shows 003BA0: 74 68 65 20 20 6D 65 6D 6F 72 79 63 6F 6E 74 65 the memoryconte 003BB0: 6E 74 73 20 66 6F 72 20 74 68 65 20 69 6E 73 74 nts for the inst 003BC0: 72 75 63 74 69 6F 6E 73 20 69 6E 20 68 65 78 2E ructions in hex. 003BD0: A0 A0 20 41 6C 6C 20 74 68 65 20 20 6E 75 6D 62 .. All the numb 003BE0: 65 72 73 20 20 75 73 65 64 20 20 74 6F 20 20 64 ers used to d 003BF0: 65 73 63 72 69 62 65 20 61 6E 69 6E 73 74 72 75 escribe aninstru 003C00: 63 74 69 6F 6E 20 61 72 65 20 20 67 69 76 65 6E ction are given 003C10: 20 69 6E 20 73 65 71 75 65 6E 63 65 20 61 6C 6F in sequence alo 003C20: 6E 67 74 68 65 20 6C 69 6E 65 2E 20 20 4E 6F 74 ngthe line. Not 003C30: 69 63 65 20 74 68 61 74 20 6E 75 6D 62 65 72 73 ice that numbers 003C40: 20 63 61 6C 6C 65 64 20 75 70 69 6E 20 61 6E 20 called upin an 003C50: 69 6E 73 74 72 75 63 74 69 6F 6E 20 61 70 70 65 instruction appe 003C60: 61 72 20 74 6F 77 61 72 64 73 20 74 68 65 20 65 ar towards the e 003C70: 6E 64 6F 66 20 74 68 17 15 65 20 73 74 72 69 6E ndof th..e strin 003C80: 67 20 20 6F 66 20 20 6E 75 6D 62 65 72 73 2E 20 g of numbers. 003C90: 54 68 65 20 20 65 61 72 6C 69 65 72 6E 75 6D 62 The earliernumb 003CA0: 65 72 73 20 20 20 20 64 65 74 65 72 6D 69 6E 65 ers determine 003CB0: 20 20 20 20 74 68 65 20 20 20 74 79 70 65 20 20 the type 003CC0: 20 20 6F 66 69 6E 73 74 72 75 63 74 69 6F 6E 2E ofinstruction. 003CD0: 20 53 69 6E 63 65 20 74 68 65 20 20 74 6F 74 61 Since the tota 003CE0: 6C 20 20 6E 75 6D 62 65 72 20 6F 66 69 6E 73 74 l number ofinst 003CF0: 72 75 63 74 69 6F 6E 73 20 20 20 65 78 63 65 65 ructions excee 003D00: 64 20 20 20 32 35 36 2C 20 20 61 20 20 20 70 72 d 256, a pr 003D10: 65 66 69 78 6E 75 6D 62 65 72 20 69 73 20 75 73 efixnumber is us 003D20: 65 64 20 74 6F 20 20 70 72 6F 64 75 63 65 20 6F ed to produce o 003D30: 74 68 65 72 20 73 65 74 73 20 6F 66 69 6E 73 74 ther sets ofinst 003D40: 72 75 63 74 69 6F 6E 73 2E 20 54 68 65 20 70 72 ructions. The pr 003D50: 65 66 69 78 65 73 20 79 6F 75 20 77 69 6C 6C 20 efixes you will 003D60: 66 69 6E 64 61 72 65 20 45 44 2C 20 43 42 2C 20 findare ED, CB, 003D70: 44 44 20 61 6E 64 20 46 44 9C FA 2E A3 20 4C 75 DD and FD...£ Lu 003D80: 63 6B 69 6C 79 20 61 73 73 65 6D 62 6C 65 72 73 ckily assemblers 003D90: 20 74 61 6B 65 73 20 61 63 63 6F 75 6E 74 20 6F takes account o 003DA0: 66 20 61 6C 6C 74 68 65 73 65 20 20 63 6F 6D 70 f allthese comp 003DB0: 6C 65 78 69 74 69 65 73 2C 20 20 61 6E 64 20 20 lexities, and 003DC0: 79 6F 75 20 20 77 69 6C 6C 20 6E 6F 74 6E 65 65 you will notnee 003DD0: 64 20 20 74 6F 20 20 6C 65 61 72 6E 20 20 77 68 d to learn wh 003DE0: 69 63 68 20 6E 75 6D 62 65 72 73 20 72 65 70 72 ich numbers repr 003DF0: 65 73 65 6E 74 77 68 69 63 68 20 69 6E 73 74 72 esentwhich instr 003E00: 75 63 74 69 6F 6E 73 2E A0 A0 20 54 68 65 20 53 uctions... The S 003E10: 69 6D 75 6C 61 74 6F 72 20 20 63 61 6E 20 20 62 imulator can b 003E20: 65 20 73 77 69 74 63 68 65 64 20 62 65 74 77 65 e switched betwe 003E30: 65 6E 64 65 63 69 6D 61 6C 20 20 20 61 6E 64 20 endecimal and 003E40: 20 20 68 65 78 61 64 65 63 69 6D 61 6C 20 20 64 hexadecimal d 003E50: 69 73 70 6C 61 79 20 20 62 79 70 72 65 73 73 69 isplay bypressi 003E60: 6E 67 20 73 68 69 66 74 20 20 22 54 22 2C 20 20 ng shift "T", 003E70: 77 68 65 6E 20 61 20 70 72 6F 67 A5 E2 72 61 6D when a prog..ram 003E80: 20 20 69 73 6E 6F 74 20 72 75 6E 6E 69 6E 67 2E isnot running. 003E90: A3 20 4C 44 20 41 2C 32 35 48 A0 20 20 41 44 44 £ LD A,25H. ADD 003EA0: 20 41 2C 41 A0 20 20 44 41 41 A0 20 20 4C 44 20 A,A. DAA. LD 003EB0: 48 4C 2C 34 35 38 39 48 A0 20 20 4C 44 20 44 45 HL,4589H. LD DE 003EC0: 2C 33 38 31 32 48 A0 20 20 4C 44 20 41 2C 4C A0 ,3812H. LD A,L. 003ED0: 20 20 53 55 42 20 45 A0 20 20 44 41 41 A0 20 20 SUB E. DAA. 003EE0: 4C 44 20 4C 2C 41 A0 20 20 4C 44 20 41 2C 48 A0 LD L,A. LD A,H. 003EF0: 20 20 53 42 43 20 41 2C 44 A0 20 20 44 41 41 A0 SBC A,D. DAA. 003F00: 20 20 4C 44 20 48 2C 41 A0 20 20 52 45 54 A0 20 LD H,A. RET. 003F10: 20 A0 20 20 A0 20 20 20 20 20 20 42 49 4E 41 52 . . BINAR 003F20: 59 20 43 4F 44 45 44 20 44 45 43 49 4D 41 4C 20 Y CODED DECIMAL 003F30: 4E 4F 54 41 54 49 4F 4E A0 A0 20 57 65 20 20 77 NOTATION.. We w 003F40: 6F 75 6C 64 20 20 73 74 69 6C 6C 20 20 6C 69 6B ould still lik 003F50: 65 20 20 74 6F 20 20 62 65 20 20 61 62 6C 65 20 e to be able 003F60: 74 6F 70 65 72 66 6F 72 6D 20 63 61 6C 63 75 6C toperform calcul 003F70: 61 74 69 6F 6E 73 20 20 6F 6E 20 64 65 08 DC 63 ations on de..c 003F80: 69 6D 61 6C 20 6E 75 6D 62 65 72 73 77 69 74 68 imal numberswith 003F90: 6F 75 74 20 20 68 61 76 69 6E 67 20 20 74 6F 20 out having to 003FA0: 63 6F 6E 76 65 72 74 20 74 6F 20 62 69 6E 61 72 convert to binar 003FB0: 79 20 6F 72 68 65 78 61 64 65 63 69 6D 61 6C 20 y orhexadecimal 003FC0: 66 6F 72 6D 2E 20 48 65 78 69 64 65 63 69 6D 61 form. Hexidecima 003FD0: 6C 20 66 6F 72 6D 20 68 6F 6C 64 73 61 20 6B 65 l form holdsa ke 003FE0: 79 20 74 6F 20 61 20 6D 65 74 68 6F 64 20 6F 66 y to a method of 003FF0: 20 61 63 68 69 65 76 69 6E 67 20 74 68 69 73 2E achieving this. 004000: A0 A0 20 54 68 65 20 20 68 65 78 20 64 69 67 69 .. The hex digi 004010: 74 20 20 72 65 71 75 69 72 65 73 20 20 61 64 6A t requires adj 004020: 75 73 74 6D 65 6E 74 20 74 6F 61 76 6F 69 64 20 ustment toavoid 004030: 74 68 65 20 64 69 67 69 74 73 20 20 41 2D 46 2E the digits A-F. 004040: 20 20 41 64 64 69 6E 67 20 20 36 20 74 6F 20 74 Adding 6 to t 004050: 68 65 64 69 67 69 74 2C 20 69 66 20 74 68 65 73 hedigit, if thes 004060: 65 20 73 79 6D 62 6F 6C 73 20 61 70 70 65 61 72 e symbols appear 004070: 2C 20 20 72 65 73 75 6C 74 73 69 6E 20 63 6F B8 , resultsin co. 004080: 18 72 72 65 63 74 20 61 64 6A 75 73 74 6D 65 6E .rrect adjustmen 004090: 74 2E A0 A0 20 54 61 6B 65 20 20 74 68 65 20 20 t... Take the 0040A0: 68 65 78 20 20 6E 75 6D 62 65 72 20 20 43 20 20 hex number C 0040B0: 28 3D 20 31 32 20 64 65 63 2E 29 2E 41 64 64 69 (= 12 dec.).Addi 0040C0: 6E 67 20 20 36 20 20 67 69 76 65 73 20 20 31 38 ng 6 gives 18 0040D0: 20 20 64 65 63 69 6D 61 6C 20 6F 72 20 31 32 20 decimal or 12 0040E0: 68 65 78 2E 48 65 6E 63 65 20 74 68 65 20 68 65 hex.Hence the he 0040F0: 78 20 6E 75 6D 62 65 72 20 6C 6F 6F 6B 73 20 20 x number looks 004100: 69 64 65 6E 74 69 63 61 6C 20 74 6F 74 68 65 20 identical tothe 004110: 64 65 63 69 6D 61 6C 20 61 6E 73 77 65 72 20 72 decimal answer r 004120: 65 71 75 69 72 65 64 2E A3 20 45 61 63 68 20 64 equired.£ Each d 004130: 69 67 69 74 20 69 73 20 20 68 65 6C 64 20 20 69 igit is held i 004140: 6E 20 20 34 20 20 62 69 74 73 20 6F 66 20 74 68 n 4 bits of th 004150: 65 72 65 67 69 73 74 65 72 2E 20 20 20 54 68 65 eregister. The 004160: 73 65 20 20 34 20 20 62 69 74 73 20 61 72 65 20 se 4 bits are 004170: 63 61 6C 6C 65 64 20 20 61 6E 69 62 62 6C 65 2C called anibble, 004180: 20 D5 AB 74 68 65 20 77 68 6F 6C 65 20 38 20 62 ..the whole 8 b 004190: 69 74 20 77 6F 72 64 20 69 73 20 74 65 72 6D 65 it word is terme 0041A0: 64 20 61 62 79 74 65 2E 20 57 68 6F 20 73 61 69 d abyte. Who sai 0041B0: 64 20 70 72 6F 67 72 61 6D 6D 65 72 73 20 68 61 d programmers ha 0041C0: 76 65 20 6E 6F 20 73 65 6E 73 65 6F 66 20 68 75 ve no senseof hu 0041D0: 6D 6F 75 72 3F A0 A0 20 54 68 69 73 20 20 70 72 mour?.. This pr 0041E0: 65 73 65 6E 74 61 74 69 6F 6E 20 20 69 73 20 20 esentation is 0041F0: 74 65 72 6D 65 64 20 20 20 42 69 6E 61 72 79 43 termed BinaryC 004200: 6F 64 65 64 20 44 65 63 69 6D 61 6C 20 6F 72 20 oded Decimal or 004210: 42 43 44 2E A0 A0 20 54 68 65 20 20 20 5A 38 30 BCD... The Z80 004220: 20 20 20 20 61 63 63 6F 6D 6D 6F 64 61 74 65 73 accommodates 004230: 20 20 20 74 68 65 20 20 20 61 62 6F 76 65 61 64 the abovead 004240: 6A 75 73 74 6D 65 6E 74 2C 20 20 77 69 74 68 20 justment, with 004250: 74 68 65 20 69 6E 73 74 72 75 63 74 69 6F 6E 20 the instruction 004260: 20 20 44 41 41 2C 6F 72 20 20 44 65 63 69 6D 61 DAA,or Decima 004270: 6C 20 20 41 64 6A 75 73 74 20 20 41 63 63 75 6D l Adjust Accum 004280: 75 6C 61 B2 D6 74 6F 72 2E 20 20 20 54 68 69 73 ula..tor. This 004290: 69 6E 73 74 72 75 63 74 69 6F 6E 20 20 69 73 20 instruction is 0042A0: 20 75 73 65 64 20 20 61 66 74 65 72 20 20 61 6E used after an 0042B0: 20 20 38 20 20 62 69 74 41 44 44 2C 20 20 41 44 8 bitADD, AD 0042C0: 43 2C 20 20 53 55 42 2C 20 20 6F 72 20 20 53 42 C, SUB, or SB 0042D0: 43 20 20 74 6F 20 61 64 6A 75 73 74 20 74 68 65 C to adjust the 0042E0: 41 63 63 75 6D 75 6C 61 74 6F 72 20 63 6F 6E 74 Accumulator cont 0042F0: 65 6E 74 73 20 62 79 20 61 64 64 69 6E 67 20 36 ents by adding 6 004300: 20 20 74 6F 20 74 68 65 6E 69 62 62 6C 65 2C 20 to thenibble, 004310: 20 69 66 20 65 69 74 68 65 72 20 20 6E 69 62 62 if either nibb 004320: 6C 65 20 69 6E 20 74 68 65 20 61 6E 73 77 65 72 le in the answer 004330: 69 73 20 61 62 6F 76 65 20 39 2E A3 20 54 6F 20 is above 9.£ To 004340: 70 65 72 66 6F 72 6D 20 20 74 68 69 73 20 6F 70 perform this op 004350: 65 72 61 74 69 6F 6E 20 74 68 65 20 5A 38 30 20 eration the Z80 004360: 75 73 65 73 74 77 6F 20 66 75 72 74 68 65 72 20 usestwo further 004370: 66 6C 61 67 73 2C 20 74 68 65 20 20 48 20 20 66 flags, the H f 004380: 6C 61 67 20 28 43 8F 20 61 20 48 61 6C 66 63 61 lag (C. a Halfca 004390: 72 72 79 20 20 62 65 74 77 65 65 6E 20 20 6E 69 rry between ni 0043A0: 62 62 6C 65 73 20 29 2C 20 20 61 6E 64 20 20 4E bbles ), and N 0043B0: 20 20 66 6C 61 67 28 73 75 62 74 72 61 63 74 20 flag(subtract 0043C0: 20 69 6E 73 74 72 75 63 74 69 6F 6E 20 20 70 65 instruction pe 0043D0: 72 66 6F 72 6D 65 64 20 6C 61 73 74 29 2E 53 69 rformed last).Si 0043E0: 6E 63 65 20 20 74 68 65 73 65 20 20 66 6C 61 67 nce these flag 0043F0: 73 20 20 63 61 6E 6E 6F 74 20 62 65 20 74 65 73 s cannot be tes 004400: 74 65 64 20 61 73 70 61 72 74 20 6F 66 20 61 20 ted aspart of a 004410: 63 6F 6E 64 69 74 69 6F 6E 61 6C 20 6A 75 6D 70 conditional jump 004420: 20 65 74 63 2E 20 74 68 65 79 20 61 72 65 6F 66 etc. they areof 004430: 20 6C 69 74 74 6C 65 20 75 73 65 2E A3 20 20 20 little use.£ 004440: 20 20 45 58 41 4D 50 4C 45 53 20 4F 46 20 42 2E EXAMPLES OF B. 004450: 43 2E 44 2E 20 4E 4F 54 41 54 49 4F 4E A0 A0 20 C.D. NOTATION.. 004460: 54 68 65 73 65 20 65 78 61 6D 70 6C 65 73 20 73 These examples s 004470: 68 6F 77 20 73 69 6D 70 6C 65 20 61 64 64 69 74 how simple addit 004480: 69 6F 6E 20 61 6E 64 72 75 73 75 62 74 72 61 63 ion andrusubtrac 004490: 74 69 6F 6E 20 69 6E 20 20 42 43 44 20 66 6F 72 tion in BCD for 0044A0: 6D 61 74 2E 20 20 52 65 6D 65 6D 62 65 72 20 74 mat. Remember t 0044B0: 6F 6B 65 65 70 20 20 69 6E 20 20 20 48 65 78 20 okeep in Hex 0044C0: 20 64 69 73 70 6C 61 79 20 20 20 6D 6F 64 65 20 display mode 0044D0: 20 20 6F 72 20 20 74 68 65 69 6C 6C 75 73 74 72 or theillustr 0044E0: 61 74 69 6F 6E 73 20 77 69 6C 6C 20 6E 6F 74 20 ations will not 0044F0: 61 70 70 65 61 72 20 69 6E 20 42 43 44 2E A3 20 appear in BCD.£ 004500: 4C 44 20 41 2C 32 35 48 A0 20 20 4C 44 20 48 4C LD A,25H. LD HL 004510: 2C 53 54 4F 52 45 A0 20 20 4C 44 20 44 45 2C 32 ,STORE. LD DE,2 004520: 34 36 38 48 A0 20 20 49 4E 43 20 28 48 4C 29 A0 468H. INC (HL). 004530: 20 20 52 45 54 A0 20 20 A0 20 20 42 49 4E 20 36 RET. . BIN 6 004540: 35 48 A0 20 20 42 49 4E 20 38 37 48 A0 20 20 42 5H. BIN 87H. B 004550: 49 4E 20 39 41 48 A0 20 20 42 49 4E 20 44 46 48 IN 9AH. BIN DFH 004560: A0 20 20 42 49 4E 20 46 46 48 A0 20 20 42 49 4E . BIN FFH. BIN 004570: 20 36 34 48 A0 20 20 A0 20 53 54 4F 52 45 20 44 64H. . STORE D 004580: 45 46 42 20 36 34 A0 20 20 87 C2 A0 20 20 A0 20 EFB 64. ... . 004590: 20 20 50 4F 53 49 54 49 56 45 20 41 4E 44 20 4E POSITIVE AND N 0045A0: 45 47 41 54 49 56 45 20 4E 55 4D 42 45 52 20 4E EGATIVE NUMBER N 0045B0: 4F 54 41 54 49 4F 4E A0 A0 20 53 6F 20 66 61 72 OTATION.. So far 0045C0: 20 77 65 20 68 61 76 65 20 6F 6E 6C 79 20 64 65 we have only de 0045D0: 61 6C 74 20 77 69 74 68 20 70 6F 73 69 74 69 76 alt with positiv 0045E0: 65 6E 75 6D 62 65 72 73 2E 20 20 49 66 20 77 65 enumbers. If we 0045F0: 20 68 61 64 20 74 61 6B 65 6E 20 20 36 20 20 66 had taken 6 f 004600: 72 6F 6D 20 20 35 20 77 65 77 6F 75 6C 64 20 65 rom 5 wewould e 004610: 6E 64 20 20 75 70 20 77 69 74 68 20 20 74 68 65 nd up with the 004620: 20 61 6E 73 77 65 72 20 32 35 35 20 20 77 69 74 answer 255 wit 004630: 68 63 61 72 72 79 20 73 65 74 2E 20 54 68 65 72 hcarry set. Ther 004640: 65 20 69 73 20 61 6E 20 69 6E 74 65 72 70 72 65 e is an interpre 004650: 74 61 74 69 6F 6E 20 6F 66 6E 75 6D 62 65 72 73 tation ofnumbers 004660: 20 20 74 68 61 74 20 61 6C 6C 6F 77 73 20 75 73 that allows us 004670: 20 74 6F 20 63 6F 6E 73 69 64 65 72 20 74 68 69 to consider thi 004680: 73 61 6E 73 77 65 72 20 61 73 20 B8 DF 74 68 65 sanswer as ..the 004690: 20 6E 65 67 61 74 69 76 65 20 6E 75 6D 62 65 72 negative number 0046A0: 20 2D 31 2E A0 A0 20 49 6E 20 20 74 68 69 73 20 -1... In this 0046B0: 20 69 6E 74 65 72 70 72 65 74 61 74 69 6F 6E 20 interpretation 0046C0: 20 2D 31 20 6D 75 73 74 20 65 71 75 61 6C 32 35 -1 must equal25 0046D0: 35 20 6F 72 20 31 31 31 31 31 31 31 31 2C 20 6F 5 or 11111111, o 0046E0: 72 20 74 68 65 20 70 72 6F 63 65 73 73 6F 72 20 r the processor 0046F0: 20 77 6F 75 6C 64 6E 6F 74 20 62 65 20 61 62 6C wouldnot be abl 004700: 65 20 74 6F 20 74 61 6B 65 20 20 36 20 20 66 72 e to take 6 fr 004710: 6F 6D 20 20 35 20 20 61 6E 64 20 67 65 74 74 68 om 5 and getth 004720: 65 20 72 69 67 68 74 20 61 6E 73 77 65 72 2E 20 e right answer. 004730: 46 75 72 74 68 65 72 20 35 2D 37 20 3D 2D 32 20 Further 5-7 =-2 004740: 6F 72 20 32 35 34 6F 72 20 31 31 31 31 31 31 31 or 254or 1111111 004750: 30 2E 20 42 69 74 20 37 2C 20 74 68 65 20 6D 6F 0. Bit 7, the mo 004760: 73 74 20 73 69 67 6E 69 66 69 63 61 6E 74 62 69 st significantbi 004770: 74 2C 20 72 65 70 72 65 73 65 6E 74 73 20 20 74 t, represents t 004780: 68 65 20 73 69 67 6E 20 28 20 2B 20 6F 40 51 72 he sign ( + o@Qr 004790: 20 2D 20 29 20 20 6F 66 74 68 65 20 6E 75 6D 62 - ) ofthe numb 0047A0: 65 72 2E 20 57 68 65 6E 20 62 69 74 20 37 20 69 er. When bit 7 i 0047B0: 73 20 22 31 22 20 74 68 65 20 6E 75 6D 62 65 72 s "1" the number 0047C0: 69 73 20 6E 65 67 61 74 69 76 65 2C 20 20 61 6E is negative, an 0047D0: 64 20 77 68 65 6E 20 22 30 22 20 74 68 65 20 6E d when "0" the n 0047E0: 75 6D 62 65 72 20 69 73 70 6F 73 69 74 69 76 65 umber ispositive 0047F0: 2E A3 20 41 20 20 75 73 65 66 75 6C 20 6F 70 65 .£ A useful ope 004800: 72 61 74 69 6F 6E 20 77 6F 75 6C 64 20 20 62 65 ration would be 004810: 20 74 6F 20 6D 61 6B 65 20 61 70 6F 73 69 74 69 to make apositi 004820: 76 65 20 6E 75 6D 62 65 72 20 6E 65 67 61 74 69 ve number negati 004830: 76 65 2E 20 43 68 61 6E 67 69 6E 67 20 62 69 74 ve. Changing bit 004840: 20 37 64 6F 65 73 20 20 6E 6F 74 20 20 64 6F 20 7does not do 004850: 20 74 68 69 73 2E 20 20 54 61 6B 65 20 74 68 65 this. Take the 004860: 20 20 70 6F 73 69 74 69 76 65 6E 75 6D 62 65 72 positivenumber 004870: 20 20 32 20 6F 72 20 20 30 30 30 30 30 30 31 30 2 or 00000010 004880: 20 20 61 6E 64 20 69 74 73 20 6E 65 67 61 74 9C and its negat. 004890: 8E 69 76 65 65 71 75 69 76 61 6C 65 6E 74 20 2D .iveequivalent - 0048A0: 32 20 20 6F 72 20 31 31 31 31 31 31 31 30 20 20 2 or 11111110 0048B0: 66 6F 72 20 65 78 61 6D 70 6C 65 2E 49 6E 76 65 for example.Inve 0048C0: 72 74 69 6E 67 20 61 6C 6C 20 62 69 74 73 20 6F rting all bits o 0048D0: 66 20 74 68 65 20 20 62 69 6E 61 72 79 20 6E 75 f the binary nu 0048E0: 6D 62 65 72 6F 66 20 20 2B 32 20 20 67 69 76 65 mberof +2 give 0048F0: 73 20 20 31 31 31 31 31 31 30 31 2C 20 77 68 69 s 11111101, whi 004900: 63 68 20 69 73 20 31 20 6C 65 73 73 74 68 61 6E ch is 1 lessthan 004910: 20 74 68 61 74 20 20 66 6F 72 20 2D 32 2E A0 A0 that for -2... 004920: 48 65 6E 63 65 20 74 6F 20 6D 61 6B 65 20 61 20 Hence to make a 004930: 70 6F 73 69 74 69 76 65 20 6E 75 6D 62 65 72 20 positive number 004940: 6E 65 67 61 74 69 76 65 77 65 20 69 6E 76 65 72 negativewe inver 004950: 74 20 61 6C 6C 20 69 74 73 20 62 69 6E 61 72 79 t all its binary 004960: 20 62 69 74 73 2C 20 20 6B 6E 6F 77 6E 20 61 73 bits, known as 004970: 43 6F 6D 70 6C 69 6D 65 6E 74 69 6E 67 2C 20 61 Complimenting, a 004980: 6E 64 20 61 64 64 20 20 31 2E 20 20 54 68 65 20 nd add 1. The 004990: 6E 7A 68 6F 74 61 74 69 6F 6E 69 73 20 67 65 6E nzhotationis gen 0049A0: 65 72 61 6C 6C 79 20 74 65 72 6D 65 64 20 32 73 erally termed 2s 0049B0: 20 63 6F 6D 70 6C 65 6D 65 6E 74 A3 69 2E 65 2E complement£i.e. 0049C0: 20 20 20 20 20 20 20 20 20 30 20 30 20 30 20 30 0 0 0 0 0049D0: 20 30 20 31 20 30 20 31 20 20 20 20 2B 35 A0 20 0 1 0 1 +5. 0049E0: 20 20 20 69 6E 76 65 72 74 20 20 20 31 20 31 20 invert 1 1 0049F0: 31 20 31 20 31 20 30 20 31 20 30 A0 20 20 61 64 1 1 1 0 1 0. ad 004A00: 64 20 31 20 20 20 20 20 20 31 20 31 20 31 20 31 d 1 1 1 1 1 004A10: 20 31 20 30 20 31 20 31 20 20 20 20 2D 35 A0 20 1 0 1 1 -5. 004A20: 20 20 20 69 6E 76 65 72 74 20 20 20 30 20 30 20 invert 0 0 004A30: 30 20 30 20 30 20 31 20 30 20 30 A0 20 20 61 64 0 0 0 1 0 0. ad 004A40: 64 20 31 20 20 20 20 20 20 30 20 30 20 30 20 30 d 1 0 0 0 0 004A50: 20 30 20 31 20 30 20 31 20 20 20 20 2B 35 A0 A0 0 1 0 1 +5.. 004A60: 20 54 68 65 20 20 6F 70 65 72 61 74 69 6F 6E 20 The operation 004A70: 20 6C 75 63 6B 69 6C 79 20 20 61 6C 73 6F 20 20 luckily also 004A80: 6D 61 6B 65 73 20 20 61 6E 65 67 61 74 69 76 65 makes anegative 004A90: 20 20 20 FF 60 6E 75 6D 62 65 72 20 20 20 20 70 .`number p 004AA0: 6F 73 69 74 69 76 65 2E 20 20 20 41 20 20 76 65 ositive. 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 A2 2D 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 32 00 76 .....y.......2.v 005550: 65 20 22 54 45 58 54 32 22 2C 42 2C 26 35 38 30 e "TEXT2",B,&580 005560: 30 2C 26 35 35 30 30 20 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 7B B8 FF FF FF FF .........{.....
previoustop
Tous droits réservés. Reproduction sans autorisation interdite. © Kukulcan