ZX идеи - Процедура перенумерации на машинном коде

ZX Revija #03

B) Процедура перенумерации на машинном коде

Эта процедура очень короткая и простая.

Она не может перенумеровать аргументы после команд GO TO, GO SUB и RESTORE.

Процедура перемещаемая: её можно загрузить в любое место памяти компьютера.

Сначала процедура дана в десятичном виде, затем — в ассемблерном. Для ввода можно использовать простой загрузчик или ассемблер.

ДЕСЯТИЧНЫЙ ВИД        АССЕМБЛЕРНЫЙ ВИД

65000                 LD HL,(23635)
65004                 LD BC,10
65007                 LD DE,10
65010                 PUSH DE
65011                 PUSH HL
65012                 LD DE,(23627)
65016                 XOR A
65017                 SBC HL,DE
65019                 POP HL
65020                 POP DE
65021                 RET Z
65022                 PUSH BC
65023                 LD (HL),D
65024                 INC HL
65025                 LD (HL),E
65026                 INC HL
65027                 LD C,(HL)
65028                 INC HL
65029                 LD B,(HL)
65030                 INC HL
65031                 ADD HL,BC
65032                 EX DE,HL
65033                 POP BC
65034                 ADD HL,BC
65035                 EX DE,HL
65036                 JR ADDR+10

Перед запуском программы по адресу 65005/6 нужно задать шаг, а по адресу 65008/9 — начальный номер перенумерации.

В программе для обоих аргументов установлено значение 10. Запустите процедуру командой:

RANDOMIZE USR 65000

B.J.

Поделитесь вашим мнением о статье