Download as pdf or txt
Download as pdf or txt
You are on page 1of 71

Porównanie skªadni INTEL oraz AT&T

Marek N¦dza, Krzysztof ›ygªowicz

WFiIS, Informatyka Stosowana, SWiR

27 marca 2013

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 1 / 32
"Procesor  miejsce star¢ pomi¦dzy nic nieznacz¡cymi zerami,
a ±wiadomymi istnienia i wªasnej warto±ci jedynkami."

http://nonsensopedia.wikia.com

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 2 / 32
Spis tre±ci
1 Procesor
2 INTEL
Narodziny rmy
Pocz¡tki istnienia
Pierwszy mikroprocesor - Intel 4004
Na czasie - Intel Core i7
3 AT&T
Troch¦, ale nie za du»o historii
4 Asembler
Rejestr procesora
Podstawowe rejestry procesora x86
Mnemoniki
Pisanie programów
Kompilowanie (asemblowanie) programów
Wiele procesorów, wiele asemblerów
5 Ró»nice mi¦dzy skªadniami Intel a AT&T
Kolejno±¢ (kierunek) operandów
Preksy
Adresowanie
Suksy - przyrostki rozmiarowe, i dyrektywy rozmiarowe
Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 3 / 32
Procesor

Procesor (ang. processor )


Urz¡dzenie cyfrowe sekwencyjne, które pobiera dane z pami¦ci, interpretuje
je i wykonuje jako rozkazy. Wykonuje on ci¡g prostych operacji (rozkazów)
wybranych ze zbioru operacji podstawowych okre±lonych zazwyczaj przez
producenta procesora jako lista rozkazów procesora. Wykonywane s¡ zwykle
jako ukªady scalone zamkni¦te w hermetycznej obudowie. Ich sercem jest
monokrysztaª krzemu, który zawiera sie¢ od kilku tysi¦cy do kilkuset
milionów tranzystorów. Poª¡czenia wykonane s¡ z metalu. Jedn¡
z podstawowych cech procesora jest dªugo±¢ sªowa, na którym wykonywane
s¡ podstawowe operacje obliczeniowe.

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 4 / 32
INTEL

Intel (ang. Int egrated El


ectronics )
Najwi¦kszy na ±wiecie producent ukªadów scalonych oraz twórca
mikroprocesorów z rodziny x86, które znajduj¡ si¦ w wi¦kszo±ci
komputerów osobistych.

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 5 / 32
INTEL Narodziny rmy

W latach 60-tych sporo osób opu±ciªo rm¦ Fairchild Semiconductor


(przedsi¦biorstwo bran»y elektronicznej) z powodu niezadowolenia z sytaucji
w niej panuj¡cej. Posiadaj¡c szereg niezrealizowanych planów cz¦±¢ z nich
postanowiªo zaªo»y¢ wªa±n¡ rm¦. Robert Noyce oraz Gordon Moore w
1968 r. zakªadaj¡ przedsi¦biorstwo o nazwie NM Electronics. Pó¹niej nadaj¡
mu lepiej brzmi¡ca nazw¦: Intel.

Gordon Moore Robert Noyce

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 6 / 32
INTEL Pocz¡tki istnienia

W pocz¡tkowych latach postanowiono zaprojektowa¢ oraz wykorzysta¢


ukªady scalone oraz póªprzewodnikowe. Byª to pomysª do±¢ odwa»ny jak na
tamte czasy. Ich pierwszym komercyjnym produktem byªa pami¦¢ SRAM
(statyczna pami¦¢ o dost¦pie swobodnym), która jednak nie przyniosªa im
chwaªy. Przeªom nast¡piª gdy japo«ska rma ETI zaproponowaªa Intelowi
wspóªprac¦ przy produkcji ukªadów dla stoªowych kalkulatorów japo«skiej
rmy Busicom.

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 7 / 32
INTEL Pierwszy mikroprocesor - Intel 4004

Pomysª Intela (a w zasadzie jednego z jego pracowników Teda Hoa)


polegaª na stworzeniu chipu speªniaj¡cego funkcj¦ 12-tu pojedy«czych.
Rozpocz¦to badania nad wielozadaniowym procesorem logicznym, który
mógªby by¢ programowany do przyjmowania zada«. Oznaczaªo to, »e
inteligencja mogªa by¢ projektowana przez software, a nie poprzez ª¡czenie
urz¡dze« elektronicznych (hardware). Idea ta staªa si¦ podwalinami dla
obecnej technologii procesorów i programowania. W przeci¡gu 9 miesi¦cy
projekt zostaª zrealizowany, a ±wiatªo dzienne ujrzaª pierwszy mikroprocesor
Intel 4004. Miaª wymiary 1/8 cali szeroko±ci na 1/6 cali dªugo±ci i skªadaª
si¦ z 2,300 tranzystorów MOS.

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 8 / 32
INTEL Pierwszy mikroprocesor - Intel 4004

Procesor ten miaª moc obliczeniow¡ porównywaln¡ do komputera ENIAC


zajmuj¡cego powierzchni¦ 3000 stóp kwadratowych. W przeci¡gu dekady
procesor ten zostaª okrzykni¦ty jednym z dziesi¦ciu najlepszych wynalazków
ameryka«skiej my±li technicznej sytuj¡c go obok takich wynalazków jak
»arówka, telefon czy samolot. Procesor ten znalazª zastosowanie mi¦dzy
innymi w telefonach oraz sygnalizacji ±wietlnej, aby w ko«cu pozwoli¢ na
zbudowanie pierwszego komputera osobistego.

Intel 4004 Kalkulator Busicom


141-PF

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 9 / 32
INTEL Na czasie - Intel Core i7

Generacja procesorów rmy Intel oparta na architekturze


x86-64, premiera ukªadu miaªa miejsce 3 listopada 2008
roku. Wykorzystuje ona mikroarchitektur¦ procesora o nazwie
Nehalem. Jak dot¡d dost¦pne s¡ tylko czterordzeniowe
i sze±ciordzeniowe procesory, jednak Intel wprowadziª tak»e
procesory o±miordzeniowe (serwerowe serii Xeon). Core i7
zostaªy pocz¡tkowo wykonane w technologii 45 nm (za wyj¡tkiem jednego
b¦d¡cego w technologii 32nm), a obecnie Intel produkuje procesory w
technologii 22 nm. Taktowanie rdzeni wynosi od 2.66 do 3.33 GHz (dzi¦ki
Intel R Turbo Boost Technology mo»emy osi¡gn¡¢ 3.8 GHz).

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 10 / 32
AT&T

AT&T (ang. A merican T


elephone and T elegraph )
Ameryka«skie przedsi¦biorstwo telekomunikacyjne. W jego laboratoriach
(Bell Labs) powstaª m.in. system operacyjny Unix, j¦zyki C, C++ i AWK,
a tak»e tranzystor. Jedenastu pracowników tej korporacji otrzymaªo
Nagrod¦ Nobla.

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 11 / 32
AT&T Troch¦, ale nie za du»o historii

AT&T zostaªo zaªo»one 3 marca 1885, w celu stworzenia ogólnokrajowej


sieci telefonicznej, na bazie American Bell Telephone Company (zaªo»onej
przez te±cia Alexandra Bella). Prace rozpocz¦to w Nowym Jorku i do 1915
r. poª¡czono go z San Franciso. W 1927 r. zostaªa uruchomiona ª¡czno±¢
transatlantycka radiowa, a w 1957 r. kablowa.

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 12 / 32
AT&T Troch¦, ale nie za du»o historii

AT&T bardzo szybko staªa si¦ bezkonkurencyjnym przedsi¦biorstwem (tu»


przed II wojn¡ ±wiatow¡ miaª wszystkie ameryka«skie linie dªugodystansowe
i 4/5 lokalnych). Dopiero w 1982 r. AT&T zostaªa uznana za monopolist¦
przez Departament Sprawiedliwo±ci USA co doprowadziªo do rozpadu
giganta na siedem regionalnym oddziaªów, które staªy si¦ niezale»nymi
przedsi¦biorstwami (tzw. "Baby Bells "), przejmuj¡c lokalne linie
telefoniczne. W wyniku tego podziaªu warto±¢ AT&T spadªa o ok. 70%.

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 13 / 32
Asembler

Asembler (ang. assembler )


Program komupterowy tworz¡cy kod maszynowy na podstawie kodu j¦zyka
asemblera. Proces ten to tzw. asemblacja.

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 14 / 32
Asembler

Asembler (ang. assembler )


Program komupterowy tworz¡cy kod maszynowy na podstawie kodu j¦zyka
asemblera. Proces ten to tzw. asemblacja.

J¦zyk asemblera (cz¦sto te» zwany asemblerem)


Niskopoziomowy j¦zyk programowania na dany procesor, oparty
o jego podstawowe operacje. Jednej komendzie asemblera odpowiada jeden
rozkaz procesora.

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 14 / 32
Asembler Rejestr procesora

Asembler operuje na rejestrach procesora.


Rejestr procesora
S¡ to komórki pami¦ci o niewielkich rozmiarach (najcz¦±ciej
4/8/16/32/64/128 bitów) umieszczone wewn¡trz procesora i sªu»¡ce do
przechowywania tymczasowych wyników oblicze«, adresów lokacji w
pami¦ci operacyjnej itd. Wi¦kszo±¢ procesorów przeprowadza dziaªania
wyª¡cznie korzystaj¡c z wewn¦trznych rejestrów, kopiuj¡c do nich dane z
pami¦ci i po zako«czeniu oblicze« odsyªaj¡c wynik do pami¦ci.

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 15 / 32
Asembler Podstawowe rejestry procesora x86

1 ogólnego u»ytku:

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 16 / 32
Asembler Podstawowe rejestry procesora x86

1 ogólnego u»ytku:
a) akumulator:
RAX (64 bity) = EAX (mªodsze 32 bity) + starsze 32 bity
EAX (32 bity) = AX (mªodsze 16 bitów) + starsze 16 bitów
AX (16 bitów) = AH (starsze 8 bitów) + AL (mªodsze 8 bitów)
Przeznaczony do wykonywania dziaªa« matematycznych. Cz¦sto przekazujemy do niego numer
funkcji systemowj, któr¡ chcemy wywoªa¢.

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 16 / 32
Asembler Podstawowe rejestry procesora x86

