Skip navigation

1. Kis ZH

Számábrázolások

  1. Pozitív szám kettes komplemense önmaga. A negálás (előjel váltás) úgy történik, hogy a számot bitenként negáljuk, és hozzáadunk egyet. A pozitív számokkal ezt nem kell megcsinálni, mert negatívvá válnak tőle!
  2. A számokat előjel váltás előtt érdemes kiterjeszteni 8/16 bitre. Ennek hiányában az első bitek hibásak lehetnek.
  3. Olvassuk el JÓL, hogy milyen számrendszerben vannak megadva a számok a feladatban.
  4. Tizesből kettes számrendszerbe való átváltáskor az oszlopos elrendezés után alulról-felfelé történik a bináris szám leolvasása.
  5. Kettes számrendszerben, két bináris szám összeadásakor 1+1 esetén az eredmény 0, és 1 'megy tovább'.
  6. Tizenhatos számrendszerben, két hexa szám összeadásakor, ha az eredmény nagyobb, mint 15 (F), akkor ["eredmény" - 16] lesz a valós eredmény és 1 'megy tovább'.

Utasítások paraméterezése

Az utasítások definíciójára kérdező feladatokban sok esetben hiányoznak, vagy pontatlanok a paraméterekre vonatkozó feltételek.

Például:

ADD utasítás:

  • 2 paramétere van.
  • az egyik (nem feltétlenül az első) regiszter, vagy konstans.
  • a két paraméter mérete megegyezik.

Adatok méretének kombinálása

Az assembly utasításokban figyelni kell az adatok méreteire. A legtöbb utasítás nem fogadja el, ha a két paramétere különböző méretű.

Például:

Adott egy adat szegmens:

.data
    A       WORD       42 ; egy előjel nélküli szó
    B       SDWORD     -5 ; egy előjeles duplaszó

  • MOV AX, A  ; szó a szó-ba, ok
  • MOV CX, A  ; szó a szó-ba, ok
  • MOV EBX, B ; duplaszó a duplaszóba, ok
  • MOV EAX, A ; szó a duplaszóba, nem jó
  • MOV BL, B  ; duplaszó a byte-ba, nem jó

Tömbök indexelése

A tömbök indexelésekor figyelembe kell vennünk az elemek méretét is.

Ha pl.:

.data
TOMB WORD 181, 182, 183, 184, 185

akkor a 182-es értékű második elem kivétele:

    MOV     AX, [TOMB+2]      ; 2 byte-os eltolás