This is an old revision of the document!
Table of Contents
Analytical Modeling of System Temperature
Results
nops test
Essentially this is a while loop with a nop
in it
08048394 <main>: 8048394: 8d 4c 24 04 lea 0x4(%esp),%ecx 8048398: 83 e4 f0 and $0xfffffff0,%esp 804839b: ff 71 fc pushl -0x4(%ecx) 804839e: 55 push %ebp 804839f: 89 e5 mov %esp,%ebp 80483a1: 51 push %ecx 80483a2: 83 ec 10 sub $0x10,%esp 80483a5: c7 45 f8 00 00 00 00 movl $0x0,-0x8(%ebp) 80483ac: 90 nop 80483ad: eb fd jmp 80483ac <main+0x18> 80483af: 90 nop
int add test
Essentially this is a while loop with a x++
in it
08048394 <main>: 8048394: 8d 4c 24 04 lea 0x4(%esp),%ecx 8048398: 83 e4 f0 and $0xfffffff0,%esp 804839b: ff 71 fc pushl -0x4(%ecx) 804839e: 55 push %ebp 804839f: 89 e5 mov %esp,%ebp 80483a1: 51 push %ecx 80483a2: 83 ec 10 sub $0x10,%esp 80483a5: c7 45 f8 00 00 00 00 movl $0x0,-0x8(%ebp) 80483ac: 83 45 f8 01 addl $0x1,-0x8(%ebp) 80483b0: eb f3 jmp 80483a5 <main+0x11> 80483b2: 90 nop 80483b3: 90 nop 80483b4: 90 nop 80483b5: 90 nop 80483b6: 90 nop 80483b7: 90 nop 80483b8: 90 nop 80483b9: 90 nop 80483ba: 90 nop 80483bb: 90 nop 80483bc: 90 nop 80483bd: 90 nop 80483be: 90 nop 80483bf: 90 nop
int sub test
Essentially this is a while loop with a x–
in it
08048394 <main>: 8048394: 8d 4c 24 04 lea 0x4(%esp),%ecx 8048398: 83 e4 f0 and $0xfffffff0,%esp 804839b: ff 71 fc pushl -0x4(%ecx) 804839e: 55 push %ebp 804839f: 89 e5 mov %esp,%ebp 80483a1: 51 push %ecx 80483a2: 83 ec 10 sub $0x10,%esp 80483a5: c7 45 f8 02 00 00 00 movl $0x2,-0x8(%ebp) 80483ac: 83 6d f8 01 subl $0x1,-0x8(%ebp) 80483b0: eb f3 jmp 80483a5 <main+0x11> 80483b2: 90 nop 80483b3: 90 nop 80483b4: 90 nop 80483b5: 90 nop 80483b6: 90 nop 80483b7: 90 nop 80483b8: 90 nop 80483b9: 90 nop 80483ba: 90 nop 80483bb: 90 nop 80483bc: 90 nop 80483bd: 90 nop 80483be: 90 nop 80483bf: 90 nop
int mul test
Essentially this is a while loop which takes two integers (x=54;y=82;
) and multiplies them (z=x*y
).
08048394 <main>: 8048394: 8d 4c 24 04 lea 0x4(%esp),%ecx 8048398: 83 e4 f0 and $0xfffffff0,%esp 804839b: ff 71 fc pushl -0x4(%ecx) 804839e: 55 push %ebp 804839f: 89 e5 mov %esp,%ebp 80483a1: 51 push %ecx 80483a2: 83 ec 10 sub $0x10,%esp 80483a5: c7 45 f8 36 00 00 00 movl $0x36,-0x8(%ebp) 80483ac: c7 45 f4 52 00 00 00 movl $0x52,-0xc(%ebp) 80483b3: 8b 45 f8 mov -0x8(%ebp),%eax 80483b6: 0f af 45 f4 imul -0xc(%ebp),%eax 80483ba: 89 45 f0 mov %eax,-0x10(%ebp) 80483bd: eb e6 jmp 80483a5 <main+0x11> 80483bf: 90 nop
int div test
Essentially this is a while loop which takes two integers (x=54;y=82;
) and multiplies them (z=y/x
).
08048394 <main>: 8048394: 8d 4c 24 04 lea 0x4(%esp),%ecx 8048398: 83 e4 f0 and $0xfffffff0,%esp 804839b: ff 71 fc pushl -0x4(%ecx) 804839e: 55 push %ebp 804839f: 89 e5 mov %esp,%ebp 80483a1: 51 push %ecx 80483a2: 83 ec 18 sub $0x18,%esp 80483a5: c7 45 f8 36 00 00 00 movl $0x36,-0x8(%ebp) 80483ac: c7 45 f4 52 00 00 00 movl $0x52,-0xc(%ebp) 80483b3: 8b 45 f4 mov -0xc(%ebp),%eax 80483b6: 89 45 e4 mov %eax,-0x1c(%ebp) 80483b9: 8b 55 e4 mov -0x1c(%ebp),%edx 80483bc: 89 d0 mov %edx,%eax 80483be: c1 fa 1f sar $0x1f,%edx 80483c1: f7 7d f8 idivl -0x8(%ebp) 80483c4: 89 45 f0 mov %eax,-0x10(%ebp) 80483c7: eb dc jmp 80483a5 <main+0x11> 80483c9: 90 nop 80483ca: 90 nop 80483cb: 90 nop 80483cc: 90 nop 80483cd: 90 nop 80483ce: 90 nop 80483cf: 90 nop