1 ogólnego u»ytku:
a) akumulator:
RAX (64 bity) = EAX (mªodsze 32 bity) + starsze 32 bity
EAX (32 bity) = AX (mªodsze 16 bitów) + starsze 16 bitów
AX (16 bitów) = AH (starsze 8 bitów) + AL (mªodsze 8 bitów)
Przeznaczony do wykonywania dziaªa« matematycznych. Cz¦sto przekazujemy do niego numer
funkcji systemowj, któr¡ chcemy wywoªa¢.
b) bazowy:
RBX (64b) = EBX(32b) + starsze 32b
U»ywany np. przy dost¦pie do tablic.

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 16 / 32
Asembler Podstawowe rejestry procesora x86

1 ogólnego u»ytku:
a) akumulator:
RAX (64 bity) = EAX (mªodsze 32 bity) + starsze 32 bity
EAX (32 bity) = AX (mªodsze 16 bitów) + starsze 16 bitów
AX (16 bitów) = AH (starsze 8 bitów) + AL (mªodsze 8 bitów)
Przeznaczony do wykonywania dziaªa« matematycznych. Cz¦sto przekazujemy do niego numer
funkcji systemowj, któr¡ chcemy wywoªa¢.
b) bazowy:
RBX (64b) = EBX(32b) + starsze 32b
U»ywany np. przy dost¦pie do tablic.
c) licznik:
RCX (64b) = ECX (32b) + starsze 32b
U»ywany do okre±lenia ilo±ci powtórze« p¦tli.

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 16 / 32
Asembler Podstawowe rejestry procesora x86

1 ogólnego u»ytku:
a) akumulator:
RAX (64 bity) = EAX (mªodsze 32 bity) + starsze 32 bity
EAX (32 bity) = AX (mªodsze 16 bitów) + starsze 16 bitów
AX (16 bitów) = AH (starsze 8 bitów) + AL (mªodsze 8 bitów)
Przeznaczony do wykonywania dziaªa« matematycznych. Cz¦sto przekazujemy do niego numer
funkcji systemowj, któr¡ chcemy wywoªa¢.
b) bazowy:
RBX (64b) = EBX(32b) + starsze 32b
U»ywany np. przy dost¦pie do tablic.
c) licznik:
RCX (64b) = ECX (32b) + starsze 32b
U»ywany do okre±lenia ilo±ci powtórze« p¦tli.
d) rejestr danych
RDX (64b) = EDX (32b) + starsze 32b
Sªu»y np. do przechowywania adresów zmiennych.

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 16 / 32
Asembler Podstawowe rejestry procesora x86

1 ogólnego u»ytku:
a) akumulator:
RAX (64 bity) = EAX (mªodsze 32 bity) + starsze 32 bity
EAX (32 bity) = AX (mªodsze 16 bitów) + starsze 16 bitów
AX (16 bitów) = AH (starsze 8 bitów) + AL (mªodsze 8 bitów)
Przeznaczony do wykonywania dziaªa« matematycznych. Cz¦sto przekazujemy do niego numer
funkcji systemowj, któr¡ chcemy wywoªa¢.
b) bazowy:
RBX (64b) = EBX(32b) + starsze 32b
U»ywany np. przy dost¦pie do tablic.
c) licznik:
RCX (64b) = ECX (32b) + starsze 32b
U»ywany do okre±lenia ilo±ci powtórze« p¦tli.
d) rejestr danych
RDX (64b) = EDX (32b) + starsze 32b
Sªu»y np. do przechowywania adresów zmiennych.
e) rejstry indeksowe:
indeks ¹ródªowy: RSI (64b) = ESI (32b) + starsze 32b
indeks docelowy: RDI (64b) = EDI (32b) + starsze 32b
Sªu»¡ do operacji na dªugich ªa«cuchach danych (napisach, tablicach).

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 16 / 32
Asembler Podstawowe rejestry procesora x86

1 ogólnego u»ytku:
a) akumulator:
RAX (64 bity) = EAX (mªodsze 32 bity) + starsze 32 bity
EAX (32 bity) = AX (mªodsze 16 bitów) + starsze 16 bitów
AX (16 bitów) = AH (starsze 8 bitów) + AL (mªodsze 8 bitów)
Przeznaczony do wykonywania dziaªa« matematycznych. Cz¦sto przekazujemy do niego numer
funkcji systemowj, któr¡ chcemy wywoªa¢.
b) bazowy:
RBX (64b) = EBX(32b) + starsze 32b
U»ywany np. przy dost¦pie do tablic.
c) licznik:
RCX (64b) = ECX (32b) + starsze 32b
U»ywany do okre±lenia ilo±ci powtórze« p¦tli.
d) rejestr danych
RDX (64b) = EDX (32b) + starsze 32b
Sªu»y np. do przechowywania adresów zmiennych.
e) rejstry indeksowe:
indeks ¹ródªowy: RSI (64b) = ESI (32b) + starsze 32b
indeks docelowy: RDI (64b) = EDI (32b) + starsze 32b
Sªu»¡ do operacji na dªugich ªa«cuchach danych (napisach, tablicach).
f) rejestry wska¹nikowe:
wska¹nik bazowy: RBP (64b) = EBP (32b) + starsze 32b
Najcz¦±ciej sªu»y do dost¦pu do zmiennych lokalnych funkcji.
wska¹nik stosu: RSP (64b) = ESP (32b) + starsze 32b
Sªu»y do dost¦pu do stosu
wska¹nik instrukcji: RIP (64b) = EIP (32b) + starsze 32b
Mówi procesorowi, sk¡d ma pobiera¢ instrukcje do wykonania.

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 16 / 32
Asembler Podstawowe rejestry procesora x86

