Példák kis rutinok assembly nyelven, szerelő, cikkek, programozás - programozás

Translation számok bináris formában (mint string)

Ez az eljárás átalakítja a 16-bites szó ASCIIZ húr, azaz 7. számú átalakítjuk egy string 0000000000000111. vezető nullák szerepelnek a húr. ASCIIZ húr - egy sor karakterek, záró 0.

Olvasás számláló értékeket

Határozza meg a processzor típusától

A következő eljárás WhatCPU meghatározza a processzor típusát a rendszerbe telepített. Az eredmény vissza nyilvántartásban AX. Az eljárást lehet összeállítani, és 16 bites fordító, annak ellenére, hogy az általa használt 32 bites utasításokat, hogy meghatározza a különbség 386, 486 és Pentium.

A következő kódrészlet betölti egy sor karakter ROM memóriába, és ennek megfelelően állítja be a magassága a karakter jelenik meg.

Lineáris átalakítás fixpontos rendszerek

Ezután a szubrutin szüksége hüvelyk mm, de azt is, hogy lehet használni bármely lineáris transzformációk, ami elég ahhoz, hogy változtatni a konverziós tényező.

Numbers predstvaleny 32 bites fixpontos formátumban. A nagy szó tartalmazza az egész részét, és az alacsony szó - egy tört része. Feltételezzük, hogy a rendszer csak pozitív számok.

A kód a 32 bites utasításokat, de lehet összeállítani, és egy 16 bites fordító.

FAT File Allocation Table

Az első szektor (0 bejegyzés) a lemez - ez boot szektor. Az első bájt tartalmazza az alábbi információkat:

Futó leányvállalata programot

DOS lefoglalja az összes rendelkezésre álló memóriát a jelenlegi programban, bármennyire tényleg szükség van. Ezért meg kell szabadítani valamennyit memóriát letölteni és futtatni a gyermek programot. Ezt az eljárást végzik Setmem. Minden szakasz 16 bájt. Helyigény jelenlegi program számítjuk, mint a méret szakaszok = Lseg - Psp + 1
ahol Lseg - szegmensben található az utolsó bájt a program, és PSP - egy szegmens, amelyben a program psp.

A következő kód fut a program a következő paraméterrel CHILD.COM / HELP.

Olvasás parancssori

Például, ha a program elindul KOE.COM és futtatja azt írja

a DOS prompt, az eljárás visszatér ReadCL 4abcs vonal ASCIIZ formátumban.

TSR: befejezése és a memóriában marad

Telepítés TSR-program három lépésben:
  • Töltse rezidens része a memóriában. Ellenőrizze, hogy a programunk már a memóriában. Megtakarítás a szükséges információkat további eltávolítását rezidens memória. Felszabadítja a memóriát foglalja el egy példányt a környezeti változók menteni.
  • A paraméterek beállítása a rezidens rész. Általában ezen a ponton elfogott megszakítások.
  • A telepítés befejezése program, a rezidens része a memóriában marad.

Rajz SVGA

A következő eljárást von pixel a képernyőn. pixel koordinátái AX és BX regisztrálja, és regisztrálja CX továbbítjuk pixel színét. Az eljárás feltételezi, hogy a méret a „ablak” a 64 KB, azaz, például, hogy az S3 chips.

Döntetlen pixel grafikus módban

Ez a grafika módok lehet hat csoportba oszthatjuk, attól függően, hogy a bitek száma kiosztott minden egyes pixel 1 bit / pixel, 2 szín, egy kicsit sík: CGA mód 6 640 * 200 2 bit / képpont, 4 szín, egy kicsit sík: CGA mód 4, a felbontása 320 * 200 4 bit / pixel, 16 szín, négy bites síkok: EGA módnak 0Dh felbontása 320 * 200 EGA módnak 0Eh 640 * 200 EGA módnak 10h 640 * 350 VGA módban 12h 640 * 480 VESA módban 102h felbontású 800 * 600 VESA mód 104H 1024 * 768 VESA mód 106b gyűrűn 1280: 1024 * 8 bit / pixel 256 szín, egy kicsit sík: VGA módban 13h felbontása 320 * 200 VESA módban 100h engedélyezve e 640 * 400 VESA mód 101H 640 * 480 VESA módban 103h felbontás 800 * 600 VESA módban 105h 1024 * 768 16 bit / pixel, 65536 szín, egy kicsit sík (ott is 32.768-színes üzemmódban): VESA módban 111h 640 * VESA módban 114h 480 800 * 600 24 bit / pixel, 16777216 szín, egy kicsit sík: VESA mód 112H 640 480 *

Kivételt képeznek a számát CGA módok 4 és 6, amelyben a páros és páratlan vonalak rendezett különböző memória szegmensek.

Módok CGA, EGA és VGA támogatja az összes szabványos BIOS. Váltás a módban általában úgy történik, egyszerűen hívja BIOS funkciókat.

Minden VGA módban, a következő eljárást vonhat $ pixel pixel. Meg kell jegyezni, hogy az eljárás meglehetősen lassú, mert A Hívás BIOS funkciókat.

A legérdekesebb mód VGA - üzemmód 13h megjelenítésére képes 256 szín és a felbontása 320 * 200. Színes száma 0 255 értékeknek felel meg a palettán, ahol az összes szín képviselteti formájában bizonyos kombinációi vörös, zöld és kék komponensenként megadni. A következő eljárást VGApxl $ fest pixel ebben az üzemmódban. Úgy működik, elég gyorsan, de vannak gyorsabb alternatívái.

szinusz függvény egy 32 bites fixpontos rendszer

$ Rsin eljárás kiszámítja a trigonometrikus függvény sin a 32 bites érv. 32-bites rendszer egy fix pont meghatározása a következő:

Eljárás alkalmazásával:
Input: ofszet érv BX, eltolása az eredmény AX. Argumentum megadja a szög fokban.
A kimenet értéke a függvény sin, rögzítik a változó offset által meghatározott nyilvántartást AX. Regisztráció értékek nem kerülnek mentésre.

Például, sin (30,5 °) a következőképpen számítjuk ki:

Ennek eredményeként az ilyen hívást, akkor kap az eredmény 0,50752, míg a helyes érték eravno 0,50754

Drive-teszt készenlét

A program ellenőrzi a készségét az egység. Ha az eszköz nem áll készen, a program meg fogja kérdezni, hogy nyomja meg az ESC billentyűt.