assembler€86ˆ 0

assembler€86ˆ 0



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

W książce omówimy wersję MASM 4.00, która całkowicie zaspokaja potrzeby programisty i możliwości mikroprocesorów 8086/8088 oraz 80286 wraz z ich koprocesorami arytmetycznymi.


4.2. Podstawowe elementy języka


42.1. Zbiór znaków alfabetu

Programy źródłowe przygotowywane w języku MASM korzystają z następującego zbioru znaków


-    alfabetu: wielkie litery: A * Z; maÅ‚e litery: a - z cyfry: 0 - 9

-    znaków specjalnych: + - */ = () []

-    niewidocznych znaków w kodach ASCII:

Space (20H) (ang. blank, space ) - spacja,

CR (ODH) (ang. carriage return ) - powrót kursora, NL (OAH) (ang. linefeed) - nowy wiersz..


MiÄ™dzy poszczególnymi elementami jÄ™zyka w programie źródÅ‚owym może wystÄ…pić dowolna liczba spacji. WystÄ…pienie w programie znaku spoza wymienionego wyżej zbioru powoduje sygnalizowanie przez asembler bÅ‚Ä™du syntaktycznego. Wielkie i maÅ‚e litery sÄ… rozróżnianie wyÅ‚Ä…cznie w Å‚aÅ„cuchach. Tak wiÄ™c przykÅ‚adowo skróty mov, M()V, moV, Mov oznaczajÄ… ten sam kod rozkazu. Niektóre znaki specjalne i ich kombinacje majÄ… w jÄ™zyku MASM szczególne znaczenie.

Kod ASCII

Znaczenie

Rozgraniczenie lub zakoÅ„czenie sÅ‚owa w programie źródÅ‚owym. Liczba spacji w tym przypadku jest dowolna i przykÅ‚adowo zapis MOV ZMIENNA IBX], DX jest równoważny zapisowi MOV ZMIENNA [ BX ], DX Znak używany do poprawy czytelnoÅ›ci programu ÅºródÅ‚owego

Oddzielenie argumentów od siebie


lub postać 20H


09H


(...)


0D0AH


• • •


Nazwa

spacja


znak tabulacji


przecinek

para apostrofów Ograniczenie łańcucha znaków (tekstu)


cudzysłów nawias okrągły

CR-NL

średnik

dwukropek


kropka


Ograniczenie łańcucha znaków (tekstu)

W wyrażeniach, określenie kolejności wykonywanych operacji

ZakoÅ„czenie wiersza instrukcji programu źródÅ‚owego PoczÄ…tek pola komentarza nie analizowanego przez asembler

Ograniczenie symboli, które sÄ… definiowane jako etykiety, przedrostki z nazwami segmentów, w dyrektywach ASSUME, RECORD i innych Znak używany w nazwach rekordów, rozpoczyna


powered by

4.2. Podstawowe elementy języka


Mi s4io1

niektóre pomocnicze dyrektywy

&

AND

•

<...>

nawias ostry

$

znak dolara •

f..]

nawias

kwadratowy

znak równości

—

znak minusa

+

znak plusa

*

gwiazdka

/

znak dzielenia

9

•

pytajnik

@

—

podkreślenie

422.

Stałe


Znak stosowany w makroinstrukcjach

Znak stosowany w makroinstrukcjach

Skrót dla bieżącej wartości wskaźnika rozkazów

Znak używany w wyrażeniach adresowych

Oznaczenie dyrektywy, znak używany też przy inicjowaniu pola zdefiniowanego jako rekord Oznaczenie odejmowania w wyrażeniach lub znak wyrażenia (lub liczby)

Oznaczenie dodawania w wyrażeniach lub znak wyrażenia (lub liczby)

Oznaczenie mnożenia w wyrażeniach

Oznaczenie dzielenia w wyrażeniach

Oznaczenie wartości nieokreślonej, znak stosowany do

rezerwacji pamięci;

występuje też w nazwie symbolicznej

Znak, który może wystąpić w nazwie symbolicznej

Znak, który może wystąpić w nazwie symbolicznej

StaÅ‚e to wartoÅ›ci, które muszÄ… być znane podczas tÅ‚umaczenia (asemblacji) programu źródÅ‚owego i nie mogÄ… być zmieniane w czasie wykonywania programu. Wyróżniamy staÅ‚e numeryczne bÄ™dÄ…ce liczbami caÅ‚kowitymi oraz staÅ‚e alfanumeryczne, nazywane inaczej tekstowymi lub Å‚aÅ„cuchowymi.

Stałe numeryczne mogą być zapisane w systemie dwójkowym, ósemkowym, dziesiętnym lub szesnastkowym. Muszą być wyrażone 17bitami (wliczając bit znaku).

Liczba dwójkowa wyrażona cyframi 0 i 1 może przyjmować wartości z przedziału [-111111111111111,-ł-llllllllllllllll] i musi być zakończona literą B (lub b). Przykłady liczb dwójkowych: OB, IB, lOlOlOlOb, 111B, -1101100010B.

Liczba ósemkowa wyrażona cyframi 0...7 może przyjmować wartości z przedziału [-177777, +177777] i musi być zakończona literą O lub Q (o, q). Przykłady liczb ósemkowych: 45307Q, 50, -6745q, +0o.

Liczba dziesiętna wyrażona cyframi 0...9 może przyjmować wartości z przedziału [-65535, + 65535) i może być opcjonalnie zakończona literą D (lub d). Przykłady liczb dziesiętnych: 1230,-4398D, Od, +9999.

Liczba szesnastkowa wyrażona cyframi 0...9 oraz literami A...F może przyjmować wartości z przedziału [-OFFFF, + OFFFF] i musi być zakończona literą H (h). Ponadto, aby asembler rozróżniał liczbę szesnastkową od nazwy, liczba musi rozpo-czynać się od cyfry. Przykłady liczb szesnastkowych: 2H, -897h, OABCDH, OFFH.

StaÅ‚e alfanumeryczne to możliwe do wydrukowania znaki wyrażone w kodzie A^ II, ujÄ™te w apostrofy lub cudzysłów. SÄ… dopuszczalne znaki spacji (20H) oraz tabulacji (09H), niedopuszczalne sÄ… znaki nowego wiersza (OAH) i powrotu kursora


Wyszukiwarka

Podobne podstrony:
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? 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? 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? 0 60 4. JÄ™zyk asemblerowy nuKroprocesorów 8086/8088 ; OOh    16-23 DA
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? 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