2 rejestry segmentowe (16 bitowe - wszystkie):

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 17 / 32
Asembler Podstawowe rejestry procesora x86

2 rejestry segmentowe (16 bitowe - wszystkie):


a) segment kodu CS - okre±la, gdzie znajduj¡ si¦ instrukcje dla procesora

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 17 / 32
Asembler Podstawowe rejestry procesora x86

2 rejestry segmentowe (16 bitowe - wszystkie):


a) segment kodu CS - okre±la, gdzie znajduj¡ si¦ instrukcje dla procesora
b) segment danych DS - pokazuje miejsce, w którym znajduj¡ si¦ zmienne

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 17 / 32
Asembler Podstawowe rejestry procesora x86

2 rejestry segmentowe (16 bitowe - wszystkie):


a) segment kodu CS - okre±la, gdzie znajduj¡ si¦ instrukcje dla procesora
b) segment danych DS - pokazuje miejsce, w którym znajduj¡ si¦ zmienne
c) segment stosu SS - pokazuje gdzie znajduje si¦ stos

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 17 / 32
Asembler Podstawowe rejestry procesora x86

2 rejestry segmentowe (16 bitowe - wszystkie):


a) segment kodu CS - okre±la, gdzie znajduj¡ si¦ instrukcje dla procesora
b) segment danych DS - pokazuje miejsce, w którym znajduj¡ si¦ zmienne
c) segment stosu SS - pokazuje gdzie znajduje si¦ stos
d) segment dodatkowy ES - zazwyczaj pokazuje na to samo, co DS - na
zmienne

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 17 / 32
Asembler Podstawowe rejestry procesora x86

2 rejestry segmentowe (16 bitowe - wszystkie):


a) segment kodu CS - okre±la, gdzie znajduj¡ si¦ instrukcje dla procesora
b) segment danych DS - pokazuje miejsce, w którym znajduj¡ si¦ zmienne
c) segment stosu SS - pokazuje gdzie znajduje si¦ stos
d) segment dodatkowy ES - zazwyczaj pokazuje na to samo, co DS - na
zmienne
e) FS i GS - bez specjalnego przeznaczenia

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 17 / 32
Asembler Podstawowe rejestry procesora x86

2 rejestry segmentowe (16 bitowe - wszystkie):


a) segment kodu CS - okre±la, gdzie znajduj¡ si¦ instrukcje dla procesora
b) segment danych DS - pokazuje miejsce, w którym znajduj¡ si¦ zmienne
c) segment stosu SS - pokazuje gdzie znajduje si¦ stos
d) segment dodatkowy ES - zazwyczaj pokazuje na to samo, co DS - na
zmienne
e) FS i GS - bez specjalnego przeznaczenia
3 rejestr stanu procesora:

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 17 / 32
Asembler Podstawowe rejestry procesora x86

2 rejestry segmentowe (16 bitowe - wszystkie):


a) segment kodu CS - okre±la, gdzie znajduj¡ si¦ instrukcje dla procesora
b) segment danych DS - pokazuje miejsce, w którym znajduj¡ si¦ zmienne
c) segment stosu SS - pokazuje gdzie znajduje si¦ stos
d) segment dodatkowy ES - zazwyczaj pokazuje na to samo, co DS - na
zmienne
e) FS i GS - bez specjalnego przeznaczenia
3 rejestr stanu procesora:
a) FLAGI (16 bitowe)

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 17 / 32
Asembler Podstawowe rejestry procesora x86

2 rejestry segmentowe (16 bitowe - wszystkie):


a) segment kodu CS - okre±la, gdzie znajduj¡ si¦ instrukcje dla procesora
b) segment danych DS - pokazuje miejsce, w którym znajduj¡ si¦ zmienne
c) segment stosu SS - pokazuje gdzie znajduje si¦ stos
d) segment dodatkowy ES - zazwyczaj pokazuje na to samo, co DS - na
zmienne
e) FS i GS - bez specjalnego przeznaczenia
3 rejestr stanu procesora:
a) FLAGI (16 bitowe)
b) E-FLAGI (32 bitowe)

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 17 / 32
Asembler Podstawowe rejestry procesora x86

2 rejestry segmentowe (16 bitowe - wszystkie):


a) segment kodu CS - okre±la, gdzie znajduj¡ si¦ instrukcje dla procesora
b) segment danych DS - pokazuje miejsce, w którym znajduj¡ si¦ zmienne
c) segment stosu SS - pokazuje gdzie znajduje si¦ stos
d) segment dodatkowy ES - zazwyczaj pokazuje na to samo, co DS - na
zmienne
e) FS i GS - bez specjalnego przeznaczenia
3 rejestr stanu procesora:
a) FLAGI (16 bitowe)
b) E-FLAGI (32 bitowe)
c) R-FLAGI (64 bitowe)
Sªu»¡ do badania wyniku ostatniego przeksztaªcenia (np czy nie
wyst¡piªo przepeªnienie, czy wynik jest zerem, itp.).
Najwa»niejsze z nich to:
CF (carry ag - aga przeniesienia)
OF (overow ag - aga przepeªnienia)
SF (sign ag - aga znaku)
ZF (zero ag - aa zera)
IF (interrupt ag - aga przerwa«)
PF (parity ag - aga parzysto±ci)
DF (direction ag - aga kierunku)
Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 17 / 32
Asembler Mnemoniki

