10: Smalamálsforritun Flashcards

1
Q

Gagnaflutningsskipunin mov er til í nokkrum útgáfum :

A

Eftir því hversu mörg bæti mov flytur

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

movb

A

Flytja eitt bæti

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

movw

A

Flytja eitt orð (2 bæti)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

movl

A

Flytja eitt tvíorð (4 bæti)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

movq

A

Flytja eitt fjórorð (8 bæti)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

0x

A

Hex tala

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Ekki 0x

A

Tugatala

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

movb $-17, (%esp)

A

Setja töluna -17 í hólf sem esp bendir á, movb segir okkur að þetta sé 1 bæti

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Svigi og ekki svigi

A

Ekki svigi : Setja í gistið sjálft
Svigi : Setja í hólf sem () bendir á

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

movq %rax, -12(%rbp)

A

Færum %rax í það sem rbp bendir á en bætum -12 við það sem rbp bendir á, movq segir að við séum að fara átta bæti

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Viðföng geta verið ?

A

gisti eða minnisvistfang

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Þegar minna gildi er flutt yfir í stærra hólf þá þarf að
víkka (extend) gildið

A

Núllvíkkun: Bæta 0-um fremst
Formerkisvíkkun: Bæta gildi formerkisbita fremst

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

movzsd

A

Núllvíkkun (move zero)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

movssd

A

Formerkisvíkkun (move sign)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

s getur verið

A

b, w eða l (bæti,word eða long word)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

d getur verið

A

w, l, q

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

movzbl (%rax), %eax

A

1 bæti verður að fjórum bætum
núllvíkkka

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

movzwq %dx, (%rsp,%rdx)

Hvert ert gistið?

A

Innið haldið á rsp plús innihaldið á rdx mynda gistið

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

leaq

A

Skipun sem reiknar vistföng

Load Effective Address Quadword

20
Q

Notkun á leaq

A

Reikna vistföng án minnistilvísunar

Reikna reiknisegðir af gerðinni x + k*y

21
Q

addq (Src,Dest)

A

Dest = Dest + Src

22
Q

subq (Src,Dest)

A

Dest = Dest - Src

23
Q

imulq (Src,Dest)

A

Dest = Dest * Src

24
Q

salq (Src,Dest)

A

Dest = Dest &laquo_space;Src

25
Q

sarq (Src,Dest)

A

Dest = Dest&raquo_space; Src

Formerkisbiti

26
Q

shrq (Src,Dest)

A

Dest = Dest&raquo_space; Src

Alltaf núll

27
Q

xorq (Src,Dest)

A

Dest = Dest ^ Src

28
Q

andq (Src,Dest)

A

Dest = Dest & Src

29
Q

orq (Src,Dest)

A

Dest = Dest | Src

30
Q

incq (Dest)

A

Dest = Dest + 1

31
Q

decq

A

Dest = Dest - 1

32
Q

negq

A

Dest = − Dest

Neita, tvíandhverfa

33
Q

notq

A

Dest = ~Dest

Flippa öllum bitunum

34
Q

rdi

A

fyrsta viðfangið

35
Q

rsi

A

annað viðfangið

36
Q

rdx

A

þriðja viðfangið

37
Q

Frá C yfir í keyrslukóða

þýða Forrit í skrám p1.c p2.c

A

Þýða með skipuninni: gcc –Og p1.c p2.c -o p

38
Q

Compiler Explorer (godbolt.org) leyfir okkur að?

A

Skoða smalamálskóða mismunandi þýðenda:

39
Q

Línur sem byrja á “.” eru ?

A

tilskipanir (directives) tengiforritsins (linker) og
segja m.a. til um skipulag stefsins og hvernig það notar minni

40
Q

Hvað er skipunin endbr64 ?

A

Þetta er öryggisráðstöfun til að tryggja að hopp geti ekki stokkið inn í miðjar skipanir.

Hægt að slökkva á þessu með gcc rofanum
-fcf-protection=none

41
Q

Hvað gerir Smali (assembler)?

A

Þýðir .s yfir í .o

Breytir smalamálskóða yfir í vélamálskóða

42
Q

Hvað gerir Tengir (linker)?

A

Leysir úr tilvísunum á milli skráa
Tengir við keyrsluforritasöfn

43
Q

Afsmali (disassembler)

A

Breytir vélarmálskóða yfir í smalamálskóða

44
Q

objdump –d sum

A

Afsmali

Hægt að keyra á a.out (keyrsluskrá) eða .o skrá

45
Q

Líkt hægt að afsmala með?

A

gdb