![]() |
Routines |
| Prev: 65024 | Up: Map | Next: 65316 |
|
|
||||
| Checksum | 65271 | LD HL,16384 | HL=16384. | |
| 65274 | LD BC,48932 | BC=48932. | ||
| 65277 | LD A,0 | A=0. | ||
| Checksum_Loop | 65279 | ADD A,(HL) | E=A+*HL. | |
| 65280 | LD E,A | |||
| 65281 | INC HL | Increment HL by one. | ||
| 65282 | DEC BC | Decrease BC by one. | ||
| 65283 | LD A,B | Is BC zero?.. | ||
| 65284 | OR C | |||
| 65285 | LD A,E | A=E. | ||
| 65286 | JR NZ,Checksum_Loop | If BC is not zero, jump to Checksum_Loop. | ||
| 65288 | CP (HL) | If *HL is not zero, jump to 0 (return to ZX Spectrum BASIC). | ||
| 65289 | JP NZ,0 | |||
| 65292 | LD DE,23424 | DE=23424. | ||
| 65295 | LD HL,21502 | HL=21502. | ||
| Decryption_Loop | 65298 | LD A,(DE) | A=*DE. | |
| 65299 | XOR (HL) | Run an XOR on *HL. | ||
| 65300 | RES 4,H | Reset bit 4 of H. | ||
| 65302 | XOR (HL) | Run another XOR on *HL. | ||
| 65303 | SET 4,H | Set bit 4 of H. | ||
| 65305 | LD (DE),A | Write A to *DE. | ||
| 65306 | DEC HL | Decrease HL by one. | ||
| 65307 | INC DE | Increment DE by one. | ||
| 65308 | LD A,E | If E is not 154 jump to Decryption_Loop. | ||
| 65309 | CP 154 | |||
| 65311 | JR NZ,Decryption_Loop | |||
| 65313 | JP 23444 | Jump to 23444. | ||
| Prev: 65024 | Up: Map | Next: 65316 |