Kolokwium 1: Asembler x86 5IID-GAK, gr A

  1. Napisz program, który powtarza napis `Linia' zadaną liczbę razy (ostatnia cyfra Twojego nr indeksu+10). (4pkt.)

  2. Napisz procedurę (funkcję) z dwoma parametrami liczącą średnią dwóch liczb (a+b)/2 i zwracającą wynik ,

a) program główny napisz w asemblerze , wywoła tą funkcję dla zadanych dwóch liczb 1-cyfrowych (takich by wynik był 1-cyfrowy)

b) program główny napisz w języku C++ (4.5pkt)

  1. Oblicz ilość liczb mniejszych od 3 zapisanych w tablicy (tablica ma co najmniej 5 elementów). Dane do tablicy na początku czytaj z klawiatury. (4.5)

  2. Z klawiatury jest wprowadzana kolejno liczba1 , znak działania, liczba2, klawisz Enter. Program wypisuje znak = i wynik. Liczby jednocyfrowe, znaki działań to +,* (6pkt.)

  3. Wypisz liczbę dziesiętną zadaną w zmiennej, jest to liczba 3-cyfrowa (1bajt), drugi etap: powyższą czynność zapisz jako funkcję wywoływaną przez program główny napisany w asemblerze. (6pkt.)

Do powyższych zadań możesz skorzystać z informacji o przerwaniu int 21h:

Funkcja 01 - odczytuje znak z klawiatury

ah=01

al - odczytany znak

Funkcja 02 - wypisuje znak

ah=02

dl=znak

Funkcja 09 - wypisuje łańcuch znaków

ah=09

ds:dx - adres początku napisu, napis ma być znakończony znakiem `$'

Funkcja 4c - koniec programu

Ah=4c

AL -kod błędu (0-nie ma błędu), żeby było krócej: Ax=4c00h

Email prowadzącego: LGajecki@wsiz.rzeszow.pl temat: kolokwium 1

Programy proszę wysyłać jako kod źródłowy *.asm, *.cpp/ *.c w plikach jako archiwum lub wklejone w treść wiadomości


Kolokwium 1: Asembler x86 5IID-P, gr B

  1. Napisz program, który powtarza znak wprowadzony z klawiatury zadaną liczbę razy (ostatnia cyfra Twojego nr indeksu+10). (4pkt.)

  2. Napisz procedurę (funkcję) z dwoma parametrami liczącą sumę kwadratów dwóch liczb a*a-b*b i zwracającą wynik ,

a) program główny napisz w asemblerze , wywoła tą funkcję dla zadanych dwóch liczb 1-cyfrowych (takich by wynik był 1-cyfrowy)

b) program główny napisz w języku C++ (4.5pkt)

  1. Oblicz sumę liczb równych 2 zapisanych w tablicy (tablica ma co najmniej 5 elementów). Dane do tablicy na początku czytaj z klawiatury. (4.5)

  2. Z klawiatury jest wprowadzana kolejno liczba1 , znak działania, liczba2, klawisz Enter. Program wypisuje znak = i wynik. Liczby jednocyfrowe, znaki działań to -,* (6pkt.)

  3. Wypisz liczbę szesnatkową zadaną w zmiennej, jest to liczba 2-cyfrowa (1bajt), drugi etap: powyższą czynność zapisz jako funkcję wywoływaną przez program główny napisany w asemblerze. (6pkt.)

Do powyższych zadań możesz skorzystać z informacji o przerwaniu int 21h:

Funkcja 01 - odczytuje znak z klawiatury

ah=01

al - odczytany znak

Funkcja 02 - wypisuje znak

ah=02

dl=znak

Funkcja 09 - wypisuje łańcuch znaków

ah=09

ds:dx - adres początku napisu, napis ma być znakończony znakiem `$'

Funkcja 4c - koniec programu

Ah=4c

AL -kod błędu (0-nie ma błędu), żeby było krócej: Ax=4c00h

Email prowadzącego: LGajecki@wsiz.rzeszow.pl temat: kolokwium 1

Programy proszę wysyłać jako kod źródłowy *.asm, *.cpp/ *.c w plikach jako archiwum lub wklejone w treść wiadomości