assembler86 7

assembler86 7



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

kowych informacji czy skoki do (z) podprogramu będą realizowane jedynie wewnątrz segmentu, czy też między segmentami. Składnia dyrektywy jest następująca

nazwa    PROC typ

; treść podprogramu

RET ; rozkaz powrotu z podprogramu • ••

nazwa    ENDP

przy czym typ może być NEAR dla skoków wewnątrz segmentu lub FAR dla skoków między segmentami.

Podprogramy określane dyrektywami PROC/ENDP mogą znajdować się wewnątrz innych podprogramów (zob. p. 7.1); muszą jednak w całości znajdować się wewnątrz segmentu. Wewnątrz podprogramu może też być zdefiniowany inny segment.    i

Przykład

PROGRAM GŁÓWNY

SEGMENT

PODPROGRAM 1 ETYKIETAl

• ••

PROC NEAR

• ••

PODPROGRAM 1

• ••

RET 1 ENDP

PODPROGRAM 2

ETYKIETA 2 ETYKIETA 3

• • •

PROC NEAR

• ••

• ••

• ••

PODPROGRAM 3

• ••

PROC NEAR

ETYKIETA 4 PROGRAM

• • •

SEGMENT

PROGRAM

• ••

ENDS

PODPROGRAM 3

• • •

RET 1 ENDP

•••

ETYKIETA 5 RET PODPROGRAM2

•••

ENDP

• ••

PROGRAM GŁÓWNY

•••

ENDS »

powered by

4.3. Dyrektywy i pseudoinstmkcje


Mi s4ol

4j2. Definiowanie nazw symbolicznych

W tej grupie wyróżnimy 3 dyrektywy: EQU, PURGE oraz = (znak równości).

Dyrektywa EQU_______

Dyrektywa EQU pozwala przypisać nazwie symbolicznej określoną wartość podaną jako argument w postaci wyrażenia numerycznego, specyfikacji adresu, rejestru, nazwy symbolicznej (z wyłączeniem nazw zewnętrznych) bądź wyrażeń typu rekord (zob. p. 4.3.4). Wartość przypisana nazwie nie może być w czasie asemblacji zmieniana, tzn. określona nazwa może tylko raz wystąpić przed dyrektywą EQU.

Składnia ma postać

nazwa    EQU wartość

Przykłady

DWA    EQU 2

LICZNIK    EQU CX

A    EQU 6 AND (ILORAZ + 6/SIZE TABLICA)

B    EQU C

ZNACZNIK EQU STR RECORD R:5, S:6, T:7    *

Dyrektywa PURGE

Dyrektywa PURGE pozwala usunąć w czasie asemblacji nazwę z tablicy nazw symbolicznych asemblera. Nazwa może być wykorzystana w programie w inny sposób bądź ponownie zdefiniowana dyrektywą EQU. Składnia dyrektywy jest następująca

PURGE nazwa ł [, nazwa_2, nazwa_3,...] Przykład

WSKAŹNIK    EQU SUMA_1 OR SUMA 2

• • •

PURGE WSKAŹNIK

WSKAŹNIK    EQU DL    ♦

Dyrektywa = (znak równości)    ____

Dyrektywa = podobnie jak EQU służy do przypisywania nazwom wartości. Różnica polega na tym, że nazwa może być w programie wielokrotnie redefiniowana. Składnia jest następująca

nazwa = wartość

Przykład

LICZNIK = 50    ; równoważne: LICZNIK EQU 50


LICZNIK = LICZNIK -1


Wyszukiwarka

Podobne podstrony:
assembler?86? 7 74 4. Język asemblerowy mikroprocesorów 8086/8088 Przykład ZMIENNA A DW 5*5 ; =
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? 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
assembler?86? 6 52 4. Język asemblerowy mikroprocesorów 8086/8088 MOV AX, DANE 2    
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? 4 68 4. Język asemblerowy mikroprocesorów 8086/8088 Dyrektywy .LALL, .SALL, .XALL Dy
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? 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