Asum.ys
- ---Changes to memory and registers
Asum.ys ----Changes to memory and registers Ruiqin Tian 5.init: - - PowerPoint PPT Presentation
Asum.ys ----Changes to memory and registers Ruiqin Tian 5.init: irmovl Stack, %esp # Set up stack pointer ZF SF CF PC 6. irmovl Stack, %ebp # Set up base pointer 1 0 0 0xc address stack register 0X100 %esp, %ebp %eax 0Xfc
5.init: irmovl Stack, %esp # Set up stack pointer
address stack 0X100 %esp, %ebp 0Xfc 0Xf8 0xf4 0xf0 0xec register %eax %ecx %edx %ebx %esi %edi %esp 0X100 %ebp 0X100 PC 0xc ZF SF CF 1
2
address stack 0X100 %ebp 0Xfc %esp 0X11 0Xf8 0xf4 0xf0 0xec register %eax %ecx %edx %ebx %esi %edi %esp 0xfc %ebp 0X100 PC 0x24 ZF SF CF 1
3
address stack 0X100 %ebp 0Xfc 0X11 0Xf8 %esp 0X100 0xf4 0xf0 0xec register %eax %ecx %edx %ebx %esi %edi %esp 0Xf8 %ebp 0X100 PC 0x26 ZF SF CF 1
4
address stack 0X100 0Xfc 0X11 0Xf8 %esp, %ebp 0X100 0xf4 0xf0 0xec register %eax %ecx %edx %ebx %esi %edi %esp 0Xf8 %ebp 0Xf8 PC 0x28 ZF SF CF 1
5
address stack 0X100 0Xfc 0X11 0Xf8 %ebp 0X100 0xf4 %esp 4 0xf0 0xec
register %eax 4 %ecx %edx %ebx %esi %edi %esp 0Xf4 %ebp 0Xf8 PC 0x30 ZF SF CF 1
6
address stack 0X100 0Xfc 0X11 0Xf8 %ebp 0X100 0xf4 4 0xf0 %esp 0X14 0xec
register %eax 4 %ecx %edx 0X14 %ebx %esi %edi %esp 0Xf0 %ebp 0Xf8 PC 0x38 ZF SF CF 1
7
address stack 0X100 0Xfc 0X11 0Xf8 %ebp 0X100 0xf4 4 0xf0 0X14 0xec %esp 0X3d
register %eax 4 %ecx %edx 0X14 %ebx %esi %edi %esp 0Xec %ebp 0Xf8 PC 0x42 ZF SF CF 1
8
address stack 0X100 0Xfc 0X11 0Xf8 0X100 0xf4 4 0xf0 0X14 0xec 0X3d 0Xe8 %esp, %ebp 0Xf8
30.Sum: pushl %ebp
register %eax 4 %ecx %edx 0X14 %ebx %esi %edi %esp 0Xe8 %ebp 0Xe8 PC 0x46 ZF SF CF 1
9
address stack 0X100 0Xfc 0X11 0Xf8 0X100 0xf4 4 0xf0 0X14 0xec 0X3d 0Xe8 %esp, %ebp 0Xf8
register %eax 4 %ecx 0X14 %edx 4 %ebx %esi %edi %esp 0Xe8 %ebp 0Xe8 PC 0x52 ZF SF CF 1
10
address stack 0X100 0Xfc 0X11 0Xf8 0X100 0xf4 4 0xf0 0X14 0xec 0X3d 0Xe8 %esp, %ebp 0Xf8
# sum = 0
register %eax %ecx 0X14 %edx 4 %ebx %esi %edi %esp 0Xe8 %ebp 0Xe8 ZF SF CF PC 0x54
11
address stack 0X100 0Xfc 0X11 0Xf8 0X100 0xf4 4 0xf0 0X14 0xec 0X3d 0Xe8 %esp, %ebp 0Xf8
register %eax %ecx 0X14 %edx 4 %ebx %esi %edi %esp 0Xe8 %ebp 0Xe8 ZF SF CF 1 PC 0x56
12
address stack 0X100 0Xfc 0X11 0Xf8 0X100 0xf4 4 0xf0 0X14 0xec 0X3d 0Xe8 %esp, %ebp 0Xf8
register %eax %ecx 0X14 %edx 4 %ebx %esi %edi %esp 0Xe8 %ebp 0Xe8 ZF SF CF 1 PC 0x5b
13
address stack 0X100 0Xfc 0X11 0Xf8 0X100 0xf4 4 0xf0 0X14 0xec 0X3d 0Xe8 %esp, %ebp 0Xf8
37.Loop: mrmovl (%ecx),%esi # get *Start
register %eax %ecx 0X14 %edx 4 %ebx %esi 0Xd %edi %esp 0Xe8 %ebp 0Xe8 ZF SF CF 1 PC 0x61
14
address stack 0X100 0Xfc 0X11 0Xf8 0X100 0xf4 4 0xf0 0X14 0xec 0X3d 0Xe8 %esp, %ebp 0Xf8
#
register %eax 0Xd %ecx 0X14 %edx 4 %ebx 4 %esi 0Xd %edi %esp 0Xe8 %ebp 0Xe8 ZF SF CF 1 PC 0x69
15
address stack 0X100 0Xfc 0X11 0Xf8 0X100 0xf4 4 0xf0 0X14 0xec 0X3d 0Xe8 %esp, %ebp 0Xf8
# Start++
#
register %eax 0Xd %ecx 0X18 %edx 4 %ebx
%esi 0Xd %edi %esp 0Xe8 %ebp 0Xe8 ZF SF CF 1 PC 0x71
16
address stack 0X100 0Xfc 0X11 0Xf8 0X100 0xf4 4 0xf0 0X14 0xec 0X3d 0Xe8 %esp, %ebp 0Xf8
Loop
# Stop when 0
register %eax 0Xd %ecx 0X18 %edx 3 %ebx
%esi 0Xd %edi %esp 0Xe8 %ebp 0Xe8 ZF SF CF 1 PC 0x5b
17
address stack 0X100 0Xfc 0X11 0Xf8 0X100 0xf4 4 0xf0 0X14 0xec 0X3d 0Xe8 %esp, %ebp 0Xf8
register %eax 0Xcd %ecx 0X18 %edx 3 %ebx
%esi 0Xc0 %edi %esp 0Xe8 %ebp 0Xe8 ZF SF CF 1 PC 0x63
18
address stack 0X100 0Xfc 0X11 0Xf8 0X100 0xf4 4 0xf0 0X14 0xec 0X3d 0Xe8 %esp, %ebp 0Xf8
#
# Start++
register %eax 0Xcd %ecx 0X1c %edx 3 %ebx 4 %esi 0Xc0 %edi %esp 0Xe8 %ebp 0Xe8 ZF SF CF 1 PC 0x6b
19
address stack 0X100 0Xfc 0X11 0Xf8 0X100 0xf4 4 0xf0 0X14 0xec 0X3d 0Xe8 %esp, %ebp 0Xf8
#
# Count--
register %eax 0Xcd %ecx 0X1c %edx 2 %ebx
%esi 0Xc0 %edi %esp 0Xe8 %ebp 0Xe8 ZF SF CF 1 PC 0x73
20
address stack 0X100 0Xfc 0X11 0Xf8 0X100 0xf4 4 0xf0 0X14 0xec 0X3d 0Xe8 %esp, %ebp 0Xf8
# Stop when 0
register %eax 0Xcd %ecx 0X1c %edx 2 %ebx
%esi 0Xc0 %edi %esp 0Xe8 %ebp 0Xe8 ZF SF CF 1 PC 0x5b
21
address stack 0X100 0Xfc 0X11 0Xf8 0X100 0xf4 4 0xf0 0X14 0xec 0X3d 0Xe8 %esp, %ebp 0Xf8
register %eax 0Xbcd %ecx 0X1c %edx 2 %ebx
%esi 0Xb00 %edi %esp 0Xe8 %ebp 0Xe8 ZF SF CF 1 PC 0x63
22
address stack 0X100 0Xfc 0X11 0Xf8 0X100 0xf4 4 0xf0 0X14 0xec 0X3d 0Xe8 %esp, %ebp 0Xf8
#
register %eax 0Xbcd %ecx 0X20 %edx 2 %ebx 4 %esi 0Xb00 %edi %esp 0Xe8 %ebp 0Xe8 ZF SF CF 1 PC 0x6b
23
address stack 0X100 0Xfc 0X11 0Xf8 0X100 0xf4 4 0xf0 0X14 0xec 0X3d 0Xe8 %esp, %ebp 0Xf8
register %eax 0Xbcd %ecx 0X20 %edx 1 %ebx
%esi 0Xb00 %edi %esp 0Xe8 %ebp 0Xe8 ZF SF CF 1 PC 0x73
24
address stack 0X100 0Xfc 0X11 0Xf8 0X100 0xf4 4 0xf0 0X14 0xec 0X3d 0Xe8 %esp, %ebp 0Xf8
Loop
# Stop when 0
register %eax 0Xbcd %ecx 0X20 %edx 1 %ebx
%esi 0Xb00 %edi %esp 0Xe8 %ebp 0Xe8 ZF SF CF 1 PC 0x5b
25
address stack 0X100 0Xfc 0X11 0Xf8 0X100 0xf4 4 0xf0 0X14 0xec 0X3d 0Xe8 %esp, %ebp 0Xf8
# add to sum
register %eax 0Xabcd %ecx 0X20 %edx 1 %ebx
%esi 0Xa000 %edi %esp 0Xe8 %ebp 0Xe8 ZF SF CF 1 PC 0x63
26
address stack 0X100 0Xfc 0X11 0Xf8 0X100 0xf4 4 0xf0 0X14 0xec 0X3d 0Xe8 %esp, %ebp 0Xf8
#
# Start++
register %eax 0Xabcd %ecx 0X24 %edx 1 %ebx 4 %esi 0Xa000 %edi %esp 0Xe8 %ebp 0Xe8 ZF SF CF 1 PC 0x6b
27
address stack 0X100 0Xfc 0X11 0Xf8 0X100 0xf4 4 0xf0 0X14 0xec 0X3d 0Xe8 %esp, %ebp 0Xf8
#
# Count--
register %eax 0Xabcd %ecx 0X24 %edx %ebx
%esi 0Xa000 %edi %esp 0Xe8 %ebp 0Xe8 ZF SF CF PC 0x73
28
address stack 0X100 0Xfc 0X11 0Xf8 0X100 0xf4 4 0xf0 0X14 0xec 0X3d 0Xe8 %esp, %ebp 0Xf8
Loop
# Stop when 0
register %eax 0Xabcd %ecx 0X24 %edx %ebx
%esi 0Xa000 %edi %esp 0Xe8 %ebp 0Xe8 ZF SF CF PC 0x78
29
address stack 0X100 0Xfc 0X11 0Xf8 0X100 0xf4 4 0xf0 0X14 0xec 0X3d 0Xe8 %esp, %ebp 0Xf8
register %eax 0Xabcd %ecx 0X24 %edx %ebx
%esi 0Xa000 %edi %esp 0Xe8 %ebp 0Xe8 ZF SF CF PC 0x7a
30
address stack 0X100 0Xfc 0X11 0Xf8 %ebp 0X100 0xf4 4 0xf0 0X14 0xec %esp 0X3d 0Xe8 0Xf8
register %eax 0Xabcd %ecx 0X24 %edx %ebx
%esi 0Xa000 %edi %esp 0Xec %ebp 0Xf8 ZF SF CF PC 0x7c
31
address stack 0X100 0Xfc 0X11 0Xf8 %ebp 0X100 0xf4 4 0xf0 %esp 0X14 0xec 0X3d 0Xe8 0Xf8
register %eax 0Xabcd %ecx 0X24 %edx %ebx
%esi 0Xa000 %edi %esp 0Xec %ebp 0Xf8 ZF SF CF PC 0X3d
32
address stack 0X100 0Xfc 0X11 0Xf8 %esp, %ebp 0X100 0xf4 4 0xf0 0X14 0xec 0X3d 0Xe8 0Xf8
register %eax 0Xabcd %ecx 0X24 %edx %ebx
%esi 0Xa000 %edi %esp 0Xf8 %ebp 0Xf8 ZF SF CF PC 0x3f
33
address stack 0X100 %ebp 0Xfc %esp 0X11 0Xf8 0X100 0xf4 4 0xf0 0X14 0xec 0X3d 0Xe8 0Xf8
register %eax 0Xabcd %ecx 0X24 %edx %ebx
%esi 0Xa000 %edi %esp 0Xfc %ebp 0X100 ZF SF CF PC 0X100
34
address stack 0X100 %esp, %ebp 0Xfc 0X11 0Xf8 0X100 0xf4 4 0xf0 0X14 0xec 0X3d 0Xe8 0Xf8
register %eax 0Xabcd %ecx 0X24 %edx %ebx
%esi 0Xa000 %edi %esp 0X100 %ebp 0X100 ZF SF CF PC 0X11
35
address stack 0X100 %esp, %ebp 0Xfc 0X11 0Xf8 0X100 0xf4 4 0xf0 0X14 0xec 0X3d 0Xe8 0Xf8
register %eax 0Xabcd %ecx 0X24 %edx %ebx
%esi 0Xa000 %edi %esp 0X100 %ebp 0X100 ZF SF CF PC
36