Advertisement
LanguageAgnostic

ASM_notes

Apr 5th, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.27 KB | None | 0 0
  1. ## Notions
  2.  
  3. Commentaires ';'
  4.  
  5. #x32
  6. EIP instruction pointer
  7. ESP stack pointer
  8. EBP base pointer
  9.  
  10. #General-purpose Rgisters
  11. EAX AX AH AL
  12. EBX BX BH BL
  13. ECX CX CH CL
  14. EDX DX DH DL
  15.  
  16. ESI Source Index
  17. EDI Destination Index
  18.  
  19. EBP Pointeur de pile
  20.  
  21. #x64
  22. RIP, RSP, REAX, RBX, RCX, RDX, etc
  23.  
  24. Spécifier le format de la valeur
  25. h suffix et 0 prefix si lettre, ou 0x -> Hex
  26. q -> octal
  27. b -> binary
  28. d -> decimal
  29.  
  30. byte -> 8 bits
  31. word -> 16 bits -> 2 bytes
  32. dword -> 32 bits -> 4 bytes
  33.  
  34. ## Compilation
  35.  
  36. #Pour 32 bits
  37. nasm -f elf test.asm
  38. #Pour 64 bits
  39. nasm -f elf64 test.asm
  40.  
  41. #Pour windows: remplacer elf par win32 ou win64
  42. #Pour MacOS: remplacer elf par macho32 ou macho64
  43.  
  44. #Linking (executable)
  45. ld test.o -o test
  46. #ou avec main
  47. gcc test.o -o test
  48.  
  49. #test.exe pour windows, plus complexe pour mac..
  50.  
  51. #Pour juste C à assembleur
  52. gcc -S so.c
  53.  
  54. #Pour du code et son morceau en assembleur
  55. g++ -g -O0 -c -fverbose-asm -Wa,-adhln test.c > test.lst
  56. #Une autre version
  57. gcc -O -c -g -Wa,-ahl=so.s so.c
  58.  
  59.  
  60. ### Techniques
  61.  
  62. # Pour les strings
  63. .len: equ $ - msg
  64.  
  65. ## Autres
  66. mov ecx, mes ; place l'adresse de mes dans ecx
  67. mov al, 0x41 ; place le caractère 'A' dans le registre al
  68. mov [ecx], al ; écrase le caractère à l'espace mémoire représenté par ecx
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement