radix, egy szerelő címkék, fordítás számok

Bináris, oktális, decimális, hexadecimális számrendszerek helyzeti. Pozicionális számrendszer - amelyben a számok értéke függ a helyét a számot, a pozíció számok száma lehívások vagy lemerül. Az alapja pozicionális számrendszer van rovására, ahol a töltött az alábbi sorrendben számát. Ellenkező esetben a radix szám megegyezik a szám, beleértve a nullát, amely szám kerül rögzítésre a rendszerben.

Szerelő lehetővé teszi a használatát a számok bináris, oktális, decimális vagy hexadecimális. Alapértelmezésben a szerelő megállapítja az összes számot a programban, tizedes. Explicit száma alapján használhatja a címkét (a MASM32 11 változat): b vagy y - bináris számok; O vagy Q - oktális; d vagy t - Decimális; h - hexadecimális számokat. Tag számokat írt a végén együtt a számot. Ha a számot használják alfabetikus karakter (hexadecimális szám) elején rögzített nulla - a szabályok szerint a szerelő jelölés számokat kell kezdődnie egy számjegy. Például:

adatok var1 byte 00001111b; 15 bináris ábrázolása var2 byte 00001111y; 15 bináris ábrázolása VAR3 byte 17o; 15 oktális var4 byte 17q; 15 oktális var5 byte 15d; 15 decimális var6 byte 15t; 15 decimális var7 byte 0Fh; 15 hexadecimális

Megadhatja, hogy milyen típusú az alkalmazott a programban számok részben irányelv típusú oktatás

amelyben a bázis jelölést jelzett decimális szám. Például az utasítások szerint

Az assembler azt feltételezi, hogy az összes számot, címkék nélkül a program hexadecimális.

A két meglévő tag lehetőség bináris és decimális számok miatt kompatibilitási okokból MASM32 korábbi verziók, amelyben képes felvenni számokat hexadecimális formátumban nem volt, a későbbi verziók. A hexadecimális számok arab számok nem elég, így a digitális számok kiegészítve a levél:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

Könnyen belátható, hogy a tag a korábbi verziók MASM32 - b és d - ugyanaz, mint a hexadecimális számjeggyel, ami számukra lehetetlen használni az irányelvben .RADIX 16. tag tag q o nevezte, mert a hasonlóság az első nulla. Ezen okok miatt előnyösek címkék y. q. t.

Egy számítógép, minden szám tárolva szekvenciák egyesek és nullák. Amikor írunk a szöveget a program tetszőleges számú, a fordítást géppel olvasható képviselete biztosítja a szerelő, és a futtatható fájl, számot kell jegyezni a megfelelő (bináris) formában. De ahhoz, hogy megszervezze a kimenetet a program számát már érthető formában a felhasználó meg kell csinálni, akkor, ha azt szeretné, hogy a felhasználó a számot, akkor kell, hogy a program az alábbiak szerint: a) át egy számot bináris-decimális - a gép ábrázolása az emberi; b) a hibás kapott decimális szám egyik szimbóluma, vagyis számának megfelelő a kép, mert a monitor megjeleníti pontosan a kép, hanem a számot.

Fordítása a gép előre meghatározott sorrendi számozási rendszer végzi elosztjuk ezt a számot, és a kapott eredmények alapján a kívánt szám rendszer. A maradék a szétválás tárolja a legkisebb helyi értékű bit, a hányados osztva ismét radix maradékot lépett a következő szintre - és így tovább, hogy elérjék a nulla eredményt a szétválás. Tegyük fel, hogy szeretnénk átalakítani decimális szám 250 hexadecimális:
250/16 = 15. maradékot = A (10)
15/16 = 0, a maradékot = F (15)
így, 250 (decimális) = FA (hexadecimális).

A maximális szám felírható byte 255. Ha a program eredményeit kell megjeleníteni a számot decimális formátumban az egy byte-os változó, ezt a számot el kell osztani 10 nem több, mint háromszor - 255 három tizedes megrendeléseket. A változó típusa szó (két byte), maximális értéke 65 535, a változó típusa duplaszavas (négy bájt) - 4.294.967 295. Ennek megfelelően a számos szó transzferek tizedes osztás 10 nem több, mint öt alkalommal, dupla szó -nem több mint tíz alkalommal.

Kódok jegyű karakterek: „0” - 48; "1" - 49; "2" - 50; "3" - 51; "4" - 52; "5" - 53; "6" - 54; "7" - 55; "8" - 56; „9” - 57. Nyilvánvaló, hogy az átruházás értékét számjegy a karakter olyan kedves, hogy hozzá, hogy ő 48.

Töredéke a program, amely lefordítja byte változókat egy tizedes karakter formájában

adatok elválasztó byte 10; térelválasztó buffer_dec byte 3 dup (?) parametr byte 255. kód start. ; Kapunk értékek parametr bájtos decimális karakter formában mov AH, 0; nulla ki AH mov AL, parametr; másolja byte változó az AL DIV elválasztó; szakadék AX 10 mov buffer_dec [2], AH; másolja a fennmaradó részleg buffer_dec [2] mov AH, 0; nulla ki AH DIV elválasztó; szakadék AX 10 mov buffer_dec [1], AH; másolja a fennmaradó részleg buffer_dec [1] mov buffer_dec [0], AL; privát példány buffer_dec [0] ADD buffer_dec [0], 48; hozzáadásával 48 - kap a szimbólum szám "2" ADD buffer_dec [1], 48; hozzáadásával 48 - kap a szimbólum szám "5" ADD buffer_dec [2], 48; hozzátéve 48 - megkapjuk a szimbólum számok „5”

Kapcsolódó cikkek