loop
REP 16
PUSH HL,DE
ENDREP
EXX
djnz loop
loop
REP 16
PUSH HL,DE
ENDREP
EXX
djnz loop
и как из этого выйдет ромб?
Ах тебе ромб нужен?
Тогда я тебя не понял.![]()
Еденичка это центр? Тебе нужно со смещённым центром, или в центре квадратик 2х2?
---------- Post added at 19:30 ---------- Previous post was at 19:28 ----------
Неясно.
Я решил, что тебе нужны чередующиеся волны.
Ты хоть-бы свой *****код приложил, или цифр дал больше, с чётными размерами...
denpopov,
заполняешь массив 0
в нужное место втыкаешь 1
потом делаешь скан таблицы и если находишь N то по координатам nn-32,nn+32,nn-1,nn+1 втыкаешь N+1 (если там 0)
повторяешь пока не закончится место.
если хочешь сгенерить в процессе асемблирования то ест еще такой вариант
если нужно чтобы еще ромб был поровнее то надо с db что то делатьКод:row=15 dup 12 count=row dup 15 db count count=count-1 edup dup 17 db count count=count+1 edup row=row+1 edup
типа
Код:db count*(count<15)
С уважением,
Jerri / Red Triangle.
Сделал за 5300 тактов. С помощью PUSH.
Код для EmuZWin:
denpopov, так ты хотел?Код:org 30000 entrypoint $ DI IM 0 LD HL,$4000 LD (HL),$FF LD DE,$4001 LD BC,$17FF LDIR LD HL,$0001 LD DE,$0203 EXX LD HL,$0100 LD DE,$0302 MAINLOOP LD A,7 OUT ($FE),A LD SP,$4000+$1800+$300 LD B,6 LOOP1 DUP 4 PUSH HL PUSH DE ENDDUP EXX INC SP DUP 4 PUSH DE PUSH HL ENDDUP PUSH DE EXX INC SP LD A,L PUSH AF INC SP DUP 4 PUSH DE PUSH HL ENDDUP INC SP EX DE,HL EXX DUP 4 PUSH DE PUSH HL ENDDUP EX DE,HL EXX DJNZ LOOP1 LD B,6 LOOP2 DUP 4 PUSH DE PUSH HL ENDDUP EXX INC SP DUP 4 PUSH HL PUSH DE ENDDUP PUSH HL EXX INC SP LD A,L PUSH AF INC SP DUP 4 PUSH DE PUSH HL ENDDUP INC SP EX DE,HL EXX DUP 4 PUSH DE PUSH HL ENDDUP EX DE,HL EXX DJNZ LOOP2 LD SP,$FFFF LD A,0 OUT ($FE),A EI NOP NOP NOP HALT HALT HALT DI INC H RES 2,H INC L RES 2,L INC D RES 2,D INC E RES 2,E EXX INC H RES 2,H INC L RES 2,L INC D RES 2,D INC E RES 2,E EXX JP MAINLOOP
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)