asum ys
play

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


  1. Asum.ys ----Changes to memory and registers Ruiqin Tian

  2. 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 %ecx 0Xf8 %edx 0xf4 %ebx 0xf0 %esi 0xec %edi %esp 0X100 %ebp 0X100 2

  3. 7. call main ZF SF CF PC 1 0 0 0x24 address stack register 0X100 %ebp %eax 0Xfc %esp 0X11 %ecx 0Xf8 %edx 0xf4 %ebx 0xf0 %esi 0xec %edi %esp 0xfc %ebp 0X100 3

  4. 17. Main: pushl %ebp ZF SF CF PC 1 0 0 0x26 address stack register 0X100 %ebp %eax 0Xfc 0X11 %ecx 0Xf8 %esp 0X100 %edx 0xf4 %ebx 0xf0 %esi 0xec %edi %esp 0Xf8 %ebp 0X100 4

  5. 18. rrmovl %esp,%ebp ZF SF CF PC 1 0 0 0x28 address stack register 0X100 %eax 0Xfc 0X11 %ecx 0Xf8 %esp, %ebp 0X100 %edx 0xf4 %ebx 0xf0 %esi 0xec %edi %esp 0Xf8 %ebp 0Xf8 5

  6. 19. irmovl $4,%eax ZF SF CF PC 20. pushl %eax # Push 4 1 0 0 0x30 address stack register 0X100 %eax 4 0Xfc 0X11 %ecx 0Xf8 %ebp 0X100 %edx 0xf4 %esp 4 %ebx 0xf0 %esi 0xec %edi %esp 0Xf4 %ebp 0Xf8 6

  7. 21. irmovl array,%edx ZF SF CF PC 22. pushl %edx 1 0 0 0x38 address stack register 0X100 %eax 4 0Xfc 0X11 %ecx 0Xf8 %ebp 0X100 %edx 0X14 0xf4 4 %ebx 0xf0 %esp 0X14 %esi 0xec %edi %esp 0Xf0 %ebp 0Xf8 7

  8. 23. call Sum ZF SF CF PC 1 0 0 0x42 address stack register 0X100 %eax 4 0Xfc 0X11 %ecx 0Xf8 %ebp 0X100 %edx 0X14 0xf4 4 %ebx 0xf0 0X14 %esi 0xec %esp 0X3d %edi %esp 0Xec %ebp 0Xf8 8

  9. 30.Sum: pushl %ebp ZF SF CF PC 31. rrmovl %esp,%ebp 1 0 0 0x46 address stack register 0X100 %eax 4 0Xfc 0X11 %ecx 0Xf8 0X100 %edx 0X14 0xf4 4 %ebx 0xf0 0X14 %esi 0xec 0X3d %edi 0Xe8 %esp, %ebp 0Xf8 %esp 0Xe8 %ebp 0Xe8 9

  10. 32. mrmovl 8(%ebp),%ecx # ecx = Start ZF SF CF PC 33. mrmovl 12(%ebp),%edx # edx = Count 1 0 0 0x52 address stack register 0X100 %eax 4 0Xfc 0X11 %ecx 0X14 0Xf8 0X100 %edx 4 0xf4 4 %ebx 0xf0 0X14 %esi 0xec 0X3d %edi 0Xe8 %esp, %ebp 0Xf8 %esp 0Xe8 %ebp 0Xe8 10

  11. 34. xorl %eax,%eax # sum = 0 ZF SF CF PC 0 0 0 0x54 address stack register 0X100 %eax 0 0Xfc 0X11 %ecx 0X14 0Xf8 0X100 %edx 4 0xf4 4 %ebx 0xf0 0X14 %esi 0xec 0X3d %edi 0Xe8 %esp, %ebp 0Xf8 %esp 0Xe8 %ebp 0Xe8 11

  12. 35. andl %edx,%edx # Set condition codes ZF SF CF PC 1 0 0 0x56 address stack register 0X100 %eax 0 0Xfc 0X11 %ecx 0X14 0Xf8 0X100 %edx 4 0xf4 4 %ebx 0xf0 0X14 %esi 0xec 0X3d %edi 0Xe8 %esp, %ebp 0Xf8 %esp 0Xe8 %ebp 0Xe8 12

  13. 36. je End ZF SF CF PC 1 0 0 0x5b address stack register 0X100 %eax 0 0Xfc 0X11 %ecx 0X14 0Xf8 0X100 %edx 4 0xf4 4 %ebx 0xf0 0X14 %esi 0xec 0X3d %edi 0Xe8 %esp, %ebp 0Xf8 %esp 0Xe8 %ebp 0Xe8 13

  14. 37.Loop: mrmovl (%ecx),%esi # get *Start ZF SF CF PC 1 0 0 0x61 address stack register 0X100 %eax 0 0Xfc 0X11 %ecx 0X14 0Xf8 0X100 %edx 4 0xf4 4 %ebx 0xf0 0X14 %esi 0Xd 0xec 0X3d %edi 0Xe8 %esp, %ebp 0Xf8 %esp 0Xe8 %ebp 0Xe8 14

  15. 38. addl %esi,%eax # add to sum ZF SF CF PC 39. irmovl $4,%ebx # 1 0 0 0x69 address stack register 0X100 %eax 0Xd 0Xfc 0X11 %ecx 0X14 0Xf8 0X100 %edx 4 0xf4 4 %ebx 4 0xf0 0X14 %esi 0Xd 0xec 0X3d %edi 0Xe8 %esp, %ebp 0Xf8 %esp 0Xe8 %ebp 0Xe8 15

  16. 40. addl %ebx,%ecx ZF SF CF PC # Start++ 41. irmovl $-1,%ebx # 1 0 0 0x71 address stack register 0X100 %eax 0Xd 0Xfc 0X11 %ecx 0X18 0Xf8 0X100 %edx 4 0xf4 4 %ebx -1 0xf0 0X14 %esi 0Xd 0xec 0X3d %edi 0Xe8 %esp, %ebp 0Xf8 %esp 0Xe8 %ebp 0Xe8 16

  17. 42. addl %ebx,%edx # Count-- ZF SF CF PC 43. jne Loop # Stop when 0 1 0 0 0x5b address stack register 0X100 %eax 0Xd 0Xfc 0X11 %ecx 0X18 0Xf8 0X100 %edx 3 0xf4 4 %ebx -1 0xf0 0X14 %esi 0Xd 0xec 0X3d %edi 0Xe8 %esp, %ebp 0Xf8 %esp 0Xe8 %ebp 0Xe8 17

  18. 37. Loop: mrmovl (%ecx),%esi # get *Start ZF SF CF PC 38. addl %esi,%eax # add to sum 1 0 0 0x63 address stack register 0X100 %eax 0Xcd 0Xfc 0X11 %ecx 0X18 0Xf8 0X100 %edx 3 0xf4 4 %ebx -1 0xf0 0X14 %esi 0Xc0 0xec 0X3d %edi 0Xe8 %esp, %ebp 0Xf8 %esp 0Xe8 %ebp 0Xe8 18

  19. 39. irmovl $4,%ebx ZF SF CF PC # 40. addl %ebx,%ecx # Start++ 1 0 0 0x6b address stack register 0X100 %eax 0Xcd 0Xfc 0X11 %ecx 0X1c 0Xf8 0X100 %edx 3 0xf4 4 %ebx 4 0xf0 0X14 %esi 0Xc0 0xec 0X3d %edi 0Xe8 %esp, %ebp 0Xf8 %esp 0Xe8 %ebp 0Xe8 19

  20. 41. irmovl $-1,%ebx ZF SF CF PC # 42. addl %ebx,%edx # Count-- 1 0 0 0x73 address stack register 0X100 %eax 0Xcd 0Xfc 0X11 %ecx 0X1c 0Xf8 0X100 %edx 2 0xf4 4 %ebx -1 0xf0 0X14 %esi 0Xc0 0xec 0X3d %edi 0Xe8 %esp, %ebp 0Xf8 %esp 0Xe8 %ebp 0Xe8 20

  21. 43. jne Loop ZF SF CF PC # Stop when 0 1 0 0 0x5b address stack register 0X100 %eax 0Xcd 0Xfc 0X11 %ecx 0X1c 0Xf8 0X100 %edx 2 0xf4 4 %ebx -1 0xf0 0X14 %esi 0Xc0 0xec 0X3d %edi 0Xe8 %esp, %ebp 0Xf8 %esp 0Xe8 %ebp 0Xe8 21

  22. 37. Loop: mrmovl (%ecx),%esi # get *Start ZF SF CF PC 38. addl %esi,%eax # add to sum 1 0 0 0x63 address stack register 0X100 %eax 0Xbcd 0Xfc 0X11 %ecx 0X1c 0Xf8 0X100 %edx 2 0xf4 4 %ebx -1 0xf0 0X14 %esi 0Xb00 0xec 0X3d %edi 0Xe8 %esp, %ebp 0Xf8 %esp 0Xe8 %ebp 0Xe8 22

  23. 39. irmovl $4,%ebx ZF SF CF PC # 40. addl %ebx,%ecx # Start++ 1 0 0 0x6b address stack register 0X100 %eax 0Xbcd 0Xfc 0X11 %ecx 0X20 0Xf8 0X100 %edx 2 0xf4 4 %ebx 4 0xf0 0X14 %esi 0Xb00 0xec 0X3d %edi 0Xe8 %esp, %ebp 0Xf8 %esp 0Xe8 %ebp 0Xe8 23

  24. 41. irmovl $-1,%ebx # ZF SF CF PC 42. addl %ebx,%edx # Count-- 1 0 0 0x73 address stack register 0X100 %eax 0Xbcd 0Xfc 0X11 %ecx 0X20 0Xf8 0X100 %edx 1 0xf4 4 %ebx -1 0xf0 0X14 %esi 0Xb00 0xec 0X3d %edi 0Xe8 %esp, %ebp 0Xf8 %esp 0Xe8 %ebp 0Xe8 24

  25. 43. jne Loop ZF SF CF PC # Stop when 0 1 0 0 0x5b address stack register 0X100 %eax 0Xbcd 0Xfc 0X11 %ecx 0X20 0Xf8 0X100 %edx 1 0xf4 4 %ebx -1 0xf0 0X14 %esi 0Xb00 0xec 0X3d %edi 0Xe8 %esp, %ebp 0Xf8 %esp 0Xe8 %ebp 0Xe8 25

  26. 37. Loop: mrmovl (%ecx),%esi # get *Start ZF SF CF PC 38. addl %esi,%eax # add to sum 1 0 0 0x63 address stack register 0X100 %eax 0Xabcd 0Xfc 0X11 %ecx 0X20 0Xf8 0X100 %edx 1 0xf4 4 %ebx -1 0xf0 0X14 %esi 0Xa000 0xec 0X3d %edi 0Xe8 %esp, %ebp 0Xf8 %esp 0Xe8 %ebp 0Xe8 26

  27. 39. irmovl $4,%ebx ZF SF CF PC # 40. addl %ebx,%ecx # Start++ 1 0 0 0x6b address stack register 0X100 %eax 0Xabcd 0Xfc 0X11 %ecx 0X24 0Xf8 0X100 %edx 1 0xf4 4 %ebx 4 0xf0 0X14 %esi 0Xa000 0xec 0X3d %edi 0Xe8 %esp, %ebp 0Xf8 %esp 0Xe8 %ebp 0Xe8 27

  28. 41. irmovl $-1,%ebx ZF SF CF PC # 42. addl %ebx,%edx # Count-- 0 0 0 0x73 address stack register 0X100 %eax 0Xabcd 0Xfc 0X11 %ecx 0X24 0Xf8 0X100 %edx 0 0xf4 4 %ebx -1 0xf0 0X14 %esi 0Xa000 0xec 0X3d %edi 0Xe8 %esp, %ebp 0Xf8 %esp 0Xe8 %ebp 0Xe8 28

  29. 43. jne Loop ZF SF CF PC # Stop when 0 0 0 0 0x78 address stack register 0X100 %eax 0Xabcd 0Xfc 0X11 %ecx 0X24 0Xf8 0X100 %edx 0 0xf4 4 %ebx -1 0xf0 0X14 %esi 0Xa000 0xec 0X3d %edi 0Xe8 %esp, %ebp 0Xf8 %esp 0Xe8 %ebp 0Xe8 29

  30. 44. End: rrmovl %ebp,%esp ZF SF CF PC 0 0 0 0x7a address stack register 0X100 %eax 0Xabcd 0Xfc 0X11 %ecx 0X24 0Xf8 0X100 %edx 0 0xf4 4 %ebx -1 0xf0 0X14 %esi 0Xa000 0xec 0X3d %edi 0Xe8 %esp, %ebp 0Xf8 %esp 0Xe8 %ebp 0Xe8 30

  31. 45. popl %ebp ZF SF CF PC 0 0 0 0x7c address stack register 0X100 %eax 0Xabcd 0Xfc 0X11 %ecx 0X24 0Xf8 %ebp 0X100 %edx 0 0xf4 4 %ebx -1 0xf0 0X14 %esi 0Xa000 0xec %esp 0X3d %edi 0Xe8 0Xf8 %esp 0Xec %ebp 0Xf8 31

  32. 46. ret ZF SF CF PC 0 0 0 0X3d address stack register 0X100 %eax 0Xabcd 0Xfc 0X11 %ecx 0X24 0Xf8 %ebp 0X100 %edx 0 0xf4 4 %ebx -1 0xf0 %esp 0X14 %esi 0Xa000 0xec 0X3d %edi 0Xe8 0Xf8 %esp 0Xec %ebp 0Xf8 32

  33. ZF SF CF PC 24. rrmovl %ebp,%esp 0 0 0 0x3f address stack register 0X100 %eax 0Xabcd 0Xfc 0X11 %ecx 0X24 0Xf8 %esp, %ebp 0X100 %edx 0 0xf4 4 %ebx -1 0xf0 0X14 %esi 0Xa000 0xec 0X3d %edi 0Xe8 0Xf8 %esp 0Xf8 %ebp 0Xf8 33

  34. 25. popl %ebp ZF SF CF PC 0 0 0 0X100 address stack register 0X100 %ebp %eax 0Xabcd 0Xfc %esp 0X11 %ecx 0X24 0Xf8 0X100 %edx 0 0xf4 4 %ebx -1 0xf0 0X14 %esi 0Xa000 0xec 0X3d %edi 0Xe8 0Xf8 %esp 0Xfc %ebp 0X100 34

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend