Как написать игру для ZX Spectrum на ассемблере


         

Используя подготовленные процедуры, можно написать


Используя подготовленные процедуры, можно написать программу «всплывающего» окна:

ORG 60000 ENT $ CALL SETSCR ;подготовка экрана DYNW LD B,7 DYNW1 LD A,7 ;вычисление промежуточной переменной ; для расчета размеров окна SUB B LD C,A LD A,B ;расчет переменной ROW ADD A,5 LD (ROW),A LD A,B ;расчет переменной COL ADD A,A ADD A,2 LD (COL),A LD A,C ;расчет переменной HGT ADD A,A ADD A,2 LD (HGT),A LD A,C ;расчет переменной LEN ADD A,A ADD A,A INC A LD (LEN),A LD A,B ;расчет байта атрибутов RLCA RLCA RLCA OR %01000000 ;64 - повышенная яркость LD (ATTR),A PUSH BC LD BC,3 CALL 7997 ;небольшая задержка перед выводом окна CALL CLSV ;очистка окна CALL SETV ;установка атрибутов окна POP BC DJNZ DYNW1 LD DE,D_ATTR ;установка атрибутов линий рамки LD BC,6 CALL 8252 LD BC,#7625 ;B = 118, C = 37 LD HL,#5EBE ;H = 94, L = 190 CALL BOX_0 ;рамка вокруг окна LD DE,TEXT LD BC,END-TEXT JP 8252 ;печать текста в окне

COL DEFB 0 ROW DEFB 0 LEN DEFB 0 HGT DEFB 0 ATTR DEFB 0 D_ATTR DEFB 16,0,17,1,19,1 TEXT DEFB 22,9,12,16,6,17,1,19,1 DEFM "Program" DEFB 22,11,8,16,4 DEFM "DYNAMIC··WINDOW" DEFB 22,15,8,16,5 DEFM "Saint-Petersburg" DEFB 22,17,14,16,3 DEFM "1994" END


Содержание  Назад  Вперед