Показать на экране введенное числовое значение в hex-виде - Assembler
Формулировка задачи:
Написал программу, выдает ошибки. Не знаю как их исправить, и вроде как из-за одной остальные и появились.Помогите пожалуйста их исправить.
----------------------------------------------------------------------------------------------------------------------------------------
Задача:
Двуйбайтный код вводится с клавиатуры в двоичном виде. Показать на экране его числовое значение в hex виде.
Мой код
Листинг программы
- .386
- dseg segment use16
- text1 db 13,10 'Type BIN: $'
- text2 db 13,10 0Dh,0Ah,'Result..: ',0Dh,0Ah,'$'
- Buf db 17,18 dup(?)
- dseg ends
- cseg segment use16
- assume cs:cseg, ds:dseg
- m1:
- mov cx,dseg
- mov ds,cx
- mov ah,9
- lea DX,text1
- int 21h
- mov ah,0Ah
- lea DX,Buf
- int 21h
- mov DX,DS:Buf
- lea Di,DS:Buf+2
- mov CX,DS:Buf+1
- m2:
- cmp DS:[DI],31h
- jne short m3 ;если не равно
- or AX, 00000001b
- m3:
- shl AX,1
- inc DI
- loop m2
- mov ah,9
- lea DX,text2
- int 21h
- mov DX,AX
- call PECHAT
- ;Печатает символ и переводит курсор на позицию вправо
- WRITE proc
- mov AH,9
- xor BH,BH
- mov BL,07H
- ;mov CX,1
- mov AL,DL
- int 10h
- inc DL
- ret
- WRITE endp
- ;Печатает одну шестнадцатеричную цифру (младшую тетраду DL)
- ;(старшая тетрада должна быть равна 0)
- ;DL - цифра
- NA_CONSOL proc
- cmp DL,0Ah
- jae BUKVA
- add DL,30h
- JMP POKAZ
- BUKVA:
- add DL,37h
- POKAZ:
- call WRITE ; ------ СДЕЛАТЬ ПЕЧАТЬ
- ret
- NA_CONSOL endp
- ;Печатает две шестнадцатеричные цифры
- RASHIREN proc
- mov DH,DL
- mov CL,4
- shr DL,CL
- call NA_CONSOL
- mov DL,DH
- and DL,0Fh
- call NA_CONSOL
- ret
- RASHIREN endp
- PECHAT proc ;двухбайтное число на консоль
- mov CX,DX
- call RASHIREN
- xchg DL,CH
- call RASHIREN
- ret
- PECHAT endp
- cseg ends
- end PECHAT
- ;Завершаем программу
- mov ah, 4ch
- int 21h
- cseg ends
- end m1
Решение задачи: «Показать на экране введенное числовое значение в hex-виде»
textual
Листинг программы
- cmp byte ptr ds:[di],31h
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д