assembler€86ˆ 4

assembler€86ˆ 4



68 4. Język asemblerowy mikroprocesorów 8086/8088

Dyrektywy .LALL, .SALL, .XALL

Dyrektywy .LALL, .SALL i .XALL sÅ‚użą do okreÅ›lenia postaci listingu rozwinięć makroinstrukcji (zob. rozdz. 6 i p. 4.3.6). Dyrektywa .LALL (ang. list ALL ) powoduje, że niezależnie od tego, czy kody wynikowe sÄ… generowane lub nic w rozwiniÄ™ciu makroinstrukcji (tzn. czy sÄ… speÅ‚nione lub nie warunki dyrektywy IFxxx), jest drukowany peÅ‚ny tekst makroinstrukcji. Dyrektywa .SALL (ang. supress ALL ) wstrzymuje drukowanie rozwinięć makroinstrukcji, w tym także kodów wynikowych. Dyrektywa .XALL okreÅ›la standardowÄ… deklaracjÄ™ drukowania rozwinięć makroinstrukcji, które sÄ… drukowane tylko wtedy, kiedy jest generowany kod wynikowy.

Dyrektywy .LIST, .XL1ST___ j

Dyrektywa .LIST powoduje, że sÄ… drukowane wszystkie wiersze programu źródÅ‚owego oraz generowane kody wynikowe. Jest to deklaracja standardowa przyjmowana automatycznie przez asembler na poczÄ…tku pracy. Dyrektywa .XLIST wstrzymuje drukowanie aż do napotkania dyrektywy .LIST.    ^

Przykład

; drukowany fragmeni programu

; poczÄ…wszy od lego miejsca drukowanie    I

; wstrzymane    x

; (np. definicje makroinstrukcji)

; od tego miejsca program ponownie drukowany    +


• • •

,XLIST

• • •

• • •

.LIST

Dyrektywa %OUT

Za pomocÄ… dyrektywy %OUT można w czasie asemblacji wyprowadzać tekst (komunika!) na ekran monitora. Dyrektywa pozwala miÄ™dzy innymi Å›ledzić przebieg asemblacji. SkÅ‚adnia dyrektywy jest nastÄ™pujÄ…ca    1

%OUT dowolny tekst wyprowadzany na ekran Dyrektywy .SFCOND, .LFCOND, .TFCOND    __j

Dyrektywy .SFCOND, .LFCOND i .TFCOND w poÅ‚Ä…czeniu z przeÅ‚Ä…cznikiem (parametrem) /X. ustawianym opcjonalnie przy wywoÅ‚ywaniu asemblera, sterujÄ… listowaniem bloków programu, wydzielonych dyrektywami IFxxx/ELSE/ENDIF przy nie speÅ‚nionych w arunkach dyrektywy IFxxx. Standardowo, gdy nic wystÄ™pujÄ™ w programie Å¼adna z powyższych dyrektyw i przy wywoÅ‚aniu asemblera nie użyto przeÅ‚Ä…cznika /X, sÄ… drukowane wszystkie bloki programu, niezależnie czy warunki dyrektywy IFxxx sÄ… speÅ‚nione, czy leż nie. Ustawienie przeÅ‚Ä…cznika /X powoduje w takim przypadku drukowanie z pominiÄ™ciem bloków, dla których warunek nie jest speÅ‚niony.

Dyrektywa .TFCOND (ang. loggie false conditionals ) zmienia ustawienie standardowe na przeciwne. Jeżeli nie został użyty przełącznik IX i bloki programu źródłowego o nie spełnionych warunkach dyrektywy lFxxx były drukowane, to po dyrektywie

powered by

4.3. Dyrektywy i pseudoinstmkcje


Mi si ol

TFCOND nic bÄ™dÄ…. Jeżeli w tej sytuacji zostanie wywoÅ‚any asembler z /X, to bloki o nie speÅ‚nionych warunkach bÄ™dÄ… drukowane. Użycie dyrektywy TFCOND po dyrektywie .LFCOND lub .SFCOND powoduje, że przestajÄ… być one aktywne i zostaje przywrócony stan standardowy.

