kernel_memory_dump

nizQuadova

Apr 13th, 2014
229
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # xxxxxxxxxxxx
  2. #Dat je niz od 3 quad prom
  3. # uvecati sve elementa za quad vrednost
  4.  
  5.  
  6. .section .data
  7. niz: .quad 0x0000000100000002, 0x0000000100000003, 0x0000000100000004
  8. prom:  .quad 0x0000000100000001
  9. greska: .byte 0
  10. MAX_ESI =  5
  11. .section .text
  12. .globl main
  13. main:
  14. #index nizeg dela - edi
  15. # index viseg dela - esi
  16. movl $0, %edi  
  17. movl $1, %esi
  18. petlja:
  19.     cmpl MAX_ESI, %esi
  20.     jg kraj
  21.     # prvo saberemo nize delove!
  22.     # prvo moramo da ih pokupimo
  23.     movl niz(, %edi, 4), %eax # nizi deo u EAX
  24.     addl  prom, %eax   # NIZI DEO TRENUTNOG ELEMENTA NIZA SA NIZIM DELOM PROMENLJIVE!!!!
  25.    
  26.     # visi deo pokupimo i stavimo u ebx
  27.     movl niz(, %esi, 4), %ebx  # VISI DEO TRENUTNOG ELEMENTA NIZA
  28.     adcl  prom+4,  %ebx # VISI DEO TRENUTNOG ELEMENTA NIZA SA VISIM DELOM PROMENLJIVE!!!!
  29.           jo  greska    # jako robustan program, otporan na greske, testirano danocno  border-value testing metodama
  30.           # sada vratiti iz registara nazad u niz!!!!~~~~~~!!~~~~
  31.     # NAZAD U NIZ!@!@@@@@@@@@@@@@@@@@@@@@@@@
  32.     movl %eax, niz(, %edi, 4)
  33.     movl %ebx, niz(, %esi, 4)
  34.  
  35.     #uvecavam indekseeeee
  36.     addl $2, %edi
  37.     addl $2, %esi
  38.     jmp petlja
  39. greska:
  40.     incb greska
  41.  
  42. kraj:
  43.     movl $1, %eax
  44.     movl $0, %ebx
  45.     int  $0x80
RAW Paste Data