// 0000001111000000 // 960 // 0000001111000000 // 1111111111111111 // 1111111111111111 // 0000001111000000 // 0000001111000000 // 0000000000000000 // 0000000000000000 // 1111111111111111 // 1111111111111111 // 0000000000000000 // 0000000000000000 //@minus @1000 M=0 A=A+1 M=0 A=A+1 M=-1 A=A+1 M=-1 A=A+1 M=0 A=A+1 M=0 //@plus @960 // ensimmäisen rivin bitit A rekisteriin D=A // siirretään ne D rekisteriin @2000 M=D A=A+1 M=D A=A+1 M=-1 A=A+1 M=-1 A=A+1 M=D A=A+1 M=D @SCREEN // Osoite määritellään alussa näytön vasemmaksi yläkulmaksi (tallennetaan A rekisteriin) D=A // siirretään D rekisteriin @address // Tehdään muuttuja RAM muistiin jossa ylläpidetään näytön kohtaa johon piirretään M=D // Alustetaan address muuttuja D rekisterin arvolla (näytön vasen ylänurkka (SCREEN = 16384)) @100 D=A @raja M=D (ALKU) @24576 D=M //@0 //D=D+A // ADD D,A,D @ALKU D;JEQ // kuuntele näppäintä // näppäintä painettu @raja // A=M D=D-A @DRAW_MINUS D;JLT // if negative, jump to draw minus sign (DRAW_PLUS) @2000 D=A @piirto // tallennetaan muistipaikka piirtofunktiolle M=D @PIIRTO_OSA 0;JMP (DRAW_MINUS) @1000 D=A @piirto // tallennetaan muistipaikka piirtofunktiolle M=D (PIIRTO_OSA) @i M=0 // alustetaan indexi (LOOP) @6 // jos i == 6 ollaan piirretty kaikki D=A @i D=D-M @ALKU D;JEQ // aliohjelman paluuosoite, joka tallennetaan takaisin -muuttujaan @PALUUOSOITE D=A @takaisin M=D @ALIOHJELMA 0;JMP (PALUUOSOITE) // kasvatetaan indeksiä @i M=M+1 @LOOP 0;JMP (ALIOHJELMA) // haetaan piirroksen ensimmäinen muistipaikka @piirto D=M // haetaan indeksi jolla siirrytään piirroksen seuraavalle riville @i A=D+M D=M // D rekisterissä on piirrettävät 16 bittiä // Draw @address A=M M=D // siirry seuraavalle riville @32 D=A @address M=M+D // hypätään pois aliohjelmasta @takaisin A=M 0;JMP (INFINITE_LOOP) @INFINITE_LOOP 0;JMP // ......1111...... // ......1111...... // 1111111111111111 // 1111111111111111 // ......1111...... // ......1111...... // ................ // ................ // 1111111111111111 // 1111111111111111 // ................ // ................