:: СОДЕРЖАНИЕ НОМЕРА
:: Газетные рубрики
:: АВТОРЫ
:: Поиск
:: Поддержка проекта
Webmoney:
|
:: №32 (10.10.2009) Просмотров: 4366
Рубрика: Этюды. Номер: №32 (10.10.2009). ЭтюдыПечать 16 символов в строке. 119 байт.Владислав Ювженко / tiboh LD DE,адрес на экране LD IX,адрес текста, в конце ноль p1 LD A,(IX) OR A RET Z LD L,A ADD HL,HL LD H,15 ADD HL,HL ADD HL,HL EX DE,HL LD BC,#0800 p2 PUSH BC LD A,(DE) ;если разремировать будет утолщенный шрифт ; LD B,A ; ADD A,A ; OR B LD B,C ;повторить блок 8 раз !ASSM 8 RRA RR C RR B SRA C RR B !CONT ;----------------------- LD (HL),C INC L LD (HL),B DEC L INC DE INC H POP BC DJNZ p2 INC L INC L JR Z,$+6 LD A,H SUB 8 LD H,A EX DE,HL INC IX JR p1 Турбо загрузчик. 162 байта Владислав Ювженко / tiboh LD HL,адрес загрузки LD DE,дорожка/сектор LD B,количество секторов LD A,(23830) AND 3 LD (drv+1),A DI LD (emsp+1),SP LD IX,#3d2f LD C,D SRL C LD A,60 JR NC,$+4 RES 4,A EXX LD HL,drv+1 OR (HL) LD HL,cont PUSH HL LD HL,#2f4d PUSH HL EXX JP (IX) cont LD SP,tabl LD A,E INC A PUSH HL EXX POP HL LD C,95 JP (IX) l1 LD A,#80 LD C,#7f JP (IX) l2 XOR A JP (IX) l3 LD A,10 LD D,1 LD C,95 JP (IX) l4 OR B EXX LD A,D RRA JP (IX) l5 JR NZ,cont INC H INC E BIT 4,E JR Z,skip LD E,0 INC D LD A,60 drv OR 0 BIT 0,D JR Z,$+4 RES 4,A JP (IX) l6 JR NZ,skip LD A,88 JP (IX) skip DJNZ cont LD (23796),DE EXX emsp LD SP,0 EI RET DW 0 tabl DW #2a53,l1,#2fc3 DW #3fe5,l2,#1e3a DW l3,#2a53,#3f33 DW l4,#1e3a,l5 DW #1ff3,l6,#2fc3 DW #3fe5,skip DW #3fe5,skip Прозрачная работа со страницами Александр Синяков / SAM style Запоминает включеную страницу и по RET восстанавливает её. Что позволяет прозрачно работать со страницами. savepage ld (bufer+1),hl ld hl,(CurPage-1) ex (sp),hl push hl ld hl,ret_addr ex (sp),hl push hl bufer ld hl,0 ret ret_addr pop af ;тут, переход к переключалке банок ld bc,#7ffd out (c),a ret CurPage db #10 ;текущая страница В программе: ... call savpage ... ret RET пойдёт через ret_addr и восстановит страницу. Абсолютное значение регистра Александр Синяков / SAM style ld a,e cp 128 jr c,label neg ld e,a label: ... На выходе A=ABS (E) #FF = -1, #FE = -2 и т.д. |