caciojg

alfabeto

Aug 11th, 2012
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ; Código para buferrizar todo o alfabeto na memoria e imprimir na tela
  2. ; montar com: nasm -f elf -l alfabeto.lst alfabeto.asm
  3. ; linkar com: gcc -o alfabeto alfabeto.o
  4.  
  5.     SECTION .data
  6. ini: db "Esse 'e o alfabeto",10
  7. lini: equ $-ini
  8.  
  9.     SECTION .bss
  10. buf: resb 26d
  11. lbuf: equ $-buf
  12.    
  13.    
  14.     SECTION .text
  15.     global main
  16.    
  17. main:
  18.     mov edx,lini        ; imprimi texto inicial
  19.     mov ecx,ini
  20.     mov ebx,1
  21.     mov eax,4
  22.     int 0x80
  23.    
  24.     xor ecx,ecx     ; prepara buffer
  25.     mov cl,26d      ; para s 26 letras do alfabeto
  26.     mov esi,buf     ; SI aponta para o buffer
  27.     mov al,0x61     ; al começa em a
  28. alfa:
  29.     mov [esi],al        ; valor de al no buffer
  30.     inc al          ; proxima letra
  31.     inc esi         ; proximo endreço do buffer
  32.     loop alfa
  33.                
  34. impri: 
  35.     mov edx,lbuf        ; rotina de impressão, comprimeto do buffer
  36.     mov ecx,buf     ; inicio do buffer
  37.     mov ebx,1       ; saída padrão = tela
  38.     mov eax,4       ; serviço 4 da int 80 = sys_write
  39.     int 0x80       
  40.    
  41.    
  42. noval:
  43.     mov al,10       ; imprimir nova linha '\n'
  44.     mov [buf],al        ; cuja valor ASCII é 10
  45.     mov edx,1
  46.     mov ecx,buf
  47.     mov ebx,1
  48.     mov eax,4
  49.     int 0x80
  50.     ret
Advertisement
Add Comment
Please, Sign In to add comment