Mnemoniki (ang. mnemonic )


Skªadaj¡cy si¦ z kilku liter kod-sªowo, które oznacza konkretn¡ czynno±¢
procesora. Przykªadem mog¡ by¢: "add" (dodaj) czy "sub" (odejmij).
Powstaªy aby wyeliminowa¢ konieczno±¢ programowania komputerów za
pomoc¡ wpisywania liczb, które s¡ naturalnym kodem którego u»ywa
procesor. Proces programowania staª si¦ ªatwiejszy i mniej zawodny.

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 18 / 32
Asembler Mnemoniki

Mnemoniki (ang. mnemonic )


Skªadaj¡cy si¦ z kilku liter kod-sªowo, które oznacza konkretn¡ czynno±¢
procesora. Przykªadem mog¡ by¢: "add" (dodaj) czy "sub" (odejmij).
Powstaªy aby wyeliminowa¢ konieczno±¢ programowania komputerów za
pomoc¡ wpisywania liczb, które s¡ naturalnym kodem którego u»ywa
procesor. Proces programowania staª si¦ ªatwiejszy i mniej zawodny.

Przykªad
1 mov ax , 0D625h
2 mov es , ax ; wprowad¹ do r e j e s t r u segmentowego ES w a r t o ± ¢ z AX w y n o s z ¡ c ¡
D625 s z e s n a s t k o w o ( 5 4 8 2 1 d z i e s i ¦ t n i e )
3 mov a l , 24
4 mov ah , 0 ; z a ª a d u j do r e j e s t r u AX w a r t o ± ¢ 24 ( w y z e r u j AH  s t a r s z ¡
poªówk¦ r e j e s t r u AX i z a p i s z w a r t o ± ¢ 24 w m ª o d s z e j AL)
5 i n t 21 h ; w y w o ª a j p r z e r w a n i e n r 33 ( 2 1 s z e s n a s t k o w o )

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 18 / 32
Asembler Mnemoniki

Kilka podstawowych mnemoników:

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 19 / 32
Asembler Mnemoniki

Kilka podstawowych mnemoników:


mov - jedna z najcz¦±ciej u»ywanych instrukcji. Jak wynika z nazwy,
instrukcja ta sªu»y do kopiowania, a nie przenoszenia elementów .

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 19 / 32
Asembler Mnemoniki

Kilka podstawowych mnemoników:


mov - jedna z najcz¦±ciej u»ywanych instrukcji. Jak wynika z nazwy,
instrukcja ta sªu»y do kopiowania, a nie przenoszenia elementów .
add, sub - dodawanie i odejmowanie.
Przykªad: subl $10, %edx - odj¦cie 10 od warto±ci znajduj¡cej si¦ w
rejestrze edx.

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 19 / 32
Asembler Mnemoniki

Kilka podstawowych mnemoników:


mov - jedna z najcz¦±ciej u»ywanych instrukcji. Jak wynika z nazwy,
instrukcja ta sªu»y do kopiowania, a nie przenoszenia elementów .
add, sub - dodawanie i odejmowanie.
Przykªad: subl $10, %edx - odj¦cie 10 od warto±ci znajduj¡cej si¦ w
rejestrze edx.
inc , dec - inkrementacja i dekrementacja (o 1).

Znacznie wi¦cej mnemoników, mo»na znale»¢ TUTAJ.

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 19 / 32
Asembler Pisanie programów

Jak pisa¢ programy w asemblerze pod Windows?


Edytor tekstu, mog¡cy zapisywa¢ pliki formatu TXT (bez
formatowania), na przykªad Programmer's File Editor, Quick Editor,
The Gun (wszystkie s¡ na www.movsd.com) czy zwykªy Notatnik.
Kompilator j¦zyka asembler (patrz dalej).
Odpowiedni program ª¡cz¡cy (kosolidator, ang. linker), chyba »e
kompilator ma ju» taki wbudowany, jak na przykªad A86, NASM lub
FASM (patrz dalej).

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 20 / 32
Asembler Pisanie programów

Jak pisa¢ programy w asemblerze pod Windows?


Edytor tekstu, mog¡cy zapisywa¢ pliki formatu TXT (bez
formatowania), na przykªad Programmer's File Editor, Quick Editor,
The Gun (wszystkie s¡ na www.movsd.com) czy zwykªy Notatnik.
Kompilator j¦zyka asembler (patrz dalej).
Odpowiedni program ª¡cz¡cy (kosolidator, ang. linker), chyba »e
kompilator ma ju» taki wbudowany, jak na przykªad A86, NASM lub
FASM (patrz dalej).

Jak pisa¢ programy w asemblerze pod Linux?


Edytor tekstu, mog¡cy zapisywa¢ pliki tekstowe (bez formatowania),
na przykªad VIM, LPE, Emacs/XEmacs, Joe, Pico, Jed, Kate, KWrite.
Kompilator j¦zyka asembler (patrz dalej).
Odpowiedni program ª¡cz¡cy (konsolidator, ang. linker), chyba »e
kompilator ma ju» taki wbudowany, jak na przykªad FASM.

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 20 / 32
Asembler Kompilowanie (asemblowanie) programów

Jak kompilowa¢ programy w asemblerze pod Windows?


