ORG 100H .SET MACRO @VALTOZO,@ERTEK LD B,1 LD C,@VALTOZO LD D,@ERTEK EXOS 16 ENDM .IR MACRO @CIM,@HOSSZ LD A,1 LD DE,@CIM LD BC,@HOSSZ EXOS 8 ENDM LD SP,4000H .SET 22,1 .SET 23,2 .SET 24,40 .SET 25,24 LD A,1 LD DE,VID EXOS 2 LD B,1 LD A,1 LD C,1 LD D,20 LD E,1 EXOS 11 LD BC,100 ; X koordinata LD DE,200 ; Y koordinata LD HL,100 ; oldalhossz LD A,1*16+5 ; Also 4 biten a keretszin ; felso 4 biten a szin (FILL) CALL RAJZOL LD BC,500 ; X koordinata LD DE,600 ; Y koordinata LD HL,250 ; oldalhossz LD A,5*16+14 ; Also 4 biten... CALL RAJZOL LD DE,BILL ; varakozas billentyu LD A,3 ; leutesere EXOS 1 LD A,3 EXOS 5 LD DE,BASIC ; kilepes BASIC-be EXOS 26 RAJZOL LD (X1),BC ; ertekek atadasa LD (Y1),DE ; a rajzolashoz LD (X2),HL LD (Y2),HL PUSH AF ; A regiszter verembe helyezese AND 15 ; Maximum 15 maradhat ; (keretszin es szinezes ; bitjeinek szetvalasztasara) LD(I1),A ; A reg. i1 cimre POP AF ; A reg. vissza a verembol SRL A ; A reg. bitjeit eggyel SRL A ; jobbra tolja SRL A SRL A OR A ; Megvizsgalja, hogy A reg. 0-e? JR NZ,OKE3 INC A ; A=A+1 OKE3 LD (I2),A ; A reg. erteke I2 cimre .IR ESC1,ESCH1 ; ESCAPE szekvenciak .IR ESC2,ESCH2 ; irasa a makro .IR ESC3,ESCH3 ; segitsegevel .IR ESC1,ESCH1 .IR ESC3,ESCH3 .IR ESC2,ESCH2 .IR ESC1,ESCH1 .IR ESC4,ESCH4 RET ESC1 DB 27,"s" ; sugar kikapcsolasa DB 27,"A" ; grafikus sugar pozicionalasa X1 DW 0 Y1 DW 0 DB 27,"I" ; tintaszin valtas I2 DB 0 DB 27,"S" ; sugar bekapcsolasa ESCH1 EQU $-ESC1 ESC2 DB 27,"R" ; relativ sugarmozgas X2 DW 0 DW 0 ESCH2 EQU $-ESC2 ESC3 DB 27,"R" ; relativ sugarmozgas DW 0 Y2 DW 0 ESCH3 EQU $-ESC3 ESC4 DB 27,"s" ; sugar kikapcsolasa DB 27,"R" ; relativ sugarmozgas DW 16,16 ; a rajzolosugarat beljebb ; visszuk a szinezeshez DB 27,"I" ; tintaszin valtas I1 DB 0 DB 27,"F" ; grafikus kitoltes (FILL) ESCH4 EQU $-ESC4 VID DB 6,"VIDEO:" BILL DB 9,"KEYBOARD:" BASIC DB 5,"BASIC" END