Advertisement
Guest User

Untitled

a guest
Dec 14th, 2018
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.72 KB | None | 0 0
  1. ; **** Code-Segment ****
  2. section .text
  3.  
  4. global asm_addsub
  5.  
  6. asm_addsub:
  7. push ebp ; neuer Stackframe: BasePointer retten
  8. mov ebp,esp ; Stackpointer zum neuen BasePointer machen
  9.  
  10. mov ecx, [ebp+8] ; summand 1 auslesen
  11. mov ebx, [ebp+16] ; operator auslesen
  12. or ebx, ebx ; prüfen ob +(ebx=0) oder -(ebx!=0) gerechnet werden soll
  13. jnz sub1
  14.  
  15. add1:
  16. add cx, [ebp+12] ; summand 1 + summand
  17. jmp out1
  18.  
  19. sub1:
  20. sub cx, [ebp+12] ; summand 1 - summand 2
  21. out1:
  22. pushfd ; flags auslesen
  23. pop eax ; falgs vom Stack holen
  24. mov edx, [ebp + 20]
  25. mov word [edx], cx
  26. mov esp, ebp ; ?
  27. pop ebp ; BP wiederherstellen
  28. ret ; um die Uebergabeparameter kuemmert sich
  29. ; das rufende Programm (add esp, 16)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement