Guest User

Untitled

a guest
Jun 20th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.24 KB | None | 0 0
  1. kod segment
  2. assume cs:kod
  3. org 100h
  4.  
  5.  
  6.  
  7. wypiszbin PROC
  8.  
  9. cwd
  10.  
  11. mov cx, 0
  12. mov ax, 2354D ;Naszą liczba jest 15 dec
  13. mov bx, 2D ;dzielimy przez dwa
  14.  
  15. petla:
  16. cmp ax,cx ;jesli CX == AX to wypisujemy
  17. je wypisanie
  18. div bx ;dzielenie AX przez BX
  19.  
  20. add dl, 48D ;Dodajemy 48 dziesietnie zeby reszte z dzielenie zamienic na znak asci
  21. push dx ; wrzucamy DX na stos
  22. xor dx,dx ;Czyścimy rejestr dx
  23.  
  24. jmp petla ;Przeskakujemy do petli
  25.  
  26. wypisanie:
  27.  
  28. pop ax ;wrzucamy rejestr AX na stos
  29. cmp cx,ax ;jeśli CX == AX to wychodzimy
  30. je exit
  31. mov ah, 0Eh
  32. int 10h
  33.  
  34.  
  35. jmp wypisanie ;skaczemy do wypisania
  36.  
  37.  
  38. exit:
  39. mov al,98D
  40. mov ah, 0Eh
  41. int 10h
  42. mov al,32D
  43. mov ah,0Eh
  44. int 10h
  45. mov al,61D
  46. mov ah,0Eh
  47. int 10h
  48. ret
  49. wypiszbin ENDP
  50. ;======================================================================================================================================================
  51.  
  52. wypiszosm PROC
  53.  
  54.  
  55.  
  56. xor ax,ax
  57. xor bx,bx
  58. xor dx,dx
  59.  
  60. mov ax, 2354D ;
  61. mov bx, 8D
  62.  
  63. petla2:
  64. cmp ax,cx
  65. je wypisanie2
  66. div bx
  67.  
  68. add dl, 48D
  69. push dx
  70. xor dx,dx
  71.  
  72. jmp petla2
  73.  
  74. wypisanie2:
  75.  
  76. pop ax
  77. cmp cx,ax
  78. je exit2
  79. mov ah, 0Eh
  80. int 10h
  81.  
  82.  
  83. jmp wypisanie2
  84.  
  85.  
  86. exit2:
  87. mov al,111D
  88. mov ah, 0Eh
  89. int 10h
  90. mov al,32D
  91. mov ah,0Eh
  92. int 10h
  93. mov al,61D
  94. mov ah,0Eh
  95. int 10h
  96.  
  97. ret
  98.  
  99. wypiszosm ENDP
  100.  
  101. ;==============================================================================================================================================================
  102.  
  103.  
  104. wypiszdec PROC
  105.  
  106. xor dx,dx
  107. xor ax,ax
  108. xor bx,bx
  109.  
  110. mov ax, 2354D
  111. mov bx, 10D
  112.  
  113. petla3:
  114. cmp ax,cx
  115. je wypisanie3
  116. div bx
  117.  
  118. add dl, 48D
  119. push dx
  120. xor dx,dx
  121.  
  122. jmp petla3
  123.  
  124. wypisanie3:
  125. xor ax,ax
  126. pop ax
  127. cmp cx,ax
  128. je exit3
  129. mov ah, 0Eh
  130. int 10h
  131.  
  132.  
  133. jmp wypisanie3
  134.  
  135.  
  136. exit3:
  137. mov al,100D
  138. mov ah, 0Eh
  139. int 10h
  140. mov al,32D
  141. mov ah,0Eh
  142. int 10h
  143. mov al,61D
  144. mov ah,0Eh
  145. int 10h
  146.  
  147. ret
  148.  
  149. wypiszdec ENDP
  150. ;========================================================================================================================================================
  151. wypiszhex PROC
  152.  
  153. xor ax,ax
  154. xor bx,bx
  155. xor dx,dx
  156.  
  157. mov ax, 2354D
  158. mov bx, 16D
  159.  
  160. petla4:
  161. cmp ax,cx
  162. je wypisanie4
  163. div bx
  164. cmp dl,9D
  165. jbe bez
  166. add dl,7D
  167. bez:
  168. add dl, 48D
  169. push dx
  170. xor dx,dx
  171.  
  172. jmp petla4
  173.  
  174. wypisanie4:
  175.  
  176. pop ax
  177. cmp cx,ax
  178. je exit4
  179. mov ah, 0Eh
  180. int 10h
  181.  
  182.  
  183. jmp wypisanie4
  184.  
  185.  
  186. exit4:
  187. mov al,104D
  188. mov ah, 0Eh
  189. int 10h
  190.  
  191. ret
  192.  
  193. wypiszhex ENDP
  194.  
  195.  
  196. start:
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203. CALL wypiszbin
  204.  
  205.  
  206.  
  207. mov ax, 4C00h
  208. int 21h
  209.  
  210. kod ends
  211. end start
Add Comment
Please, Sign In to add comment