Сообщение от Titus
Я подумал и понял, что действительно тут может быть только одно единственно верное решение! Это же подтвердил и автор ZX68, когда я поросил его прокомментировать:Сообщение от Vladimir Kladov
"This is incredible, our main loops are almost
identical, thank you very much for your help. Maybe we
can join our projects to do a better emulator.
Greetings from Spain."
А циклы выглядят так:
ZX-Pilot:
moveq #0,d7 ;4
move.b (a1)+,d7 ;8
add.w d7,d7 ;4
move.w (a2,d7.w),d7 ;14
jmp (a3,d7.w) ;14
ZX68:
clr.w d7 ;4
move.b (a4)+,d7 ;8
lsl.w #1,d7 ;8
move.w (a1,d7.w),d7 ;14
jmp (a3,d7.w) ;14
Различаются только первая и четвертая строки, которы делают одно и то же: первая обнуляет регистр d7, а вторая умножает его на 2, с той разницей, что в моём варианте удаётся сэкономить 4 такта![]()




Ответить с цитированием