Ir para conteúdo

Registradores Assembly


Lincoln Arantes

Posts Recomendados

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 para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...