wracając do tematu, program w cc65 po optymalizacji, czyli zamiast "int" jest teraz "unsigned int", rezygnacja z wyrzucania na ekran jakichkolwiek tekstow
cc65 (6502): 2453 fps
Action!: 1015 fps
asm (mads): 1009 fps (automatyczne generowanie kodu dla .WHILE i .TEST, optymalizacja dla skoków warunkowych JNE, JEQ, JCC itd.)
wniosek: CC65 jest wolny, !Action szybki jak assembler
p.s.
następny przyklad programiku w mads z nowymi dyrektywami (i c++) , pytanie, co ten program wyswietli ?:)
;int main() {
; const int WIERSZ = 5;
; const int KOLUMNA = 15;
; int j, i = 1;
org $2000
.var wiersz = 15, kolumna=20, j, i=1 , hlp .byte
; while(i <= WIERSZ)
.while .byte i <= wiersz
; {
; cout << setw(KOLUMNA - i) << '*';
lda kolumna ; setw(KOLUMNA - i)
sub i
sta 82 ; lewy margines
lda #$9b ; cout << setw(KOLUMNA - i)
jsr $f2b0
lda #'*' ; cout << '*'
jsr $f2b0
; j = 1;
mva #1 j
; while( j <= 2*i-2 )
lda i
asl @
sub #2
sta hlp
.while .byte j <= hlp
; {
; cout << '*';
lda #'*'
jsr $f2b0
; j++;
inc j
; }
.endw
; cout << endl;
; i++;
inc i
; }
.endw
; return 0;
;}
mva #$02 82 ; domyslna wartosc komorki 82
mva #$c2 712
jmp *
*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C