Advertisement
Guest User

Liczy_a

a guest
Jun 7th, 2022
14
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.16 KB | None | 0 0
  1. ; IN: string
  2. ; OUT: liczba liter 'a'(duze i male)
  3. ; PIN: Ala ma kota
  4. ; POUT: 4
  5. .286
  6. .model small
  7. .stack 100h
  8. .data
  9. napis db 'Podaj lancuch znakow:',13,10,'$'
  10. bufor db 100,101 dup('$')
  11. .code
  12. start: mov ax,seg @data
  13. mov ds,ax
  14.  
  15. mov dx,offset napis
  16. mov ah,9
  17. int 21h
  18.  
  19. mov dx,offset bufor
  20. mov ah,10
  21. int 21h
  22.  
  23. mov dl,10
  24. mov ah,2
  25. int 21h
  26.  
  27. mov ax,offset bufor
  28. add ax,2
  29. push ax
  30. call zlicz_a
  31. add sp,2
  32.  
  33. call wypisz
  34.  
  35. koniec: mov ax,4c00h
  36. int 21h
  37.  
  38. zlicz_a proc
  39. mov bp,sp
  40. mov bx,[bp+2]
  41.  
  42. mov ax,0
  43. @@pet: mov dl,[bx]
  44. cmp dl,13
  45. je @@kon
  46. cmp dl,'a'
  47. je @@licz
  48. cmp dl,'A'
  49. je @@licz
  50. jmp @@dal
  51. @@licz: inc ax
  52. @@dal: inc bx
  53. jmp @@pet
  54. @@kon: ret
  55. zlicz_a endp
  56.  
  57. wypisz proc
  58. mov cx,0ah
  59. mov dx,0
  60. div cx
  61. cmp ax,0
  62. je @@kon
  63. push dx
  64. call wypisz
  65. pop dx
  66. @@kon: mov ah,02h
  67. add dl,'0'
  68. int 21h
  69. ret
  70. wypisz endp
  71.  
  72. reverse proc
  73. mov bp,sp
  74. mov si,[bp+2]
  75.  
  76. mov di,si
  77. @@pet: mov dl,[di]
  78. cmp dl,13
  79. je @@dal
  80. inc di
  81. jmp @@pet
  82. @@dal: dec di
  83.  
  84. @@pett: cmp si,di
  85. jae @@kon
  86. mov dl,[si]
  87. mov dh,[di]
  88. mov [si],dh
  89. mov [di],dl
  90. inc si
  91. dec di
  92. jmp @@pett
  93. @@kon: ret
  94. reverse endp
  95.  
  96. end start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement