Jump to content

Registradores Assembly


Lincoln Arantes

Recommended Posts

Fiz esse código hj de manhã, alguém capaz de me dizer o que pode ser melhorado

 

  1. section .text
  2.     global _start       ;must be declared for using gcc
  3. _start:   ;tell linker entry point
  4.    
  5.    
  6.  
  7.  
  8.     mov eax, '10' ;numero inicial
  9.     mov ebx, '20' ;numero inicial
  10.    
  11.     ; codigos que fazem a troca
  12.     mov [var], eax
  13.     mov eax, ebx
  14.     mov ebx, [var]
  15.  
  16.    
  17.      mov [var2], eax
  18.      mov [var3], ebx
  19.  
  20.  
  21.    ; primeira mensagem
  22.    
  23.     mov eax, 4    ; sys_write system call
  24.     mov ebx, 1    ; stdout file descriptor
  25.     mov ecx, msg  ; bytes to write
  26.     mov edx, len    ; number of bytes to write
  27.     int 0x80      ; perform system call
  28.  
  29.  
  30.  
  31.   ;printa na tela o resultado da eax
  32.     mov eax, 4    ; sys_write system call
  33.     mov ebx, 1    ; stdout file descriptor
  34.     mov ecx, var2  ; bytes to write
  35.     mov edx, 7    ; number of bytes to write
  36.     int 0x80      ; perform system call
  37.  
  38.  
  39.  
  40.   ; primeira mensagem
  41.    
  42.     mov eax, 4    ; sys_write system call
  43.     mov ebx, 1    ; stdout file descriptor
  44.     mov ecx, msg2  ; bytes to write
  45.     mov edx, len2    ; number of bytes to write
  46.     int 0x80      ; perform system call
  47.  
  48.  
  49.  
  50.   ;printa na tela o resultado da ebx
  51.  
  52.     mov eax, 4    ; sys_write system call
  53.     mov ebx, 1    ; stdout file descriptor
  54.     mov ecx, var3  ; bytes to write
  55.     mov edx, 7    ; number of bytes to write
  56.     int 0x80      ; perform system call
  57.  
  58.  
  59.  
  60.  
  61.    ;saída
  62.  
  63.     mov eax, 1      ;system call number (sys_exit)
  64.     int 0x80        ;call kernel
  65.  
  66. section .data
  67.  
  68. msg db  'O valor trocado da eax agora é: ' ;our dear string
  69. len equ $ - msg         ;length of our dear string
  70.  
  71. msg2    db  0xa,'O valor trocado da ebx agora é: '   ;our dear string
  72. len2    equ $ - msg2            ;length of our dear string
  73.  
  74.  
  75. section .bss
  76.  
  77. var resb 10
  78. var2 resb 10
  79. var3 resb 10
Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...