十六进制到二进制转换汇编

时间:2015-10-13 21:38:22

标签: assembly

我写了这个程序,用户输入A-E并用位模式放大,例如放大:

$ $ $$
$*****$
$*****$
$ $ $$ 
$*****$
$*****$
$ $ $$

这是我的代码:

Bits 16
org 0x100
jump Start

s1: db 'Enter a Upper case Letter (A-E)  $'
s2: db 'ERROR. Invalid Letter. Enter Capital(A-E). $'

;Bit PATTERN DECLARATION FOR EACH LETTER in HEX
      ;1  2  3  4  5  6  7
A: db 1F,11,11,1f,11,11,11
B: db 1E,11,11,1E,11,11,1E
C: db 1F,10,10,10,10,10,1F
D: db 1E,11,11,11,11,11,1E
E: db 1F,10,10,1f,10,10,1F


screen: mov ah,09             ; Clears screen and change cursor color 
    mov cx, 1000          ; space 1000times 
    mov bl, 9e            ; Change of color
    int 10
    ret

cursor: mov ah,02         ;Positon cursor
    mov bh,00         ; page 0
    mov dh,10         ; row 10
    mov dx,0          ; column 0
    int 10
    ret

Prom: mov ah,09         ;Prompt user to input
  mov dx, s1
  int 21
  ret

read: mov ah,01         ;read charachter and Echo
  int 21
  int 21
  ret

error1: mov ah,09       ; error display message
    mov dx, s2
    int 21   
    jmp start

 compA:
    cmp al, 40h
    jl error1
 compE:  cmp al ,45h
    jg error1
    call Print

print:         

start:
Call screen
call cursor
call prom
call read
call compA

;end

我想用十六进制声明每个字母,将十六进制转换为二进制,让读者逐步浏览二进制文件并在屏幕上显示。

有关如何构建转换器(十六进制到二进制)和读取器的任何建议,以显示$的{​​{1}}和1的{​​{1}}?

0 个答案:

没有答案