assembler86 6

assembler86 6



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

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

Przykład

DANE

ZMIENNA

STAŁA

DANE

PROGRAM


SEGMENT

DW?

DW 0B780H

ENDS

SEGMENT

ASSUME CS: SEG ETYKIETA, DS: SEG ZMIENNA MOV AX,SEG ZMIENNA MOV DS,AX

ETYKIETA:

PROGRAM ENDS

Operator TYPE     J

Operator TYPE określa typ nazwy symbolicznej (zmiennej lub etykiety) przez wygenerowanie liczby całkowitej (1 = bajt, 2 = słowo, 4 = podwójne słowo itd.,-1 = = NEAR, -2 = FAR).    fl

Przykład    l

DANE    SEGMENT    ]

TABLICA 1    DB 50 DUP (?)    1

TABLICA 2    DD 50 DUP (0)    1

DANE    ENDS    1

PROGRAM SEGMENT    I

ASSUME CS:PROGRAM, DS:DANE    1

MOV AX,    DANE    1

MOV DS,    AX

MOV CX,    50    1

MOV SI,    0    I

MOV DI,    0    1

PĘTLA: MOV TABLICA    1 [SIJ, 1    ]

ADD SI, TYPE TABLICA l ; SI = SI +1    1

MOV TABLICA_2[DI], 1    j

ADD DI, TYPE TABLICA 2 ; Dl = DI + 4    |

• ••

LOOP PĘTLA

PROGRAM


ENDS



Operator LENGHT

Operator LENGHT pozwala określić liczbę elementów danego typu dla podanej nazwy zmiennej.

Mi siol

4.4. Wyrażenia i operatory


przykład

DANE    SEGMENT

TABLICA DW 200 DUP (?); LENGHT TABLICA = 200 DANE    ENDS

PROGRAM SEGMENT

ASSUME CS:PROGRAM, DS:DANE

MOV CX, LENGHT TABLICA ; licznik pętli

MOV DI, 0

PĘTLA:    MOV BYTE PTR TABLICA[DI], OFFH

ADD Dl, TYPE TABLICA LOOP PĘTLA

...    4

Operator SIZE__________

Operator SIZE określa wielkość zmiennej w bajtach. Zależność między operatorami SIZE, LENGHT i TYPE jest zatem następująca

SIZE ZMIENNA = LENGHT ZMIENNA * TYPE ZMIENNA

Operator SIZE pozwala także określić wielkość rekordu w bajtach (zob. dyrektywa RECORD). Dla rekordu o długości od 1 do 8 bitów wielkość wynosi 1 bajt, dla rekordu o długości od 9 do 16 bitów wynosi 2 bajty.

Przykład

DANE

SEGMENT

; TYPE LENGHT SIZE

A

DB 10 DUP (?)

; 1

10 10

AA

DW 10 DUP (?)

; 2

10 20

AAA

DANE

PROGRAM

DD 10 DUP (?)

ENDS

SEGMENT

; 4

10 40

V Ti?

ASSUME CS:PROGRAM, DS:DANE MOV CX, SIZE A + SIZE AA + SIZE AAA MOV SI, 0

ZERUJ:    MOV BYTE PTR A[SI],0

INC SI

LOOP ZERUJ


9P^;atory *, /, MOD

% Operatory oznaczają następujące działania arytmetyczne * mnożenie,

^ Helenie całkowite,

^1^ - reszta z dzielenia całkowitego.


Wyszukiwarka

Podobne podstrony:
assembler?86? 6 52 4. Język asemblerowy mikroprocesorów 8086/8088 MOV AX, DANE 2    
assembler?86? 6 32 3. Kolejne generacje mikroprocesorów firmy INTEL -    efektywna
assembler?86? 6 172 6. Makrojęzyk asemblera MA SM dyrektywy pomocnicze PURGE, EXITM, LOCAL specjal
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? 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? 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? 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? 6 92    5. Rozkazy mikroprocesorów 8086/8088 Zamiana miejscami zawart

więcej podobnych podstron