11 тактов/3 байта
Код:sub #01
sbc a,a
Вид для печати
11 тактов/3 байта
Код:sub #01
sbc a,a
не не 260 байт не правильно
пиши 49152 - 131072
Так вроде получается что у тебя приколочено к адресам конкретным (#fe00-#ff00 на таблицу и #fd на вектор).
Противоречие
Ведь если вектор куда-нибудь в #80 запихать (к примеру то уже получится бяка).
И перехода на int
что-то я не увидел (пропустил?).
Да и не универсальна получается процедура.
У меня такая:
Если любитель - подумай может сократишь как-нибудь...Код:DI
IM 2
LD BC,256
LD A,IVEC
LD I,A,H,A,D,H,E,B,L,C
LD (HL),high IADR
LDIR
LD HL,INT
LD A,#C3
LD (IADR),A
LD (IADR+1),HL
RET
IADR EQU #FDFD
IVEC EQU #FE
Мой вариант:
Код:V_TAB EQU #BF
DI
LD HL,V_TAB*256
LD (HL),H
LD C,H
LD B,L
DEC HL
LD (HL),C
DJNZ $-2
LD A,H
INC H
LD L,H
LD (HL),#C3
LD HL,KEYS
LD (V_TAB*256+192),HL
LD I,A
IM 2
EI
Здравствуйте. Как можно переделать этот кошмар?
Суть:Код:LD A,(M1)
ADD A,L
LD L,A
LD A,(M1)
XOR #01
LD (M1),A
- в (M1) попеременно 0 или 1;
- регистр L увеличивается, когда (M1)=1, т.е. через раз;
- значение ячейки M1 предварительно установлено и используется еще в одной процедуре.
m1: ld a,NN
xor 1
ld (m1+1),a
add a,l
ld l,a
denpopov, надо сначала менять значение регистра L, а потом (M1)