2795180260

2795180260



Laboratorium Techniki Mikroprocesorowej 2 - EZ1C600 034

Szczególnym przypadkiem jest wykrycie czy jakieś wielobajtowe słowo jest wyzerowane. Optymalnym rozwiązaniem jest wtedy policzenie sumy logicznej składowych bajtów tego słowa i porównanie jej z zerem:

LD    BC,(varl) ;BC<-2-ml. bajty 4-bajtowej zmiennej zm4

LD    DE,(varl+2);DE<-2-st. bajty 4-bajtowej zmiennej zm4

LD A,C    ;suma logiczna w akumulatorze

OR B OR E OR D

JR NZ,niezerowa ;skok gdy zm4 jest niezerowa ;tu jeśli zm4=0

Kolejnym zagadnieniem z jakim musimy się zmierzyć programując w języku maszynowym jest organizacja pętli programowych. Pisząc w asemblerze musimy sami dobrać odpowiednie rozkazy procesora i jego zasoby wewnętrzne. Pętla programowa w schemacie blokowym algorytmu zwykle jest przedstawiana następująco:

Na powyższym schemacie Ip oznacza licznik powtórzeń pętli, a l_powt - jego wartość maksymalną (wartość z przedziału 1..255). O ile to jest możliwe licznik powtórzeń pętli (Ip) powinien przez cały czas wykonania pętli programowej rezydować w rejestrach roboczych procesora. Gdy jest to niemożliwe, umieszcza się go w pamięci danych i tylko na czas modyfikacji oraz sprawdzenia warunku końca pętli ładuje do rejestrów procesora. Dosłowne przeniesienie powyższego schematu organizacji pętli programowej na język asemblera eZ80 jest następujące:

powt:


C

LD A, C

CP    l_powt    /porównanie lp z wartością l_powt

JR    C,powt    /skok na początek pętli gdy lp<l_powt

Ponieważ w językach maszynowych procesorów łatwiej jest porównać zmienną będącą licznikiem powtórzeń pętli z zerem niż z jej wartością maksymalną zwykło się ustawiać licznik pętli na wartość maksymalną by wewnątrz pętli dekrementować go aż do zera. Odpowiadające temu postępowaniu schemat blokowy i fragment programu widoczne są poniżej.


INC


LD C,0 /zainicjowanie licznika lp na wartość początkowa /etykieta początkowa pętli programowej inne działania wewn. pętli /inkrementacja licznika lp

1-12



Wyszukiwarka

Podobne podstrony:
Laboratorium Techniki Mikroprocesorowej 2 - EZ1C600 034 UWAGA: - pierwszą dyrektywą tekstu programu
Laboratorium Techniki Mikroprocesorowej 2 - EZ1C600 034 Laboratorium Techniki Mikroprocesorowej 2 -
Laboratorium Techniki Mikroprocesorowej 2 - EZ1C600 034 Laboratorium Techniki Mikroprocesorowej 2 -
Laboratorium Techniki Mikroprocesorowej 2 - EZ1C600 034 mniejsze’. Rozwiązaniem alternatywnym dla uż

więcej podobnych podstron