Istnieje wiele kompilatorów j¦zyka asembler. Do najpopularniejszych
nale»¡ Turbo asembler rmy Borland, Microsoft Macro asembler
(MASM), Netwide asembler Project (NASM), A86/A386, NBASM,
FASM, HLA.

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 21 / 32
Asembler Kompilowanie (asemblowanie) programów

Jak kompilowa¢ programy w asemblerze pod Windows?


Istnieje wiele kompilatorów j¦zyka asembler. Do najpopularniejszych
nale»¡ Turbo asembler rmy Borland, Microsoft Macro asembler
(MASM), Netwide asembler Project (NASM), A86/A386, NBASM,
FASM, HLA.

Jak kompilowa¢ programy w asemblerze pod Linux?


Istnieje wiele kompilatorów j¦zyka asembler pod Linuksa. Do
najpopularniejszych nale»¡ Netwide Asembler Project (NASM), Flat
Asembler (FASM), High-Level Asembler (HLA) i Gnu As.

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 21 / 32
Asembler Wiele procesorów, wiele asemblerów

Ze wzgl¦du na du»¡ liczb¦ ró»nych procesorów istnieje wiele asemblerów,


do programowania ka»dej z rodzin procesorów. W przypadku procesorów
rodziny x86 istnieje wyª¡cznie jeden j¦zyk asemblera, ale jest du»o
kompilatorów tego j¦zyka (np. NASM).

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 22 / 32
Asembler Wiele procesorów, wiele asemblerów

Ze wzgl¦du na du»¡ liczb¦ ró»nych procesorów istnieje wiele asemblerów,


do programowania ka»dej z rodzin procesorów. W przypadku procesorów
rodziny x86 istnieje wyª¡cznie jeden j¦zyk asemblera, ale jest du»o
kompilatorów tego j¦zyka (np. NASM).
Czym ró»ni¡ si¦ poszczególne asemblery?

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 22 / 32
Asembler Wiele procesorów, wiele asemblerów

Ze wzgl¦du na du»¡ liczb¦ ró»nych procesorów istnieje wiele asemblerów,


do programowania ka»dej z rodzin procesorów. W przypadku procesorów
rodziny x86 istnieje wyª¡cznie jeden j¦zyk asemblera, ale jest du»o
kompilatorów tego j¦zyka (np. NASM).
Czym ró»ni¡ si¦ poszczególne asemblery?
konwencjami skªadniowymi np.:
etykieta ko«czy si¦ spacj¡, komentarz zaczyna si¦ spacj¡ (asembler
S/360)
etykieta ko«czy si¦ dwukropkiem, komentarz zaczyna sie ±rednikiem
(asembler 8080)

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 22 / 32
Asembler Wiele procesorów, wiele asemblerów

Ze wzgl¦du na du»¡ liczb¦ ró»nych procesorów istnieje wiele asemblerów,


do programowania ka»dej z rodzin procesorów. W przypadku procesorów
rodziny x86 istnieje wyª¡cznie jeden j¦zyk asemblera, ale jest du»o
kompilatorów tego j¦zyka (np. NASM).
Czym ró»ni¡ si¦ poszczególne asemblery?
konwencjami skªadniowymi np.:
etykieta ko«czy si¦ spacj¡, komentarz zaczyna si¦ spacj¡ (asembler
S/360)
etykieta ko«czy si¦ dwukropkiem, komentarz zaczyna sie ±rednikiem
(asembler 8080)
symbolik¡ mnemoników (nawet w tej samej lub podobnej
architekturze):
mnemonik MOV (asembler 8080)
mnemonik LD (asmebler Z80)

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 22 / 32
Asembler Wiele procesorów, wiele asemblerów

Ze wzgl¦du na du»¡ liczb¦ ró»nych procesorów istnieje wiele asemblerów,


do programowania ka»dej z rodzin procesorów. W przypadku procesorów
rodziny x86 istnieje wyª¡cznie jeden j¦zyk asemblera, ale jest du»o
kompilatorów tego j¦zyka (np. NASM).
Czym ró»ni¡ si¦ poszczególne asemblery?
konwencjami skªadniowymi np.:
etykieta ko«czy si¦ spacj¡, komentarz zaczyna si¦ spacj¡ (asembler
S/360)
etykieta ko«czy si¦ dwukropkiem, komentarz zaczyna sie ±rednikiem
(asembler 8080)
symbolik¡ mnemoników (nawet w tej samej lub podobnej
architekturze):
mnemonik MOV (asembler 8080)
mnemonik LD (asmebler Z80)
sposobem interpretacji argumetnów, np.:
konwencja Intel (z prawa na lewo) - MOV AX, BX
konwencja AT&T (z lewa na prawo) - MOV BX, AX
Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 22 / 32
Ró»nice mi¦dzy skªadniami Intel a AT&T

O przykªadach z prezentacji:
Intel AT&T
kod - asembler kod - asembler, wstawki w j¦zyku C
kompilator - NASM kompilator - gcc
nasm -f elf64 plik.asm gcc -S -fverbose-asm plik.c -o plik.s
-f elf kompiluje plik na 32 bitowy plik wygeneruje nam plik aseblerowy z pliku ¹ró-
dªowego c.
wykonywalny Executable-Linkable Format gcc -c plik.s
dla systemów 64 bitówych zapisujemy -f elf64 aga -m64 dla systemow 64 bitowych
linker - ld ld -o plik plik.o

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 23 / 32
Ró»nice mi¦dzy skªadniami Intel a AT&T Kolejno±¢ (kierunek) operandów

