Ir para conteúdo
  • Cadastre-se
Entre para seguir isso  
Lincoln Arantes

Registradores Assembly

Posts Recomendados

Explicação de Lincoln Cesar dos  Reis Arantes sobre registradores Assembly x86. Espero que gostem.

https://www.youtube.com/watch?v=aGulNiuYgBs

 

Formação:

Curso Superior de Analista de Sistema pela Unicesumar .

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

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
  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
Entre para seguir isso  

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×