锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

汇编:输入一位十六进制数将其转化为2进制数

时间:2024-05-07 15:07:09

这是汇编考试的题目输入一位十六进制数并且将其转化为2进制数

data segment
tital1 db 'INPUt: ','$'
tital2 db 'OUTPUT:','$'
tital3 db 'The input is error,please input again : ','$'
tital4 db 'Do you want to have a try again(yes:y,no:n) ','$'
tital5 db 'Welcome to use this program ,It is made by WQ ','$'
kongzi db 0dh,0ah,'$'
yushu db 5 dup(00)
duandian db 'jianche dian',0dh,0ah,'$'
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
retry:
lea dx,kongzi ;换行回车
mov ah,09h
int 21h

lea dx,tital1 ;输出抬头1please input 1234
mov ah,09h
int 21h

mov ax,0 ;初始化al
mov bx,0

mov ah,01h ;输入并回显
int 21h
mov bl,al
cmp bl,30h
jae n0 ;>=
jmp tishi
n0:cmp bl,39h
jbe n1 ;<=39
cmp bl,41h ;>=41
jae n2
jmp tishi
n2:cmp bl,46h ;
jbe n3
cmp bl,61h
jb tishi
cmp bl,66h
jbe n4
jmp tishi
n1: sub bl,30h ;转化为十进制数
jmp o

n3:sub bl,37h
jmp o
n4:sub bl,57h
o:
lea dx,kongzi ;换行回车
mov ah,09h
int 21h

lea dx,tital2 ;输出抬头2
mov ah,09h
int 21h

mov ax,0
mov al,bl
mov dx,0;初始化
mov di,0;指针为0
mov bl,02h
quyu:
div bl ;默认 ax

mov yushu[di],ah
inc di
mov ah,0
cmp al,02h
jae quyu
mov yushu[di],al
inc di
mov cx,di
dec di
shuchu:
mov dl,yushu[di]
dec di
add dl,30h
mov ah,02h
int 21h
jmp jiedian
jiedian:
loop shuchu
jmp over
tishi:
lea dx,kongzi;控制换行回车
mov ah,09h
int 21h
lea dx,tital3;输出抬头3
mov ah,09h
int 21h
jmp retry

over:
lea dx,kongzi
mov ah,09h
int 21h

lea dx,tital4
mov ah,09h
int 21h

mov ah,01h
int 21h
cmp al,'y'
jz retry
lea dx,kongzi
mov ah,09h
int 21h
lea dx,tital5
mov ah,09h
int 21h
;结束
mov ah,4ch
int 21h
code ends
end start


-电子元器件采购网(www.ruidan.com)是本土元器件目录分销商,采用“小批量、现货、样品”销售模式,致力于满足客户多型号、高质量、快速交付的采购需求。 自建高效智能仓储,拥有自营库存超过50,000种,提供一站式正品现货采购、个性化解决方案、选型替代等多元化服务。
锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章