4087490679

4087490679



Użycie litery R przed symbolem rejestru, np. RCX, oznacza rejestr 64-bitowy, dostępny tylko na procesorach 64-bitowych.

Użycie litery E przed symbolem rejestru, np. EAX, oznacza rejestr 32-bitowy, dostępny tylko na procesorach rodziny 80386 lub lepszych. Nie dotyczy to rejestru ES.

Napisy

RAX = EAX+starsze 32 bity; EAX=AX+ starsze 16 bitów; AX=AH+AL

oznaczają:

(przeskocz rożwimęęie rejestru RAX)

RAX

00000000000000000000000000000000

32b


(64 bity)


I    EAX    (32b)

I 0000000000000000 | 00000000 | 00000000 I    16b    I    AX(16b)

I    |    AH(8b)    I    AL (8b)

Napisy

RSI = ESI+starsze 32 bity; ESI = SI + starsze 16 bitów; SI = SIL+starsze 8 bitów

oznaczają:

(przeskocz rozwiniecie rejestru RSI)

RSI (64 bity)


(32b)

00000000 | 00000000 SI(16b)

8b I SIL(8b)


I    ESI

00000000000000000000000000000000 I 0000000000000000 I 32b    I    16b    |

Jedna ważna uwaga - między nazwami rejestrów może pojawić się dwukropek w dwóch różnych znaczeniach:

•    zapis DX : AX (lub 2 dowolne zwykłe rejestry) będzie oznaczać liczbę, której starsza część znajduje się w rejestrze po lewej stronie (DX), a młodsza - w tym z prawej (AX). Wartość liczby wynosi DX*65536 + AX.

•    zapis CS : SI (rejestr segmentowy + dowolny zwykły) będzie najczęściej oznaczać wskaźnik do jakiegoś obiektu w pamięci (o pamięci opowiem następnym razem). Rejestr segmentowy zawiera oczywiście segment, w którym znajduje się ów obiekt, a rejestr zwykły - offset (przesunięcie, adres w tym segmencie) tegoż obiektu.

Na razie nie musicie się przejmować tymi dwukropkami. Mówię to tylko dlatego, żebyście nie byli zaskoczeni, gdyż w przyszłości się pojawią.

Programista może odnosić się bezpośrednio do wszystkich wymienionych rejestrów, z wyjątkiem *IP oraz flag procesora (z wyjątkami).

Jak widać po ich rozmiarach, do rejestrów 8-bitowych można wpisać liczbę z przedziału 0-255 (lub od -128 do 127, gdy najwyższy, siódmy bit służy nam jako bit oznaczający znak liczby), w 16-bitowych zmieszczą się liczby 0-65535 (od -32768 do 32767), a w 32-bitowych - liczby od 0 do 4.294.967.295 (od -2.147.483.648 do 2.147.483.647)

13


Język asembler i rejestry procesora



Wyszukiwarka

Podobne podstrony:
18942 pokoloruj wg kodu symbole (58) 1. Pokoloruj pola oznaczone kropkami i powiedz, co dzieje się
Sposób żywienia kobiet przed E-daia oraz w czasie jej trwania ■ma ogromny wpływ nie tylko na&nb
Sposób żywienia kobiet przed E-daia oraz w czasie jej trwania ■ma ogromny wpływ nie tylko na&nb
Selektywność (wybiórczość) oznacza zdolność oddziaływania automatyki zabezpieczeniowej tylko na ten
O 8 rejestrów 64-bitowych: R8,R15 ♦    rejestry indeksowe: 0 indeks źródłowy: RSI (64
img0232(1) =7. W śrubach rodzaj tworzywa podaje się symbolicznie, np.: 8.8 Co oznacza pierwsza liczb
IMG94 W śrubach rodzaj tworzywa podaje się symbolicznie, np.: 8.8 ^JĆdj oznacza pierwsza liczba sym

więcej podobnych podstron