AK Ćw. 1

Procesor 8080 programowanie w języku wewnętrznym

Zagadnienia:

Budowa procesora. Programowanie w języku wewnętrznym. Operacje na stosie. Przekazywanie sterowania z programu użytkowego do systemu operacyjnego. Wykorzystanie znaczników.

  1. Przetłumacz Program 1 na język wewnętrzny procesora 8080. Zapisz go w postaci:

Adres kod rozkazu rozkaz w postaci mnemonicznej. Np.,:

D000 3E 50 MVI A,50H

D002 D3 21 OUT 21H

Uwaga: przekład w kodzie HEX. Znak H na końcu liczy pominięto.

Przyjmij, że pierwszy rozkaz zapisany jest w komórce C000H.

Przykładowy Program 1

MVI B,08H

LXI H, D000H

MVI A,50H

POWT MOV M,A

INR A

INX H

DCR B

JNZ POWT

HLT

  1. Ustal jakie powinny być skutki wykonania tego programu.

  2. Czy po zakończeniu tego programu sterowanie wróci do systemu operacyjnego? Jak rozwiązano ten problem w systemie DOS dla IBM/PC?

  3. Jakie skutki spowoduje wykonanie następującego programu:

Program 2

Adres Zawartość

F0A0 CD

F0A1 A0

F0A2 F0

  1. Napisz program dodający 2 liczby 24 bitowe umieszczone w pamięci i przetłumacz go na język wewnętrzny procesora 8080.

  2. Napisz program umieszczający w kolejnych komórkach pamięci liczby będące kolejnymi potęgami liczby 2.

  3. Napisz program z poprzedniego punktu wykorzystując podprogram realizujący mnożenie przez 2. Rozważ przekazywanie argumentów i wyników

  1. Przez rejestry

  2. Przez stos

  1. Napisz program w języku wewnętrznym umieszczający w kolejnych 10 komórkach pamięci kolejne elementy ciągu Fibonacciego.

Ciąg Fibonacciego 1, 1, 2, 3, 5...-każda następna liczba jest sumą dwóch poprzednich