Перевод числа из OCT в BIN систему счисления ассемблер - Assembler

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток! Стоит задача перевести число из 8 в 2 систему счисления на ассемблере. При запуске программы вводим число в 8 системе счисления и программа переводит это число в бинарную систему счисления. Не знаю, как описать этот перевод на ассемблере. Объясните пожалуйста на примере программы.

Решение задачи: «Перевод числа из OCT в BIN систему счисления ассемблер»

textual
Листинг программы
  1. .model small
  2. .386
  3.  
  4. .data
  5. var db 5 dup(?)
  6. msg1 db 0Ah,0Dh,'input (oct): $'
  7. msg2 db 0Ah,0Dh,'output (bin): $'
  8.  
  9. .stack
  10. db 255 dup(?)
  11.  
  12. .code
  13. start:
  14. mov ax,@data
  15. mov ds,ax
  16. mov es,ax
  17.  
  18. mov ah,09h
  19. lea dx,msg1
  20. int 21h
  21.  
  22. lea di,var
  23. xor cx,cx
  24. input:
  25. mov ah,01h
  26. int 21h
  27.  
  28. cmp al,0Dh
  29. je ready
  30.  
  31. cmp al,'7'
  32. jbe skip
  33.  
  34. mov ah,02h
  35. mov dl,08h
  36. int 21h
  37.  
  38. mov ah,02h
  39. mov dl,20h
  40. int 21h
  41.  
  42. mov ah,02h
  43. mov dl,08h
  44. int 21h
  45.  
  46. jmp input
  47.  
  48. skip:
  49. and al,0Fh
  50.  
  51. stosb
  52.  
  53. inc cx
  54.  
  55. cmp cx,5
  56. je ready
  57. jmp input
  58.  
  59. ready:
  60. or cx,cx
  61. je exit
  62.  
  63. push cx
  64.  
  65. lea si,var
  66. xor di,di
  67. xor ax,ax
  68.  
  69. lodsb
  70. mov di,ax
  71.  
  72. dec cx
  73.  
  74. mov bx,8
  75. collect:
  76. or cx,cx
  77. je two
  78.  
  79. mov ax,di
  80.  
  81. mul bx
  82.  
  83. mov di,ax
  84.  
  85. xor ah,ah
  86. lodsb
  87.  
  88. add di,ax
  89.  
  90. dec cx
  91. jmp collect
  92.  
  93. two:
  94. pop cx
  95.  
  96. mov ax,3
  97.  
  98. mul cx
  99.  
  100. mov dx,ax
  101.  
  102. mov cx,16
  103. sub cx,ax
  104.  
  105. mov bx,di
  106. shl bx,cl
  107.  
  108. mov cx,dx
  109.  
  110. mov ah,09h
  111. lea dx,msg2
  112. int 21h
  113. bit:
  114. shl bx,1
  115. jc one
  116.  
  117. zero:
  118. mov ah,02h
  119. mov dl,'0'
  120. int 21h
  121.  
  122. jmp good
  123.  
  124. one:
  125. mov ah,02h
  126. mov dl,'1'
  127. int 21h
  128.  
  129. good:
  130. loop bit
  131.  
  132. exit:
  133. mov ah,02h
  134. mov dl,0Ah
  135. int 21h
  136.  
  137. mov ah,4Ch
  138. mov al,00h
  139. int 21h  
  140. end start

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.615 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы