For Emacs: -*- coding: utf-8 -*- IN1020 L?sningsforslag til ?velsesoppgaver 8.-12.10.2018 Oppgave 1 INP // Les a BRZ skriv // Hvis a==0, // skriv ut 0. BRP pos // LDA v1neg // a<0, s? BRA skriv // skriv -1. pos LDA v1 // a>0, s? skriv 1. skriv OUT // Skriv svaret HLT // og stopp. v1 DAT 1 // Konstant 1 v1neg DAT -1 // Konstant -1 Oppgave 2 Det er flere m?ter ? ordne dette p?, for eksempel ved ? lagre tekstens lengde. Her har jeg valgt ? legge verdien 0 bakerst i teksten. (Programmeringsspr?ket C gj?r det samme.) Skriv LDA txt // Hent neste tegn. BRZ Ferdig // Ferdig hvis det er 0. OTC // Skriv ut tegnet. LDA Skriv // Endre instruksjonen ADD v1 // Skriv til ? angi STA Skriv // neste tegn. BRA Skriv // Gjenta l?kken. Ferdig HLT // Ferdig. v1 DAT 1 // Konstant 1 txt DAT 86 // 'V' DAT 101 // 'e' DAT 108 // 'l' DAT 107 // 'k' DAT 111 // 'o' DAT 109 // 'm' DAT 109 // 'm' DAT 101 // 'e' DAT 110 // 'n' DAT 33 // '!' DAT 0 // Slutt p? tekst Oppgave 3 Hvis vi har glemt COB/HLT, vil vi sannsynligvis komme til en ubrukt celle i minnet der det i s? fall ligger verdien 0. I s? fall stopper programmet. Oppgave 4 INP // Les STA a // a. INP // Les STA b // b. Loekke LDA a // Regn ut a SUB b // - b. BRP OK // Hvis svaret er <0 BRA Ferdig // er vi ferdig. OK STA a // Ellers lagre ny a. LDA svar // ?k ADD v1 // svar med 1. STA svar // BRA Loekke // Gjenta l?kken. Ferdig LDA svar // Skriv ut OUT // svaret. HLT // Stopp. a DAT 0 // Variabel a. b DAT 0 // Variabel b. svar DAT 0 // Variabel svar starter p? 0. v1 DAT 1 // Konstant 1