我写了这个程序,用户输入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}}?