assembler86 6

assembler86 6



172


6. Makrojęzyk asemblera MA SM

dyrektywy pomocnicze PURGE, EXITM, LOCAL specjalne operatory & ;;! %

dyrektywy asemblacji warunkowej IFxxx/ENDIF (zob. p. 4.3.5)

dyrektywy sterujące listingiem .LIST, .XLIST, .LALL, .SALL, .XALL, .LFCOND

.SFCOND, .TFCOND, %OUT (zob. p. 4.3.7).

6.1. Makroinstrukcje niedeflniowane

Makroinstrukcja REPT / ENDM

Makroinstrukcja REPT/ENDM powoduje powtarzanie n razy (liczba określona przez argument) bloku programu źródłowego. Składnia makroinstrukcji jest następująca

REPT wyrażenienumeryczne

; blok programu powtarzany n razy ; n określone przez wyrażenie numeryczne ENDM

Przykłady

•    Wywołanie makroinstrukcji

REPT 4

DW?    3

ENDM

powoduje wygenerowanie w programie sekwencji dyrektyw DW ?

DW?    ^

DW ?

DW?    *5

•    Wywołanie makroinstrukcji

J = 2    *1

REPT J +1    I

NOP ENDM

powoduje wygenerowanie w programie trzech rozkazów NOP.    ♦

Makroinstrukcja IRP/ ENDM    ____

Makroinstrukcja IRP/ENDM powoduje powtarzanie bloku programu z możliwością zmiany w kolejnych powtórzeniach jednego z argumentów. Składnia makro-instrukcji jest następująca

powered by

6.1. Makroinstrukcje niedefiniowane


Misi oi]3

IRP parametrformalny, < lista argumentów>

; powtarzany blok programu ; w' miejsce parametru formalnego przy każdym ; powtórzeniu są podstawiane ; kolejne argumenty z listy argumentów ; lista argumentów musi być w nawiasach <... >

ENDM

Przykłady

•    Wywołanie makroinstrukcji

IRP ZMIENNA, <5,?,< 1,2>,OFFFFH >

DW ZMIENNA ENDM

powoduje wygenerowanie w programie sekwencji dyrektyw

DW 5 DW?

DW 1,2 DW OFFFFH

•    Wywołanie makroinstrukcji

IRP X, < 0 /TEKST’,255 >

DB X ENDM

powoduje wygenerowanie w programie DB 0

DB TEKST

Apostrof kończący TEKST zostanie potraktowany jako koniec listy argumentów. +

Makroinstrukcja IRPC/ ENDM___

Makroinstrukcja IRPC/ENDM powoduje powtarzanie bloku programu z możliwością zmiany w kolejnych powtórzeniach jednego z argumentów (np. znaku). Składnia makroinstrukcji jest następująca

IRPC parametr formalny, [ < ]lista_znakówl > ]

; powtarzany blok programu ; zamiast parametru formalnego przy każdym ; powtórzeniu są podstawiane ; kolejne znaki z listy znaków ; lista znaków może być w nawiasach <... >

ENDM


Wyszukiwarka

Podobne podstrony:
assembler?86? 8 176 6. Makrojęzyk asemblera MA SM MOV SI,OFFSET ZRODLO MOV DI,OFFSET PRZEZNACZENIE
assembler?86? 9 ??0001 178 6. Makro język asemblera MA SM DEC ZMIENNA INC SI Operator & Operat
assembler?86? 6 52 4. Język asemblerowy mikroprocesorów 8086/8088 MOV AX, DANE 2    
assembler?86? 9 58 4. Język asemblerowy mikroprocesorów 808618088 Dyrektywy: DB, DW, DD, DQ, DT Li
assembler?86? 6 72 4. Język asemblerowy mikroprocesorów 8086/8088 72 4. Język asemblerowy mikropro
assembler?86? 7 174 6. Makrojęzyk asemblera MASM Przykład • Wywołanie makroinstrukcji IRPC X, 1234
assembler?86? 0 180 6. Makrojęzyk asemblera MASM DBA ENDM ; wersja bez % BAJTY MACRO A BAJTY M
assembler?86? 1 182 6. Makrojęzyk asemblera MASM Powyższe wywołania wygenerują następujące rozwini
assembler?86? 4 68 4. Język asemblerowy mikroprocesorów 8086/8088 Dyrektywy .LALL, .SALL, .XALL Dy
assembler?86? 6 212 8. Uruchamianie programów asemblerowych ???1???? - nazwa podkatalogu ??1?????
72059 MIŚ USZATEK I PRZYJACIELE 6 CZY BIAŁY NIEDŹWIEDŹ MA SERCE ZIMNE JAK LÓD? Zadźwięczał dzwonek
assembler?86? 6 32 3. Kolejne generacje mikroprocesorów firmy INTEL -    efektywna
assembler?86? 0 40 4. Język asemblerowy mikroprocesorów 8086/8088 W książce omówimy wersję MASM 4.
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? 3 46 4. Język asemblerowy mikroprocesorów 8086/8088 PARA - początek segmentu będzie
assembler?86? 4 48 4. Język asemblerowy mikroprocesorów 8086/8088 tępne segmenty będą łączone jak
assembler?86? 5 50 4. Język asemblerowy mikroprocesorów 8086/8088 ; w kolejnym przykładzie zmienne

więcej podobnych podstron