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.
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
Ustal jakie powinny być skutki wykonania tego programu.
Czy po zakończeniu tego programu sterowanie wróci do systemu operacyjnego? Jak rozwiązano ten problem w systemie DOS dla IBM/PC?
Jakie skutki spowoduje wykonanie następującego programu:
Program 2
Adres Zawartość
F0A0 CD
F0A1 A0
F0A2 F0
Napisz program dodający 2 liczby 24 bitowe umieszczone w pamięci i przetłumacz go na język wewnętrzny procesora 8080.
Napisz program umieszczający w kolejnych komórkach pamięci liczby będące kolejnymi potęgami liczby 2.
Napisz program z poprzedniego punktu wykorzystując podprogram realizujący mnożenie przez 2. Rozważ przekazywanie argumentów i wyników
Przez rejestry
Przez stos
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