Assembly Language for Beginners
1.19. FLOATING-POINT UNIT _a$ = 8 ; size = 8 _b$ = 16 ; size = 8 _f PROC push ebp mov ebp, esp fld QWORD PTR _a$[ebp] ; current ...
1.19. FLOATING-POINT UNIT MSVC + OllyDbg 2 pairs of 32-bit words are marked by red in the stack. Each pair is a double-number in ...
1.19. FLOATING-POINT UNIT Let’s trace further.FDIVhas been executed, nowST(0)contains 0.382...(quotient): Figure 1.63:OllyDbg:FD ...
1.19. FLOATING-POINT UNIT Third step: the nextFLDhas been executed, loading 3.4 intoST(0)(here we see the approximate value 3.39 ...
1.19. FLOATING-POINT UNIT Next:FMULhas been executed, so now theproductis inST(0): Figure 1.65:OllyDbg: theFMULhas been executed ...
1.19. FLOATING-POINT UNIT Next: theFADDPhas been executed, now the result of the addition is inST(0), andST(1)is cleared: Figure ...
1.19. FLOATING-POINT UNIT GCC 4.4.1 (with-O3option) emits the same code, just slightly different: Listing 1.202: Optimizing GCC ...
1.19. FLOATING-POINT UNIT So, we see here new some registers used, with D prefix. These are 64-bit registers, there are 32 of th ...
1.19. FLOATING-POINT UNIT Of course, that is slower than FPU-coprocessor, but it’s still better than nothing. By the way, simila ...
1.19. FLOATING-POINT UNIT ; D0 = a/3.14 fmov d1, x0 ; D1 = X0 = b4.1 fadd d0, d0, d1 ; D0 = D0+D1 = a/3.14 + b4.1 fmov x0, d0 ; ...
1.19. FLOATING-POINT UNIT .rodata.cst8:000000B8 $LC0: .word 0x40091EB8 # DATA XREF: f+C .rodata.cst8:000000BC dword_BC: .word 0x ...
1.19. FLOATING-POINT UNIT FLDandFSTPmove variables between the data segment and the FPU stack.pow()^120 takes both values from t ...
1.19. FLOATING-POINT UNIT dword_528 DCD 0x40400147 ; DATA XREF: _main+10 a32_011_54Lf DCB "32.01 ^ 1.54 = %lf",0xA,0 ; DATA XREF ...
1.19. FLOATING-POINT UNIT lwc1 $f15, $LC1 ; call pow(): jalr $t9 or $at, $zero ; branch delay slot, NOP lw $gp, 0x20+var_10($sp) ...
1.19. FLOATING-POINT UNIT Listing 1.210: Non-optimizing MSVC 2010 PUBLIC _d_max _TEXT SEGMENT _a$ = 8 ; size = 8 _b$ = 16 ; size ...
1.19. FLOATING-POINT UNIT Now let’s talk about theparity flag, another notable historical rudiment. This flag is set to 1 if the ...
1.19. FLOATING-POINT UNIT First OllyDbg example: a=1.2 and b=3.4 Let’s load the example into OllyDbg: Figure 1.67:OllyDbg: first ...
1.19. FLOATING-POINT UNIT FCOMPhas been executed: Figure 1.68:OllyDbg:FCOMPhas been executed We see the state of theFPU’s condit ...
1.19. FLOATING-POINT UNIT FNSTSWhas been executed: Figure 1.69:OllyDbg:FNSTSWhas been executed We see that theAXregister contain ...
1.19. FLOATING-POINT UNIT TESThas been executed: Figure 1.70:OllyDbg:TESThas been executed ThePFflag is set to 1. Indeed: the nu ...
«
8
9
10
11
12
13
14
15
16
17
»
Free download pdf