Dyrektywa .LFCOND (ang. list false conditionals ) unieważnia poprzednio użytÄ… dyrektywÄ™ .SFCOND i powoduje, że stan przeÅ‚Ä…cznika /X w czasie wywoÅ‚ania asemblera nie jest analizowany (jego stan jest bez znaczenia). Wszystkie bloki programu źródÅ‚owego, dla których nie sÄ… speÅ‚nione warunki dyrektywy IFxxx, sÄ… druko-

wane.

Dyrektywa .SFCOND (ang. suppress false conditionals ) unieważnia użytą poprzednio dyrektywę .LFCOND i powoduje, że stan przełącznika /X w czasie wywołania asemblera nie jest analizowany. Bloki programu źródłowego, dla których nie są spełnione warunki dyrektywy IFxxx, nie są drukowane.

Przykład

; dyrektywa

drukowanie bloków o nie spełnionych

; w programie

warunkach będzie realizowane:

(bez /X)

(z/X)

•••

;tak

nic

.TFCOND

;nic

tak

• • •

TFCOND

•

;tak

nie

.SFCOND

• • •

;nie

nie

• ••

.TFCOND

;nic

tak

TFCOND

;tak

nic

• • •

.SFCOND

;nie

nie

• • •

LFCOND

;tak

tak

• • •

.TFCOND

;nie

tak

Wybór procesora

^ mikroprocesorami 8086/8088/80186 oraz 80286 mogÄ… ponadto współpracować koprocesory arytmetyczne, odpowienio 8087 oraz 80287. Koprocesory te majÄ… wÅ‚asnÄ… istÄ™ rozkazów, które mogÄ… być używane w programie źródÅ‚owym identycznie jak roz-azy procesorów głównych (zob. rozkaz ESC). Wybór odpowiedniego zbioru roz* azów jest realizowany za pomocÄ… nastÄ™pujÄ…cych dyrektyw

•8086    . procesory 8086/8088


Wyszukiwarka

Podobne podstrony:
assembler?86? 4 48 4. Język asemblerowy mikroprocesorów 8086/8088 tępne segmenty będą łączone jak
assembler?86? 0 40 4. Język asemblerowy mikroprocesorów 8086/8088 W książce omówimy wersję MASM 4.
assembler?86? 3 46 4. Język asemblerowy mikroprocesorów 8086/8088 PARA - początek segmentu będzie
assembler?86? 5 50 4. Język asemblerowy mikroprocesorów 8086/8088 ; w kolejnym przykładzie zmienne
assembler?86? 6 52 4. JÄ™zyk asemblerowy mikroprocesorów 8086/8088 MOV AX, DANE 2    
assembler?86? 7 54 4. Język asemblerowy mikroprocesorów 8086/8088 kowych informacji czy skoki do (
assembler?86? 8 56 4. Język asemblerowy mikroprocesorów 8086/8088 433. Połączenia międzymodułowe O
assembler?86? 2 64 4. Język asemblerowy mikroprocesorów 8086/8088 64 4. Język asemblerowy mikropro
assembler?86? 3 66 4. Język asemblerowy mikroprocesorów 8086/8088 66 4. Język asemblerowy mikropro
assembler?86? 5 70 4. Język asemblerowy mikroprocesorów 8086/8088 .186
assembler?86? 6 72 4. Język asemblerowy mikroprocesorów 8086/8088 72 4. Język asemblerowy mikropro
assembler?86? 7 74 4. Język asemblerowy mikroprocesorów 8086/8088 Przykład ZMIENNA A DW 5*5 ; =
assembler?86? 8 76    4. JÄ™zyk asemblerowy mikroprocesorów 8086/8088 LE (ang. lower
assembler?86? 9 78 4. Język asemblerowy mikroprocesorów 8086/8088 PROGRAM SEGMENT • • • A DALEKO E
assembler?86? 1 42 4. Język asemblerowy mikroprocesorów 8086/80X8 (ODH). Asembler przetwarza łańcu
assembler?86? 2 44 4. Język asemblerowy mikroprocesorów #086/8088 Wiersz programu kończy się zasad
assembler?86? 0 60 4. JÄ™zyk asemblerowy nuKroprocesorów 8086/8088 ; OOh    16-23 DA
assembler?86? 9 58 4. Język asemblerowy mikroprocesorów 808618088 Dyrektywy: DB, DW, DD, DQ, DT Li
assembler?86? 1 62 4. JÄ™zyk asemblerowy> mikroprocesorów 808618088 oraz    AA

więcej podobnych podstron