Suche senden
Hochladen
Progressbar - Úvod do x86 strojového kódu a assembleru
•
Als ODP, PDF herunterladen
•
0 gefällt mir
•
72 views
V
vid512
Folgen
Technologie
Melden
Teilen
Melden
Teilen
1 von 39
Jetzt herunterladen
Empfohlen
Úvod do x86 strojového kódu a assembleru
Úvod do x86 strojového kódu a assembleru
idiftl
Návod zotavenie
Návod zotavenie
Michaela Bačíková
Prezentácia (časti počítača von neumanovského typu, ich klasifikácia)
Prezentácia (časti počítača von neumanovského typu, ich klasifikácia)
prievoznik_m
2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
Marius Sescu
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
Empfohlen
Úvod do x86 strojového kódu a assembleru
Úvod do x86 strojového kódu a assembleru
idiftl
Návod zotavenie
Návod zotavenie
Michaela Bačíková
Prezentácia (časti počítača von neumanovského typu, ich klasifikácia)
Prezentácia (časti počítača von neumanovského typu, ich klasifikácia)
prievoznik_m
2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
Marius Sescu
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
Skeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
Introduction to Data Science
Introduction to Data Science
Christy Abraham Joy
Time Management & Productivity - Best Practices
Time Management & Productivity - Best Practices
Vit Horky
The six step guide to practical project management
The six step guide to practical project management
MindGenius
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Applitools
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
GetSmarter
ChatGPT webinar slides
ChatGPT webinar slides
Alireza Esmikhani
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
Project for Public Spaces & National Center for Biking and Walking
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
DevGAMM Conference
Weitere ähnliche Inhalte
Empfohlen
Skeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
Introduction to Data Science
Introduction to Data Science
Christy Abraham Joy
Time Management & Productivity - Best Practices
Time Management & Productivity - Best Practices
Vit Horky
The six step guide to practical project management
The six step guide to practical project management
MindGenius
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Applitools
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
GetSmarter
ChatGPT webinar slides
ChatGPT webinar slides
Alireza Esmikhani
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
Project for Public Spaces & National Center for Biking and Walking
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
DevGAMM Conference
Empfohlen
(20)
Skeleton Culture Code
Skeleton Culture Code
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Getting into the tech field. what next
Getting into the tech field. what next
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
How to have difficult conversations
How to have difficult conversations
Introduction to Data Science
Introduction to Data Science
Time Management & Productivity - Best Practices
Time Management & Productivity - Best Practices
The six step guide to practical project management
The six step guide to practical project management
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
ChatGPT webinar slides
ChatGPT webinar slides
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Progressbar - Úvod do x86 strojového kódu a assembleru
1.
Úvod do x86
strojového kódu a assembleru Nudný ale nevyhnutný
2.
3.
Kvalitná znalosť vyžaduje
aspoň nejaké využívanie
4.
Využívanie neznamená len
programovanie v ňom
5.
6.
Driver / system
level programming
7.
Copy protection
8.
Machine code manipulation
(compiler, packer, analyzer...)
9.
????
10.
Profit
11.
12.
80286 (chránený mód)
13.
80386 (32-bitový chránený
mód + množstvo nových fičúr)
14.
X86-64
15.
Rozšírené inštrukčné sady:
FPU (x87), MMX, SSE, SSE2, SSE3, SSSE3, SSE4, SSE5, VMX, SMX, SVM, AVX, XOP, ...
16.
“Chrbtica” x86 Všetko
ostatné (nie naozaj) CPU Northbridge RAM Video RAM ŔOM Southbridge
17.
18.
Stačí nám zvládnuť
základné operácie a prácu s pamäťou
19.
20.
CPU ich číta
a vykonáva
21.
Principiálne sa ničím
nelíšia od bežných dát v pamäti
22.
DOS program na
riešenie sudoku (62 bytov):
23.
B4 3F 8B
D5 CD 21 91 43 88 02 4E 78 F7 B8 31 40 80 3A 2E 75 F5 8B F9 4F 60 78 ED 38 03 75 11 97 D4 13 6B C0 0B 96 43 7B F7 33 C6 A9 C0 E0 7E 02 F6 E4 61 70 E2 C6 02 2E 3C 39 74 F6 EB D1
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
Mnemonics –
udáva základnú operáciu ktorá sa vykoná
34.
35.
Cieľový (destination) operand
prvý
36.
Niektoré inštrukcie majú
implicitný operand
37.
38.
39.
40.
41.
Existuje niekoľko možností
ako ich reprezentovať v binárnej forme
42.
43.
Horný bit udáva
znamienko
44.
Podtečenie: najmenšia
hodnota – 1 = najväčšia hodnota
45.
Pretečenie : najväčšia
hodnota +1 = najväčšia hodnota
46.
Two's complement 00000001
(1) - 00000001 (1) 00000000 (0) 00000010 (2) - 00000001 (1) 00000001 (1) 00000111 (7) - 00000010 (2) 00000101 (5) 00000000 (0) - 00000001 (1) 11111111 (255) 00000000 (0) - 00000010 (1) 11111110 (254) 00000011 (3) + 11111111 (255) 00000010 (2)
47.
48.
49.
50.
Adresovaná 32-bitovým číslom,
toto udáva pozíciu (index) bytu v “poli”.
51.
Nieje možné pristupovať
k dvom miestam v pamäti vrámci jednej inštrukcie
52.
53.
54.
mov [2], al
55.
add [0], eax
56.
xor esp, [20]
57.
mov [30], [29]
- neexistuje
58.
sub [0], [1]
- neexistuje
59.
60.
16-bit
- word
61.
32-bit
- dword (double word)
62.
63.
byty 11h, 22h,
33h, 44h = dword 44332211h
64.
65.
66.
67.
mov al, byte
[esi-1]
68.
69.
base
- ľubovolný register
70.
scale
- konštanta 1, 2, 4, alebo 8
71.
index
- ľubovolný register
72.
73.
[eax + eax]
= [2*eax]
74.
[8*eax]
75.
[3*ebx + 3]
= [ebx + 2*ebx + 3]
76.
77.
jmp dword [200]
78.
jmp eax
79.
80.
…
81.
koniec:
82.
83.
Každý z jeho
bitov má samostatný význam
84.
Nečítame ani nezapisujeme
ho priamo
85.
Nastavuje sa podľa
výsledku (nielen) aritmetických inštrukcii
86.
87.
88.
89.
sub al, 1
CF=1, OF=0, SF=1
90.
mov al, 0
91.
add al, 11111111b
CF=0, OF=1, SF=1
92.
mov al, 0
93.
sub al, 11111111b
CF=1, OF=1, SF=0
94.
95.
JNC (jump if
not carry) - CF=0
96.
JO (jump if
overflow) - OF=1
97.
JNO (jump if
not overflow) - OF=0
98.
JS (jump if
signed) - SF=1
99.
JNS (jump if
not signed) - SF=0
100.
JZ (jump if
zero) - ZF=1
101.
JNZ (jump if
not zero) - ZF=0
102.
103.
104.
Nastaví flagy pre
špeciálne skoky
105.
106.
cmp eax, dword
[4]
107.
cmp byte [eax],
dl
108.
cmp ecx, 30
109.
110.
JBE – jump
if 1 st operand below or equal to 2 nd
111.
JE – jump
if 1 st operand equal to 2 nd
112.
JAE – jump
if 1 st operand above or equal to 2 nd
113.
114.
115.
JLE – jump
if 1 st operand lower than or equal to 2 nd
116.
JE – jump
if 1 st operand equal to 2 nd
117.
JGE – jump
if 1 st operand greater than or equal to 2 nd
118.
119.
120.
121.
mov edi, retazec2
122.
porovnaj:
123.
mov al, byte
[esi] ;nacitaj znak prveho
124.
cmp byte [edi],
al ;porovnaj so znakom
125.
;druheho
126.
ja druhy_vacsi
;znak druheho vacsi?
127.
jb prvy_vacsi
;znak druheho mensi?
128.
inc esi
;ak su rovnake, posun
129.
inc edi
;na dalsi znak
130.
jmp porovnaj
;a repete
131.
132.
Syntax zápisu inštrukcii
sa medzi rôznymi assemblermi viac či menej odlišuje
133.
Z toho prenesene
“assembler” ako označenie niektorej konkrétnej syntaxe
134.
V širokom zmysle
sa “assembler” používa aj ako označenie ľubovolnej syntaxe ktorá reprezentuje priamo strojový kód
135.
136.
137.
GoAsm, HLA (High
Level Assembly), RosAsm
138.
139.
http://board.flatassembler.net (FASM)
140.
http://www.masm32.com/board/ (MASM)
141.
Newsgroups: alt.lang.asm, comp.lang.x86.asm
142.
143.
Procedúry
144.
Volacie štandardy (stdcall,
ccall, fastcall, vararg)
145.
Ďalšie “prídavné” inštrukcie
146.
Čo ma ešte
napadne
147.
Socializácia
148.
vid (nie 'Vid')
[email_address]
Jetzt herunterladen