1 / 4
文档名称:

汇编语言实验设计.doc

格式:doc   大小:386KB   页数:4页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

汇编语言实验设计.doc

上传人:xunlai783 2018/11/10 文件大小:386 KB

下载得到文件列表

汇编语言实验设计.doc

文档介绍

文档介绍:从键盘键入一个四位的十六进制数,并在终端上显示为与它等值的二进制数
思路:
通过左移的方法逐个把每位十六进制数转换为四个二进制数,如果输入的字符非十六进制数则退出程序。
流程图:
DATA SEGMENT
BUFFER DB 4 DUP(?)
DATA ENDS
PROGRAM SEGMENT
MAIN PROC FAR
ASSUME CS:PROGRAM,DS:DATA
START:
PUSH DS
SUB AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
FIRST: MOV BX,0
MOV CX,4
MOV AX,0
INPUT: ;此循环完成十六进制数的输入,并把它存在BUFFER中
MOV AH,01
INT 21H
CMP AL,3AH
JB H1
CMP AL,41H
JB EXIT
CMP AL,46H
JBE H0
CMP AL,61H
JB EXIT
CMP AL,66H
JA EXIT
SUB AL,20H
H0: SUB AL,37H
JMP H2
H1: CMP AL,30H
JB EXIT
SUB AL,30H
H2: MOV BUFFER[BX],AL
INC BX
LOOP INPUT
MOV DL,2DH ;显示—字符,作为十六进制和二进制的分界
MOV AH,2
INT 21H
MOV DI,4
MOV CX,4
MOV BX,0
CHANGE:
MOV DH,BUFFER[BX]
SAL DH,CL ;算数左移四位
CHANGE2:
SAL DH,1
JC CHANGE1 ;如果CF值为零,则左移位数为零,
MOV DL,30H 则显示二进制0,反之显示1
JMP OUTPUT
CHANGE1:
MOV DL,3