1 / 16

Assembly-taal

Embedded systems. Assembly-taal. Namen: Danny van Waes Rohan Schenk Klas: EM4 Docent: Dhr. Ing. JA Verhage. Inleiding. Aanpak (voorbereiding) Opdrachtomschrijving Oplossing Nuttig ? Vragen ?. Aanpak. Nieuwe taal “assembler” Drie oefenopgaven gemaakt

evita
Download Presentation

Assembly-taal

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Embedded systems Assembly-taal Namen: Danny van Waes Rohan Schenk Klas: EM4 Docent: Dhr. Ing. JA Verhage

  2. Inleiding • Aanpak (voorbereiding) • Opdrachtomschrijving • Oplossing • Nuttig ? • Vragen ?

  3. Aanpak • Nieuwe taal “assembler” • Drie oefenopgaven gemaakt • Keuze opdracht  tekstverwerking • PSD’s samengesteld • Programma testen

  4. Opdrachtomschrijving • Lees een regel tekst in en sla deze op in een buffer • Alle ingevoerde karakters omzetten naar hoofdletters • Tel voor elk karakter hoeveel maal deze in de tekst voorkomt • Maak een histogram die aangeeft hoeveel maal elk karakter • voorkomt

  5. Print string Get string Toupper Histgr Tellen Einde HOOFD PROGRAMMA Oplossing Werken met één hoofdprogramma en verschillende subroutines

  6. Start adres $400 Geef aan de hexadecimale waarde 0D de karakters CR (cursor begin regel) Geef aan de hexadecimale waarde 0A de karakters LF (cursor volgende regel) Geef aan de hexadecimale waarde 2E de karakters PUNT Geef aan de hexadecimale waarde 08 de karakters BACKSPACE Plaats de pointer naar het eerste karakter van de zin die moet worden afgedrukt Ga naar de subroutine PRTSTR Plaats de pointer daar waar het eerste ingevoerde karakter komt te staan Ga naar subroutine GETSTR toe Ga naar subroutine TOUPPER toe Ga naar subroutine NREGEL toe Ga naar subroutine TELLEN toe Ga naar subroutine EINDE toe HOOFDPROGRAMMA

  7. Plaats de inhoud waar de pointer naar verwijst in D0 Verhoog de pointer met 1 Is de inhoud van D0 gelijk aan een punt? JA NEE Ga naar de subroutine PRTCHR Zolang niet einde zin Ga naar de subroutine NREGEL Ga naar de subroutine NREGEL Keer terug naar het hoofdprogramma PRINTSTRING

  8. Lees het ingevoerde karakter en druk deze af op het scherm Plaats de inhoud van D0 naar de plaats waar de pointer naar verwijst Verhoog de pointer met 1 Verhoog de inhoud van D1 met 1 Is de inhoud van D0 gelijk Backspace? JA NEE Ga naar subroutine Is de inhoud D0 gelijk aan Enter? BACKSP toe JA NEE Plaats in D1 Is de inhoud van D0 gelijk aan een 0 een punt? JA NEE Start programma Keer terug naar het opnieuw hoofdprogramma Zolang niet einde zin GETSTRING

  9. Verlaag de inhoud van D1 met 2 Plaats in D0 een 0 Verlaag de pointer met 2 en plaats de inhoud waar de pointer naar verwijst in D0 Einde van de subroutine, keer terug naar de subroutine GETSTR BACKSPACE

  10. Plaats in de inhoud van D6 een ‘a’ Plaats de pointer aan het begin van de zin Ga naar subroutine SPATIE toe Ga naar subroutine SPATIE toe Plaats de inhoud waar de pointer naar verwijst in D0 Verhoog de pointer met 1 Is de inhoud van D0 gelijk aan punt? JA NEE Einde van de sub- Is D0 gelijk aan D6? routine, keer terug JA NEE terug naar het hoofd programma Verlaag D0 met Is D6 een z? $20 JA NEE Verlaag pointer Ga naar subroutine Verhoog D6 met 1 met 1 PRTCHR toe Plaats de inhoud Plaats in D6 een ‘a’ Verlaag de pointer van D0 daar waar met 1 de pointer naar wijst Verhoog pointer met 1 Plaats in D0 een a Druk D0 af op het scherm Zolang niet einde zin TOUPPER

  11. Plaats in D3 een 0 Plaats in D4 een A Plaats de pointer aan het begin van de zin Ga naar subroutine NREGEL toe Plaats de inhoud waar de pointer naar verwijst in D0 Is de inhoud van D4  Z? JA NEE Einde van de sub- Is de inhoud van D0 gelijk aan D4? routine, keer terug JA NEE naar het hoofd- programma Verhoog D3 met 1 Verhoog pointer met 1 Is de inhoud van D0 gelijk aan een punt ? JA NEE Ga naar subroutine HISTGR toe Zolang niet einde zin TELLEN

  12. Is de inhoud van D3 gelijk aan een 0? JA NEE Verhoog de inhoud van D4 Plaats de inhoud van D4 in D0 met 1 Plaats de pointer aan het Ga naar subroutine PRTCHR toe het begin van de zin Einde subroutine, keer terug Plaats in de inhoud van D0 een ‘*’ naar de subroutine TELLEN Is de inhoud van D3 gelijk aan 0? JA NEE Verhoog inhoud van D4 Ga naar PRTCHR toe met 1 Plaats de pointer aan het Verlaag inhoud van D3 met 1 begin van de zin Ga naar subroutine NREGEL Einde subroutine, ga terug naar subroutine TELLEN Zolang D3 is niet gelijk aan 0 HISTOGRAM

  13. Zet in D0 de hexadecimale waarde om de cursor aan het begin van de regel te plaatsen (CR) Ga naar subroutine PRTCHR toe Zet in D0 de hexadecimale waarde om de cursor naar beneden te verplaatsen (LF) Ga naar de subroutine PRTCHR toe Ga terug naar de subroutine die is verlaten NIEUWEREGEL

  14. Zet in D0 de hexadecimale waarde van een spatie (SP) Ga naar de subroutine PRTCHR toe Ga terug naar de subroutine die is verlaten Lees het ingevoerde karakter en druk deze af op het scherm Einde van de subroutine, keer terug naar de subroutine die is verlaten SPATIE PRINT

  15. Nuttig ? JA • Nieuwe programmeertaal geleerd • Oefenen met gestructureerd problemen oplossen • Oefenen met PSD’s op te stellen

  16. Vragen ?

More Related