PEMSY1http:// 1 Herhaling: combineren van assembler en C Herhaling: subroutine Oefening: melodie Klas EV2B: week 24 geen les Voorbeeld tentamen: uitgereikt en op de site.
PEMSY1http:// 2 Herhaling: Assembler – interne en externe labels Default is een label lokaal (alleen voor deze file zichtbaar). Je kan een label totempaal globaal (voor het hele programma beschikbaar) maken met.global totempaal Als je een label (naampje) gebruikt dat niet in je file gedefinieerd is neemt de assembler aan dat het een globaal label is (in een andere file gedefinieerd).
PEMSY1http:// 3 Herhaling: C – interne en externe labels Default is een naam die je definieert globaal (extern zichtbaar). Als je een label (naampje) wilt gebruiken dat niet in je file gedefinieerd is dan moet je er een ‘externe definitie’ voor geven.
PEMSY1http:// 4 Herhaling: wat is een subroutine Onafhankelijk stuk code (cut-n-paste) Aagenroepen met BL, returnt naar de aanroeper Interne sprongen: B, dus niet BL Vrijwel nooit interne sprong naar zichzelf Houd zich aan de APCS Meestal: stmfd aan begin, ldmfd aan het einde
PEMSY1http:// 5 Schrijf de C functie void Play( float Frequency, int Milliseconds ) Een frequentie < 1.0 moet geinterpreteerd worden als een stille delay. Play roept natuurlijk LspBeep aan, maar moet wel wat rekenen met de parameters. De file melody.h bevat een reeks aanroepen van de Play() functie. Gebruik dit als test. Let op: er zijn wat calls met 0 Milliseconds. Delen door 0 is niet zo handig…