Advertisement
joker546645

Lab 1 zad 3

Oct 27th, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .686
  2. .model flat
  3. extern _ExitProcess@4 : PROC
  4. extern __write : PROC
  5. extern __read : PROC
  6. public _main
  7.  
  8. .data
  9. tekst_pocz db 10, 'Prosz',0A9h,' napisa',86h,' jaki',98h,' tekst '
  10.            db 'i nacisn',0A5h,86h,' Enter', 10
  11. koniec_t   db ?
  12. magazyn    db 80 dup (?)
  13. nowa_linia db 10
  14. liczba_znakow dd ?
  15.  
  16. .code
  17. _main:
  18.  
  19.     mov ecx, (OFFSET koniec_t) - (OFFSET tekst_pocz)
  20.     push ecx
  21.    
  22.     push OFFSET tekst_pocz
  23.     push 1
  24.     call __write
  25.  
  26.     add esp, 12
  27.  
  28.     push 80
  29.     push OFFSET magazyn
  30.     push 0
  31.     call __read
  32.     add esp, 12
  33.  
  34.     mov liczba_znakow, eax
  35.     mov ecx, eax
  36.     mov ebx, 0
  37.  
  38. ptl: mov dl, magazyn[ebx]
  39.      mov eax, 0
  40.  
  41.    
  42.  
  43.     cmp dl, 'a'
  44.     jb  dalej   ; skok, gdy znak nie wymaga zamiany
  45.     cmp dl, 'z'
  46.     ja  dalej   ; skok, gdy znak nie wymaga zamiany
  47.  
  48.     cmp dl, 'a'
  49.     jne kont1
  50.     add dl, 1Ah
  51.  
  52. kont1:  cmp dl, 'b'
  53.     jne kont2
  54.     add dl, 1Ah
  55.  
  56. kont2:  cmp dl, 'c'
  57.     jne kont3
  58.     add dl, 1Ah
  59.  
  60. kont3:  cmp dl, 'd'
  61.     jne kont4
  62.     add dl, 1Ah
  63.  
  64. kont4:  cmp dl, 'e'
  65.     jne kont5
  66.     add dl, 1Ah
  67.  
  68.  
  69. kont5:  sub dl, 05H ; zamiana na wielkie litery innych liter
  70.     mov magazyn[ebx], dl ; odesłanie znaku do pamięci
  71.     jmp dalej
  72.  
  73.    
  74. dalej: mov magazyn[ebx], dl
  75.        inc ebx
  76.        dec ecx
  77.        jnz ptl
  78.    
  79.     push liczba_znakow
  80.     push OFFSET magazyn
  81.     push 1
  82.     call __write
  83.     add esp, 12
  84.    
  85.     push 0
  86.     call _ExitProcess@4
  87.  
  88. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement