Assembler (Jazyk symbolických adres)

(5. část)

Úkol

Implementujte v Assembleru (neprioritní) frontu prvků typu long (fronta je datová struktura typu FIFO - First In First Out).

Použijte následující kód v C++ a implementujte všechny funkce fronty v Assembleru (bloky _asm).

Poznámky:

Proměnné typu struktura (struct) jsou v jazyce C++ v paměti uloženy jednoduše jako její prvky za sebou, tzn. adresa struktury je stejná jako adresa jejího prvního prvku. Např. struct { long a; short b; } s; je uložena jako 6 bytů - 4 byty pro a, 2 pro b, přes proměnnou s se v Assembleru dostaneme k prvnímu prvku s.a. Přímý přístup k prvkům struktury pomocí jmen těchto prvků není v Assembleru možný.

Když je fronta prázdná, je head = NULL a tail = NULL.
U poslední položky fronty je ve struktuře Q_item ukazatel next = NULL.
NULL je nulový ukazatel, čili hodnota 0.



Jan Outrata
outrataj@phoenix.inf.upol.cz