Просмотр полной версии : ATTR-->Y
Ломаю вот мозг на процедуркой:
на входе HL--> адрес атрибутов экрана, на выходе координата Y --> A.
Как сделать не используя регистр C ?
LD A,L
AND %11100000
LD C,A
LD A,H
AND %00000011
OR C
RLCA
RLCA
RLCA
ADD HL,HL
ADD HL,HL
ADD HL,HL
LD A,H
AND #1F
ADD HL,HL
ADD HL,HL
ADD HL,HL
LD A,H
AND #1F
Запарывает собвстенно регистр HL, его менять нельзя.
В рабочей процедуре у меня входной регистр DE.
Alex Rider
08.08.2013, 21:38
Пральна думаю?
ld a,l
rr h
rra
rr h
rra
rra
rra
rra
and #1f
---------- Post added at 21:38 ---------- Previous post was at 21:38 ----------
Опоздал :)
Пральна думаю?
ld a,l
rr h
rra
rr h
rra
rra
rra
rra
and #1f
---------- Post added at 21:38 ---------- Previous post was at 21:38 ----------
Опоздал :)
Интересный вариант :) Но проблему пока не решил.. запарывает H :)
---------- Post added at 00:46 ---------- Previous post was at 00:40 ----------
Пока результат такой:
Моя - 42 такта... запарывает C
Blade -44 такта.. запарывает HL
Rider - 39 тактов (!) запарывает H
Че-нить типа:
LD A,L
AND 0xE0
ADD A,H
SUB 0x58
RLCA
RLCA
RLCA
Проверить не могу, под рукой нет ни эмуля, ни справочника)
Че-нить типа:
LD A,L
AND 0xE0
ADD A,H
SUB 0x58
RLCA
RLCA
RLCA
Проверить не могу, под рукой нет ни эмуля, ни справочника)
И... Titus получает пирожок с полки!!! :v2_dizzy_roll:
---------- Post added at 00:59 ---------- Previous post was at 00:57 ----------
Моя - 42 такта... запарывает C
Blade -44 такта.. запарывает HL
Rider - 39 тактов (!) запарывает H
Titus - 34 такта (!!!) не запарывает ничего!
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot