Показать на экране введенное числовое значение в hex-виде - Assembler

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

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

Написал программу, выдает ошибки. Не знаю как их исправить, и вроде как из-за одной остальные и появились.Помогите пожалуйста их исправить. ---------------------------------------------------------------------------------------------------------------------------------------- Задача: Двуйбайтный код вводится с клавиатуры в двоичном виде. Показать на экране его числовое значение в hex виде. Мой код
Листинг программы
  1. .386
  2. dseg segment use16
  3. text1 db 13,10 'Type BIN: $'
  4. text2 db 13,10 0Dh,0Ah,'Result..: ',0Dh,0Ah,'$'
  5. Buf db 17,18 dup(?)
  6. dseg ends
  7. cseg segment use16
  8. assume cs:cseg, ds:dseg
  9. m1:
  10. mov cx,dseg
  11. mov ds,cx
  12. mov ah,9
  13. lea DX,text1
  14. int 21h
  15. mov ah,0Ah
  16. lea DX,Buf
  17. int 21h
  18. mov DX,DS:Buf
  19. lea Di,DS:Buf+2
  20. mov CX,DS:Buf+1
  21. m2:
  22. cmp DS:[DI],31h
  23. jne short m3 ;если не равно
  24. or AX, 00000001b
  25. m3:
  26. shl AX,1
  27. inc DI
  28. loop m2
  29. mov ah,9
  30. lea DX,text2
  31. int 21h
  32. mov DX,AX
  33. call PECHAT
  34. ;Печатает символ и переводит курсор на позицию вправо
  35. WRITE proc
  36. mov AH,9
  37. xor BH,BH
  38. mov BL,07H
  39. ;mov CX,1
  40. mov AL,DL
  41. int 10h
  42. inc DL
  43. ret
  44. WRITE endp
  45. ;Печатает одну шестнадцатеричную цифру (младшую тетраду DL)
  46. ;(старшая тетрада должна быть равна 0)
  47. ;DL - цифра
  48. NA_CONSOL proc
  49. cmp DL,0Ah
  50. jae BUKVA
  51. add DL,30h
  52. JMP POKAZ
  53. BUKVA:
  54. add DL,37h
  55. POKAZ:
  56. call WRITE ; ------ СДЕЛАТЬ ПЕЧАТЬ
  57. ret
  58. NA_CONSOL endp
  59. ;Печатает две шестнадцатеричные цифры
  60. RASHIREN proc
  61. mov DH,DL
  62. mov CL,4
  63. shr DL,CL
  64. call NA_CONSOL
  65. mov DL,DH
  66. and DL,0Fh
  67. call NA_CONSOL
  68. ret
  69. RASHIREN endp
  70. PECHAT proc ;двухбайтное число на консоль
  71. mov CX,DX
  72. call RASHIREN
  73. xchg DL,CH
  74. call RASHIREN
  75. ret
  76. PECHAT endp
  77. cseg ends
  78. end PECHAT
  79. ;Завершаем программу
  80. mov ah, 4ch
  81. int 21h
  82. cseg ends
  83. end m1

Решение задачи: «Показать на экране введенное числовое значение в hex-виде»

textual
Листинг программы
  1. cmp byte ptr ds:[di],31h

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


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

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

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

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

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

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