27512EP.asm
1 | ;*************************
| 2 | ;
| 3 | ; Eprommer 2716-27256
| 4 | ;
| 5 | ;*************************
| 6 | ;
| 7 | ORG 01900
| 8 | ;
| 9 | db "1 2716 * 2 2732 "
| 10 | db "* 3 2764 * 4 271"
| 11 | db "28 * 5 -256 * 6 -512"
| 12 | ;
| 13 | db 0,9,18,27,36,45
| 14 | ;
| 15 | L1931 ld A,08F
| 16 | OUT (P0A),A
| 17 | L1939 ld si,01900
| 18 | call PRINT
| 19 | db 00C,00E
| 20 | db "0101* Epromm"
| 21 | db "er 2716-27512 V."
| 22 | db "1.4 * [c]87/89 E."
| 23 | db "Ludwig/J.Beisler *"
| 24 | db 00E
| 25 | db "0308MEN: [Korr."
| 26 | db ""
| 27 | db "DEL"
| 28 | db ""
| 29 | db ", Zurck Anf."
| 30 | db ""
| 31 | db "Z"
| 32 | db ""
| 33 | db ", Abbruch "
| 34 | db ""
| 35 | db "Q"
| 36 | db ""
| 37 | db "]"
| 38 | db 00E
| 39 | db "061"
| 40 | db "2+080
| 41 | CALL L1CC5
| 42 | call PRINT
| 43 | db "*"
| 44 | db " +080
| 45 | CALL L1CD7
| 46 | call PRINT
| 47 | db 00E
| 48 | db "080"
| 49 | db "8+080
| 50 | CALL L1CE1
| 51 | ld (si-001),A
| 52 | SUB 031
| 53 | CALL Z,L1CC5
| 54 | jmp Z,L19DA
| 55 | DEC A
| 56 | jmp NZ,L1939
| 57 | CALL L1CD7
| 58 | L19DA call PRINT
| 59 | db 00E
| 60 | db "1004"
| 61 | db 002+080
| 62 | ld HL,01900
| 63 | ld B,034
| 64 | L19E6 ld A,(HL)
| 65 | INC HL
| 66 | call 10H
| 67 | DJNZ L19E6
| 68 | call PRINT
| 69 | db 00E
| 70 | db "1208"
| 71 | db 002+080
| 72 | CALL L1CE1
| 73 | jmp Z,L1939
| 74 | SUB 030
| 75 | ld (si-002),A
| 76 | ld HL,01934
| 77 | ld B,6
| 78 | L1A02 DEC A
| 79 | jmp Z,L1A0A
| 80 | INC HL
| 81 | DJNZ L1A02
| 82 | jmp L19DA
| 83 | ;
| 84 | L1A0A ld L,(HL)
| 85 | ld B,007
| 86 | L1A0D ld A,(HL)
| 87 | INC HL
| 88 | call 10H
| 89 | DJNZ L1A0D
| 90 | call PRINT
| 91 | db 00E
| 92 | db "1508EPROM-Adress"
| 93 | db "en [Ohne Eingabe"
| 94 | db " gesamtes Eprom]"
| 95 | db " +080
| 96 | CALL L1CE1
| 97 | jmp Z,L19DA
| 98 | L1A4A call PRINT
| 99 | db 00E
| 100 | db "1712Anfang :"
| 101 | db 002+080
| 102 | CALL INLINE
| 103 | ld HL,(D181A)
| 104 | EX DE,HL
| 105 | CALL INHEX
| 106 | ld A,(si-002)
| 107 | EX DE,HL
| 108 | ld HL,00400
| 109 | L1A6A ADD HL,HL
| 110 | DEC A
| 111 | jmp NZ,L1A6A
| 112 | EX DE,HL
| 113 | ld A,(si-2)
| 114 | cmp 6
| 115 | jmp Z,X1
| 116 | ;
| 117 | PUSH HL
| 118 | XOR A
| 119 | SBC HL,DE
| 120 | POP HL
| 121 | jmp NC,L1A4A
| 122 | ;
| 123 | X1 call PRINT
| 124 | db 00E
| 125 | db "1908A"
| 126 | db ".+080
| 127 | CALL L0589
| 128 | ld (D18F6),HL
| 129 | CALL L1CE1
| 130 | jmp Z,L1A4A
| 131 | L1A89 call PRINT
| 132 | db 00E
| 133 | db "2112Endadr.:"
| 134 | db 002+080
| 135 | CALL INLINE
| 136 | ld HL,(D181A)
| 137 | ld A,(HL)
| 138 | cmp 020
| 139 | EX DE,HL
| 140 | jmp Z,L1ABF
| 141 | PUSH HL
| 142 | CALL INHEX
| 143 | POP DE
| 144 | ;
| 145 | ld A,(si-2)
| 146 | cmp 6
| 147 | jmp Z,X2
| 148 | ;
| 149 | PUSH HL
| 150 | XOR A
| 151 | SBC HL,DE
| 152 | POP HL
| 153 | jmp NC,L1A89
| 154 | X2 PUSH DE
| 155 | PUSH HL
| 156 | ld DE,(D18F6)
| 157 | XOR A
| 158 | SBC HL,DE
| 159 | POP HL
| 160 | POP DE
| 161 | jmp C,L1A89
| 162 | jmp L1AC2
| 163 | ;
| 164 | L1ABF ld D,H
| 165 | ld E,L
| 166 | DEC HL
| 167 | L1AC2 ld (D18F8),HL
| 168 | call PRINT
| 169 | db 00E
| 170 | db "2308E"
| 171 | db ".+080
| 172 | CALL L0589
| 173 | CALL L1CE1
| 174 | jmp Z,L1A89
| 175 | L1AD5 call PRINT
| 176 | db 00E
| 177 | db "2512Speicheradre"
| 178 | db "sse :"
| 179 | db 002+080
| 180 | CALL INLINE
| 181 | ld HL,(D181A)
| 182 | EX DE,HL
| 183 | CALL INHEX
| 184 | ld (ARGU1),HL
| 185 | call PRINT
| 186 | db 00E
| 187 | db "2708R"
| 188 | db ".+080
| 189 | CALL L0589
| 190 | ld A,(si-001)
| 191 | cmp 031
| 192 | jmp NZ,L1B49
| 193 | L1B0C call PRINT
| 194 | db 00E
| 195 | db "2708Programm.NOR"
| 196 | db "MAL/SCHNELL [N/S"
| 197 | db "]: "
| 198 | db 002+080
| 199 | CALL L1CE1
| 200 | jmp Z,L1AD5
| 201 | ld HL,00DD3
| 202 | cmp 04E
| 203 | jmp Z,L1B45
| 204 | cmp 053
| 205 | jmp NZ,L1B0C
| 206 | ld HL,00047
| 207 | L1B45 ld (D18F4),HL
| 208 | call 10H
| 209 | L1B49 call PRINT
| 210 | db 00E
| 211 | db "2908START :"
| 212 | db 002," +080
| 213 | CALL L1CE1
| 214 | jmp Z,L1AD5
| 215 | ld A,(si-002)
| 216 | ;
| 217 | cmp 6
| 218 | jmp NZ,X3
| 219 | IN A,(P05)
| 220 | jmp X4
| 221 | ;
| 222 | X3 cmp 005
| 223 | CCF
| 224 | jmp C,L1B68
| 225 | cmp 003
| 226 | L1B68 IN A,(P05)
| 227 | SET 6,A
| 228 | jmp NC,L1B70
| 229 | X4 RES 6,A
| 230 | L1B70 SET 4,A
| 231 | RES 5,A
| 232 | OUT (P05),A
| 233 | ld HL,(ARGU1)
| 234 | ld DE,(D18F6)
| 235 | L1B7D ld C,P09
| 236 | OUT (C),D
| 237 | IN A,(P05)
| 238 | ;
| 239 | ld B,(si-2)
| 240 | DEC B
| 241 | DEC B
| 242 | DEC B
| 243 | DEC B
| 244 | DEC B
| 245 | DEC B
| 246 | jmp NZ,X5
| 247 | SET 6,A
| 248 | ;
| 249 | X5 RES 4,A
| 250 | OUT (P05),A
| 251 | SET 4,A
| 252 | OUT (P05),A
| 253 | ;
| 254 | DEC B
| 255 | INC B
| 256 | jmp NZ,X6
| 257 | RES 6,A
| 258 | OUT (P05),A
| 259 | ;
| 260 | X6 OUT (C),E
| 261 | IN A,(P08)
| 262 | BIT 0,(si-001)
| 263 | jmp NZ,L1B98
| 264 | ld (HL),A
| 265 | jmp L1B99
| 266 | ;
| 267 | L1B98 AND (HL)
| 268 | L1B99 cmp (HL)
| 269 | jmp NZ,L1CA0
| 270 | CALL L1CBA
| 271 | jmp NC,L1B7D
| 272 | ld HL,(D18F8)
| 273 | ld DE,(D18F6)
| 274 | XOR A
| 275 | SBC HL,DE
| 276 | ld (D18FC),HL
| 277 | PUSH DE
| 278 | ld DE,(ARGU1)
| 279 | ADD HL,DE
| 280 | ld (ARGU2),HL
| 281 | EX DE,HL
| 282 | POP DE
| 283 | BIT 0,(si-001)
| 284 | jmp Z,L1C31
| 285 | L1BC0 ld B,00A
| 286 | L1BC2 PUSH BC
| 287 | ld B,(si-002)
| 288 | IN A,(P05)
| 289 | RES 4,A
| 290 | SET 5,A
| 291 | OUT (C),D
| 292 | DEC B
| 293 | jmp Z,L1BD3
| 294 | SET 6,A
| 295 | L1BD3 OUT (P05),A
| 296 | OUT (C),E
| 297 | ld A,(HL)
| 298 | PUSH HL
| 299 | OUT (P08),A
| 300 | INC A
| 301 | jmp Z,L1BF2
| 302 | IN A,(P05)
| 303 | XOR 040
| 304 | OUT (P05),A
| 305 | ld HL,(D18F4)
| 306 | L1BE7 DEC HL
| 307 | ld A,H
| 308 | OR L
| 309 | jmp NZ,L1BE7
| 310 | IN A,(P05)
| 311 | XOR 040
| 312 | OUT (P05),A
| 313 | L1BF2 call PRINT
| 314 | db 00E
| 315 | db "291"
| 316 | db "6+080
| 317 | ld HL,(D18FC)
| 318 | CALL OUTHL
| 319 | SET 4,A
| 320 | ;
| 321 | ld B,(si-2)
| 322 | DEC B
| 323 | DEC B
| 324 | DEC B
| 325 | DEC B
| 326 | DEC B
| 327 | DEC B
| 328 | jmp Z,X7
| 329 | ;
| 330 | ld B,(si-002)
| 331 | DEC B
| 332 | DEC B
| 333 | jmp NZ,L1C09
| 334 | X7 AND 09F
| 335 | L1C09 OUT (P05),A
| 336 | DEC HL
| 337 | ld (D18FC),HL
| 338 | POP HL
| 339 | IN A,(P08)
| 340 | cmp (HL)
| 341 | POP BC
| 342 | jmp Z,L1C23
| 343 | L1C16 PUSH HL
| 344 | ld HL,(D18FC)
| 345 | INC HL
| 346 | ld (D18FC),HL
| 347 | POP HL
| 348 | DJNZ L1BC2
| 349 | jmp L1C58
| 350 | ;
| 351 | L1C23 ld A,B
| 352 | INC B
| 353 | INC B
| 354 | cmp 00A
| 355 | jmp NZ,L1C16
| 356 | CALL L1CBA
| 357 | jmp NC,L1BC0
| 358 | call PRINT
| 359 | db 007+080
| 360 | L1C31 call PRINT
| 361 | db 00E
| 362 | db "290"
| 363 | db "7+080
| 364 | CALL L0404
| 365 | call PRINT
| 366 | db " [Wdhlg."
| 367 | db ""
| 368 | db "CR"
| 369 | db ""
| 370 | db "]"
| 371 | db " +080
| 372 | L1C4C IN A,(P05)
| 373 | AND 09F
| 374 | OUT (P05),A
| 375 | CALL L1CE1
| 376 | jmp L1B49
| 377 | ;
| 378 | L1C58 call PRINT
| 379 | db 007+080
| 380 | CALL L0268
| 381 | L1C5D call PRINT
| 382 | db "EPROM "
| 383 | db "!+080
| 384 | L1C65 EX DE,HL
| 385 | call PRINT
| 386 | db " BREAK"
| 387 | db 00E
| 388 | db "3108Adr."
| 389 | db " +080
| 390 | CALL OUTHL
| 391 | call PRINT
| 392 | db " Eprombyte"
| 393 | db " +080
| 394 | CALL OUTHX
| 395 | call PRINT
| 396 | db " ,Rambyte"
| 397 | db " +080
| 398 | ld A,(DE)
| 399 | CALL OUTHX
| 400 | call PRINT
| 401 | db " "
| 402 | db " +080
| 403 | jmp L1C4C
| 404 | ;
| 405 | L1CA0 BIT 0,(si-001)
| 406 | jmp NZ,L1CB1
| 407 | CALL L0268
| 408 | call PRINT
| 409 | db "RA"
| 410 | db "M+080
| 411 | ld D,H
| 412 | ld E,L
| 413 | jmp L1C65
| 414 | ;
| 415 | L1CB1 call PRINT
| 416 | db "Clear"
| 417 | db " +080
| 418 | jmp L1C5D
| 419 | ;
| 420 | L1CBA INC HL
| 421 | INC DE
| 422 | ld A,E
| 423 | OR D
| 424 | SCF
| 425 | RET Z
| 426 | PUSH HL
| 427 | ld HL,(D18F8)
| 428 | XOR A
| 429 | SBC HL,DE
| 430 | POP HL
| 431 | RET
| 432 | ;
| 433 | L1CC5 call PRINT
| 434 | db "1 Programmieren"
| 435 | db " +080
| 436 | RET
| 437 | ;
| 438 | L1CD7 call PRINT
| 439 | db "2 Lesen"
| 440 | db " +080
| 441 | RET
| 442 | ;
| 443 | L1CE1 call 08H
| 444 | cmp 05F
| 445 | RET Z
| 446 | cmp 07F
| 447 | RET Z
| 448 | cmp 05A
| 449 | jmp Z,L1CF9
| 450 | cmp 051
| 451 | RET NZ
| 452 | POP HL
| 453 | RET
| 454 | ;
| 455 | L1CF9 POP HL
| 456 | jmp L1939
| 457 | ;*********************
| 458 | D1CFD db 000
| 459 | db 009
| 460 | db 02A
| 461 | D1D00 db 00D
| 462 | ;
| 463 | ld A,0CF
| 464 | OUT (P07),A
| 465 | OUT (P0B),A
| 466 | ld A,084
| 467 | OUT (P07),A
| 468 | ld A,7
| 469 | OUT (P07),A
| 470 | ld A,0DA
| 471 | OUT (P05),A
| 472 | XOR A
| 473 | OUT (P0B),A
| 474 | ;
| 475 | L1D01 ld HL,01900 ;Test ob Programm ok
| 476 | ld DE,ENDE
| 477 | XOR A
| 478 | L1D08 XOR (HL)
| 479 | INC HL
| 480 | SBC HL,DE
| 481 | ADD HL,DE
| 482 | jmp NZ,L1D08
| 483 | XOR (HL)
| 484 | jmp L1931
| 485 | ;*******************
| 486 | L0268 call PRINT
| 487 | db " Error"
| 488 | db 0A0
| 489 | RET
| 490 | ;********************
| 491 | L0589 CALL OUTHL
| 492 | call PRINT
| 493 | db 32,32,32,0A0
| 494 | RET
| 495 | ;*******************
| 496 | ;
| 497 | ENDE db 000 ;Prfbyte
| 498 | ;
| 499 | L0404 EQU 00404
| 500 | OUTHX EQU 007EE
| 501 | OUTHL EQU 007F1
| 502 | INLINE EQU 007F4
| 503 | INHEX EQU 007F7
| 504 | D181A EQU 0181A
| 505 | ARGU1 EQU 0185B
| 506 | ARGU2 EQU 0185D
| 507 | D18F4 EQU 018F4
| 508 | D18F6 EQU 018F6
| 509 | D18F8 EQU 018F8
| 510 | D18FC EQU 018FC
| 511 | ;
| 512 | P05 EQU 005
| 513 | P08 EQU 008
| 514 | P09 EQU 009
| 515 | ;
| 516 | P07 EQU 007
| 517 | P0A EQU 00A
| 518 | P0B EQU 00B
| 519 | ;
| 520 | PRINT EQU 18H
|
|