С уважением,
Gris / Red Triangle.
_____________________________________
ZX-EVO/TS-Labs config/NGS/HDD/SD-card
Amiga A1200/Blizzard 1230@50/32/60GB
Amiga A1200/Apollo 1260@66/32/60GB
UnAmiga (C5) AGA GM7123 VideoDAC
Если я правильно написал, то не работает.Код:or a sbc hl,de jp PO,.nx ld a,h xor a, #80 .nx jp P,.amb CCF ret .amb SCF ret
Sergey, Исправил конец на вот так:
И заработало!Код:jp M,A_меньше_B ld hl,#0000 ; HL>=DE ret A_меньше_B: ; HL<DE ld hl,#0001 ret![]()
Текущая версия тестов. 6 разных процедур тестируются на совпадение результатов.
Последний раз редактировалось Reobne; 11.02.2015 в 15:11. Причина: Добавил TRD версию, чтобы можно было без EMUZWin
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
а нельзя ли поменять LD HL,nnnn на установку флага С?
С уважением,
Gris / Red Triangle.
_____________________________________
ZX-EVO/TS-Labs config/NGS/HDD/SD-card
Amiga A1200/Blizzard 1230@50/32/60GB
Amiga A1200/Apollo 1260@66/32/60GB
UnAmiga (C5) AGA GM7123 VideoDAC
Думали тема раскрыта? - Ха!
Заменяем EX DE,HL, время которого ПРИБАВЛЯЕТСЯ к 16-битному вычитанию, на вычитание HL из DE с помощью 8-битной арифметики, которое выполняется ВМЕСТО 16-битного вычитания. Идея использования 8-й арифметики взята из SDCC.
34/33 такта. Среднее время выполнения 33,5.Код:LD A,H ; 4 XOR D ; 4 JP P,CHD ; 10 ; EX DE,HL ; 4 ld a,e ; 4 sub l ; 4 ld a,d ; 4 sbc a,h ; 4 <ветвление по результату сравнения (CF)> CHD SBC HL,DE ; 15 <ветвление по результату сравнения (CF)>
С уважением,
Gris / Red Triangle.
_____________________________________
ZX-EVO/TS-Labs config/NGS/HDD/SD-card
Amiga A1200/Blizzard 1230@50/32/60GB
Amiga A1200/Apollo 1260@66/32/60GB
UnAmiga (C5) AGA GM7123 VideoDAC
Последний раз редактировалось Destr; 11.02.2015 в 22:32.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)