Advertisement
Guest User

Untitled

a guest
Apr 4th, 2020
391
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. %include "rw32-2020.inc"
  2.  
  3. CEXTERN malloc
  4. CEXTERN free
  5. CEXTERN memcpy
  6. ;CEXTERN strlen
  7.  
  8. section .data
  9.     str2 db "Pocet prectenych znaku: ",0
  10.     str3 db "Celkem bylo precteno: ",0
  11.     str4 db " znaku ze vstupu. \n",0
  12.    
  13.     strKBInput db " 15str56A",0
  14.     strFormat db "Celkem bylo precteno: %d znaku ze vstupu. Retezec: '%s'",EOL,0
  15.     strFormat2 db "%s",EOL,0
  16.     ; zde budou vase data
  17.  
  18. section .text
  19. _main:
  20. %define strInput ebp-4
  21. %define inputLen ebp-8
  22.  
  23.     push ebp
  24.     mov ebp, esp
  25.     sub esp,8
  26.    
  27.     push dword 100
  28.     call malloc
  29.     add esp,4
  30.     mov [strInput],eax
  31.     ; str1 = malloc(100)
  32.     ; eax ukazuje do pameti na blok 100 b
  33.    
  34.    
  35.     push strKBInput
  36.     call strlen
  37.     add esp,4
  38. ; void* memcpy(void *dest, const void *src, size_t count);
  39.     push eax
  40.     push strKBInput
  41.     push dword [strInput]
  42.     call memcpy
  43.     add esp,12
  44.    
  45.     ; zde bude vas kod
  46. ;    mov ebx,100
  47. ;    mov edi,[strInput]
  48. ;    call ReadString
  49. ;    mov [inputLen],eax
  50.  
  51.    
  52.     push dword [strInput]
  53.     push dword [inputLen]
  54.     push strFormat
  55.     call printf
  56.     add esp,12
  57.  
  58. ; ESP => inputLen
  59. ; ESP =>
  60.     ; "Celkem bylo precteno %d znaku ze vstupu. \n"
  61.  
  62.     push edi
  63.     call free
  64.     add esp,4
  65.    
  66.     mov esp,ebp
  67.     pop ebp
  68.     ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement