![]() |
|
:: СОДЕРЖАНИЕ НОМЕРА
:: Газетные рубрики
:: АВТОРЫ
:: Поиск
:: Поддержка проекта
Webmoney:
|
:: №32 (10.10.2009) Просмотров: 4710
Рубрика: Этюды. Номер: №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
retCurPage 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 и т.д. |