int x=7, y=33, z=5; /* variables x, y, z */ main () { /* main program */ y = 4; x = 52 - y * z; if (x < 40) { y = x - 34; } else { y = x / y + 4; z = 23; } printf ( "%d %d %d \n", x, y, z) /* print x, y, z */ }
Tarkista ohjelmasi toimivuus kääntämällä ja suorittamalla se Koksin avulla.
int n, i, prev, fib, next; /* variables n, i, prev, fib, next */ main () { /* main program */ scanf ("%d", &n); /* read n */ i = 1; prev = 0; fib = 1; while (i < n) { next = prev+fib; prev = fib; fib = next; i = i+1; } printf ( "%d %d \n", n, fib); /* print n, fib */ }
Voit pitää muuttujien arvoja joko muistissa tai rekistereissä.
Tarkista ohjelmasi toimivuus kääntämällä ja suorittamalla se Koksin
avulla.
Anna esimerkki tilanteesta, jossa tapa (a) olisi sopivin. Vastaavasti tapauksille b ja c. Perustele esimerkkisi.
# record person: 3 integer fields Id EQU 0 # relative address within record Age EQU 1 Salary EQU 2
Tietueet Pekka ja Jussi on varattu muistista alustettuna ja tietue Maija on varattu muistista alustamattonana pseudokäskyillä
Pekka DC 3214 # ID = 3214 DC 35 # AGE = 35 DC 12345 # SALARY = 12345 Jussi DC 8888 DC 54 DC 14321 Maija DS 3 # initial values not defined
Esimerkki: Jos R4 osoittaa tietueen Pekka alkuun, niin Pekan palkka saadaan rekisteriin R5 konekäskyllä "LOAD R5, Salary(R4)".
Tee ttk-91 koneen symbolisella konekielellä ohjelma, joka
Tarkista ohjelmasi toimivuus kääntämällä ja suorittamalla se Koksin avulla.
Varaudu esittämään kaikki Koksiin liittyvät tehtävät mikrotietokoneella harjoitustilaisuudessa. Tuo mukanasi sekä listauksena että levykkeellä kaikki laskuharjoitusta varten tekemäsi ohjelmat.