AT&T
™ródªo jest zawsze po lewej stronie(pierwsze), a cel zawsze po prawej
(drugi). Zalet¡ jasna sytuacja. Taka kolejno±¢, jest naturalna.

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 24 / 32
Ró»nice mi¦dzy skªadniami Intel a AT&T Kolejno±¢ (kierunek) operandów

AT&T
™ródªo jest zawsze po lewej stronie(pierwsze), a cel zawsze po prawej
(drugi). Zalet¡ jasna sytuacja. Taka kolejno±¢, jest naturalna.

Intel
Notacja odwrotna.

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 24 / 32
Ró»nice mi¦dzy skªadniami Intel a AT&T Kolejno±¢ (kierunek) operandów

AT&T
™ródªo jest zawsze po lewej stronie(pierwsze), a cel zawsze po prawej
(drugi). Zalet¡ jasna sytuacja. Taka kolejno±¢, jest naturalna.

Intel
Notacja odwrotna.

Intel AT&T)
instr cel, ¹ródªo instr ¹ródªo, cel
ªadowanie do rej EBX warto±ci z rej EAX
mov ebx, eax movl %eax, %ebx
ªadowanie do rejestru ECX, staªej
mov ecx, 10h movl $16, %ecx
mno»enie: EBX = ECX * 22
mul ebx, ecx, 22 mul $22, %ecx, %ebx

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 24 / 32
Ró»nice mi¦dzy skªadniami Intel a AT&T Preksy

W skªadni Intela nie ma preksów przed rejestrami. W AT&T takowy


wyst¦puje: przed rejestrami wstawiamy znak %.

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 25 / 32
Ró»nice mi¦dzy skªadniami Intel a AT&T Preksy

W skªadni Intela nie ma preksów przed rejestrami. W AT&T takowy


wyst¦puje: przed rejestrami wstawiamy znak %.
Przykªad
Intel AT&T
eax, ebx, cs %eax, %ebx, %cs
cr0, dr0, tr6, %cr0, %db0, %tr6
st(0)/st0 % st(0)

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 25 / 32
Ró»nice mi¦dzy skªadniami Intel a AT&T Preksy

W skªadni Intela nie ma preksów przed rejestrami. W AT&T takowy


wyst¦puje: przed rejestrami wstawiamy znak %.
Przykªad
Intel AT&T
eax, ebx, cs %eax, %ebx, %cs
cr0, dr0, tr6, %cr0, %db0, %tr6
st(0)/st0 % st(0)

Podobna sytuacja wyst¦puje w przypadku warto±ci wpisywanych


bezpo±rednio w kodzie. Skªadnia Intela nie posiada preksu, natomiast dla
AT&T przed warto±ciami wpisywanymi bezpo±rednio wstawiamy znak $.

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 25 / 32
Ró»nice mi¦dzy skªadniami Intel a AT&T Preksy

W skªadni Intela nie ma preksów przed rejestrami. W AT&T takowy


wyst¦puje: przed rejestrami wstawiamy znak %.
Przykªad
Intel AT&T
eax, ebx, cs %eax, %ebx, %cs
cr0, dr0, tr6, %cr0, %db0, %tr6
st(0)/st0 % st(0)

Podobna sytuacja wyst¦puje w przypadku warto±ci wpisywanych


bezpo±rednio w kodzie. Skªadnia Intela nie posiada preksu, natomiast dla
AT&T przed warto±ciami wpisywanymi bezpo±rednio wstawiamy znak $.
Przykªad
Intel AT&T
12345 $12345
4 $4

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 25 / 32
Ró»nice mi¦dzy skªadniami Intel a AT&T Preksy

Wi¦cej o warto±ciach wpisywanych bezpo±rednio - notacje.

Intel AT&T (zasady te same co w j¦zyku C)


Dane zapisane w notacji heskadecymlnej
suks: 'h'
preks:'0', je±li pierwszym znakiem jest litera preks: '0x' lub '0X'
(128 → 80h (128) → $0x80
(255) → 0h (255) → $0x
Dane zapisane w notacji oktalnej
suks: 'o' preks: '0'
(200) → 310o (200) → $0310
Dane zapisane w notacji binarnej
suks: 'b' preks: '0b'
(170) → 10101010b 170 → 0b10101010

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 26 / 32
Ró»nice mi¦dzy skªadniami Intel a AT&T Adresowanie

Operandy zwi¡zanie z pami¦ci¡ - adresowanie.

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 27 / 32
Ró»nice mi¦dzy skªadniami Intel a AT&T Adresowanie

Operandy zwi¡zanie z pami¦ci¡ - adresowanie.


AT&T
Rejestr bazowy zawarty w '(' i ')'.

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 27 / 32
Ró»nice mi¦dzy skªadniami Intel a AT&T Adresowanie

Operandy zwi¡zanie z pami¦ci¡ - adresowanie.


AT&T
Rejestr bazowy zawarty w '(' i ')'.

Intel
Rejestr bazowy jest zawarty w '[' i ']'.

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 27 / 32
Ró»nice mi¦dzy skªadniami Intel a AT&T Adresowanie

Operandy zwi¡zanie z pami¦ci¡ - adresowanie.


AT&T
Rejestr bazowy zawarty w '(' i ')'.

Intel
Rejestr bazowy jest zawarty w '[' i ']'.

Intel AT&T
zaªadowanie do EAX warto±ci której adresem jest warto±¢ w EBX
mov eax, [ebx] movl (%ebx), %eax
zaªadowanie do EAX warto±ci o adresie: warto±¢ EBX + 3
mov eax, [ebx+3] movl 3(%ebx), %eax

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 27 / 32
Ró»nice mi¦dzy skªadniami Intel a AT&T Adresowanie

Adresowanie zªo»one.

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 28 / 32
Ró»nice mi¦dzy skªadniami Intel a AT&T Adresowanie

Adresowanie zªo»one.
AT&T
Instrukcje bywaj¡ zawiªe, niejasne.

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 28 / 32
Ró»nice mi¦dzy skªadniami Intel a AT&T Adresowanie

Adresowanie zªo»one.
AT&T
Instrukcje bywaj¡ zawiªe, niejasne.

Intel
Przejrzysta forma.

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 28 / 32
Ró»nice mi¦dzy skªadniami Intel a AT&T Adresowanie

Adresowanie zªo»one.
AT&T
Instrukcje bywaj¡ zawiªe, niejasne.

Intel
Przejrzysta forma.

Intel AT&T
segreg:[base+index*scale(±)disp] %segreg:disp(base,index,scale)
base - rejestr bazowy, jeden z: EAX, EBX, ECX, EDX, ESI, EDI, EBP, ESP
index - rejestr indeksowy, jeden z: EAX, EBX, ECX, EDX, ESI, EDI, EBP, (bez ESP)
scale - mno»nik = 1, 2, 4 lub 8 (domy±lnie przyjmuje warto±¢ 1)
disp - liczba
segreg - zale»y od instrukcji i od tego czy aplikacja dziaªa w real mode lub pmode (w
pierwszym przypadku segreg zale»y od instrukcji, w drugim niekoniecznie)
index/scale/disp/segreg s¡ opcjonalne i mog¡ by¢ pomini¦te

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 28 / 32
Ró»nice mi¦dzy skªadniami Intel a AT&T Adresowanie

Intel AT&T
instr foo,segreg:[base+index*scale+disp] instr %segreg:disp(base,index,scale),foo
mov eax, [ebx+20h] movl 0x20 (%ebx), %eax
add eax, [ebx+ecx*2h] addl (%ebx,%ecx,0x2), %eax
lea eax, [ebx+ecx] leal (%ebx, %ecx), %eax
sub eax, [ebx+ecx*4h-20h] subl -0x20(%ebx, %ecx, 0x4). %eax

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 29 / 32
Ró»nice mi¦dzy skªadniami Intel a AT&T Suksy - przyrostki rozmiarowe, i dyrektywy rozmiarowe

AT&T
Mnemoniki maj¡ suksy. Oznaczaj¡ one rozmiar operandu. l - long, w -
word, b - byte.

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 30 / 32
Ró»nice mi¦dzy skªadniami Intel a AT&T Suksy - przyrostki rozmiarowe, i dyrektywy rozmiarowe

AT&T
Mnemoniki maj¡ suksy. Oznaczaj¡ one rozmiar operandu. l - long, w -
word, b - byte.

Intel
Okre±la rozmiar na podstawie rejestru docelowego, ale potrzebne dyrektywy
u»ywane przy operandach zwi¡zanych z pami¦ci¡, np: byte ptr, word ptr,
dword ptr.

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 30 / 32
Ró»nice mi¦dzy skªadniami Intel a AT&T Suksy - przyrostki rozmiarowe, i dyrektywy rozmiarowe

Rozmiar Intel (dyrektywy) AT&T (suksy mnemoników)


8 - bitów byte 'b'
16 - bitów word 'w'
's' (od short - 16 bitów dla caªkowitoliczbo-
wych (integer))
32 - bity dword (double word) 'l' (od long - 32 bity (integer))
's' (od single - 32 bity dla zmiennopozycyj-
nych (oating point))
64 - bity qword (quad word) 'q' (od quad - 64 bity (integer))
'l' (od long - 64 bity (oating point))
80 - bitów tbyte (ten bytes) 't'

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 31 / 32
Ró»nice mi¦dzy skªadniami Intel a AT&T Suksy - przyrostki rozmiarowe, i dyrektywy rozmiarowe

Rozmiar Intel (dyrektywy) AT&T (suksy mnemoników)


8 - bitów byte 'b'
16 - bitów word 'w'
's' (od short - 16 bitów dla caªkowitoliczbo-
wych (integer))
32 - bity dword (double word) 'l' (od long - 32 bity (integer))
's' (od single - 32 bity dla zmiennopozycyj-
nych (oating point))
64 - bity qword (quad word) 'q' (od quad - 64 bity (integer))
'l' (od long - 64 bity (oating point))
80 - bitów tbyte (ten bytes) 't'

Przykªad
Rozmiar Intel (dyrektywy) AT&T (suksy mnemoników)
8 - bitów mov al, bl movb %bl, %al
16 - bitów mov ax, bx movw %bx, %ax
32 - bity mov eax, ebx movl %ebx, %eax
32 - bity mov eax, dword ptr [ebx] movl (%ebx), %eaxc

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 31 / 32
Ró»nice mi¦dzy skªadniami Intel a AT&T

Dzi¦kujemy za uwag¦!

Marek N¦dza, Krzysztof ›ygªowicz Porównanie skªadni INTEL oraz AT&T 27 marca 2013 32 / 32

You might also like