微机实验报告.docx
- 文档编号:23101706
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:11
- 大小:128.98KB
微机实验报告.docx
《微机实验报告.docx》由会员分享,可在线阅读,更多相关《微机实验报告.docx(11页珍藏版)》请在冰豆网上搜索。
微机实验报告
微机实验报告
学院:
###
专业班级:
##
序号:
##
姓名:
###
实验名称:
实验二:
数码转码编程及程序调试
实验日期:
实验二数码转码编程及程序调试
一.实验目的
1.掌握不同进程数及编码相互转换的程序设计方法,加深对数码转换的理解;
2.进一步熟悉键盘使用方法;
3.进一步熟悉调试程序的方法
二.实验设备
装有汇编软件的IBMPC机一台
3.实验内容
1.将ASCII码表示的十进制数转换为二进制数。
这里我们规定:
被转换的ASCII码十进制数存放在3500h~3504h单位中。
而转换结果在3510~3511单位中。
2.将从键盘输入的五位十进制数的ASCII码已存在3500起始的内存单元中。
把它转换成BCD码后,再按位分别存入3510起始的内存单元内。
若输入的不是十进制的ASCII码,则显示FF.
3.将十六位二进制数转换为ASCII码表示的十进制数。
十六进制数的值域为0~65535,最大可转换为五位十进制数。
4.十六进制数转换为ASCII码。
设经过CPU处理后的十六进制存放在起始地址为3500H的内存中,把它们转换成ASCII码之后,再分别存入起始地址为3510的内存单元中。
5.BCD码转换为二进制码。
设四个二位十进制的BCD码存放在起始地址为3500H的单元中,转换出的二进制数码存入起始为3510的内存单元中。
4.程序代码及运行结果
实验1
DATASEGMENT
ORG3500H
SOURCE1DB30H,30H,30H,31H,32H
ORG3510H
RESULTDW
ORG3520H
COUNTEQU4
ORG3530H
MULNUMDW10
DATAENDS
CODESEGMENT
ASSUMEDS:
DATA,CS:
CODE
START:
MOVAX,DATA
MOVDS,AX
MOVCL,COUNT
MOVSI,OFFSETMULNUM
MOVAX,0
MOVDX,0
MOVBX,OFFSETSOURCE1
ADDAL,BYTEPTR[BX]
SUBAX,30H
NEXT:
MULWORDPTR[SI]
INCBX
ADDAL,BYTEPTR[BX]
XCHGAH,DH
LAHF
ANDAH,01H
ADDAH,DH
SUBAX,30H
DECCL
JNZNEXT
MOVBX,OFFSETRESULT
MOV[BX],AX
RET
CODEENDS
ENDSTART
运行结果:
3500~3504h单元存入30H,30H,30H,31H,32H,结果如下:
3500~3504h单元存入31H,32H,33H,34H,35H,结果如下:
实验2
DATASEGMENT
ORG3500H
SOURCEDB41H,32H,33H,24H,35H
ORG3510H
RESULTDB5DUP()
ORG3520H
COUNTEQU5
DATAENDS
CODESEGMENT
ASSUMEDS:
DATA,CS:
CODE
START:
MOVAX,DATA
MOVDS,AX
MOVCX,COUNT
MOVSI,OFFSETSOURCE
MOVDI,OFFSETRESULT
NEXT:
MOVDL,0FFH
MOVAL,[SI]
CMPAL,39H
JGNEXT1
SUBAL,30H
CMPAL,0
JLNEXT1
MOV[DI],AL
INCDI
INCSI
DECCX
CMPCX,0
JNENEXT
JEEXIT
NEXT1:
MOV[DI],DL
INCDI
INCSI
DECCX
CMPCX,0
JNENEXT
JEEXIT
EXIT:
RET
CODEENDS
ENDSTART
运行结果:
3500~3504h单元存入41H,32H,33H,24H,35H,结果如下:
3500~3504h单元存入31H,32H,33H,34H,35H,结果如下:
实验3
DATASEGMENT
ORG3500H
SOURCEDW000CH
ORG3510H
RESULTDB5DUP()
ORG3520H
COUNTEQU5
ORG3530H
DIVNUMDW10
DATAENDS
CODESEGMENT
ASSUMEDS:
DATA,CS:
CODE
START:
MOVAX,DATA
MOVDS,AX
MOVAX,SOURCE
MOVCL,COUNT
MOVBX,4
NEXT:
MOVDX,0
DIVDIVNUM
ADDDX,30H
MOVRESULT[BX],DL
DECBX
DECCL
JNZNEXT
RET
CODEENDS
ENDSTART
运行结果:
在3500~3501H单元中存入000CH,结果如下:
在3500~3501H单元中存入0A23H,结果如下:
实验4
DATASEGMENT
ORG3500H
SOURCEDW203BH
ORG3510H
RESULTDB4DUP(0)
DATAENDS
CODESEGMENT
ASSUMEDS:
DATA,CS:
CODE
START:
MOVAX,DATA
MOVDS,AX
MOVDX,SOURCE
MOVDI,OFFSETRESULT
MOVCL,4
NEXT:
MOVAX,DX
ANDAX,0FH
CMPAX,9
JGNEXT2
ADDAX,30H
MOV[DI],AL
INCDI
SHRDX,CL
CMPDX,0
JEEXIT
JNENEXT
NEXT2:
ADDAX,37H
MOV[DI],AL
INCDI
SHRDX,CL
CMPDX,0
JEEXIT
JNENEXT
EXIT:
RET
CODEENDS
ENDSTART
运行结果:
3500~3501H单元中存入四位16进制数203BH,结果如下:
3500~3501H单元中存入四位16进制数1AC3H,结果如下:
实验5
DATASEGMENT
ORG3500H
SOURCEDB01H,02H,03H,04H,05H,06H,07H,08H
ORG3510H
RESULTDW4DUP(0)
DATAENDS
CODESEGMENT
ASSUMEDS:
DATA,CS:
CODE
START:
MOVAX,DATA
MOVDS,AX
MOVBL,0AH
MOVCX,4
MOVDI,OFFSETSOURCE
MOVSI,OFFSETRESULT
NEXT:
MOVAL,[DI]
MULBL
INCDI
MOVAH,0
ADDAL,[DI]
MOV[SI],AX
INCSI
INCSI
INCDI
DECCX
CMPCX,0
JNENEXT
RET
CODEENDS
ENDSTART
运行结果:
在3500~3507H单元中存入01H,02H,03H,04H,05H,06H,07H,08H,结果如下:
在3500~3507H单元中存入05H,05H,05H,06H,03H,02H,03H,04H,结果如下:
5.结果分析
在给定的储存单元存入不同的数值,执行以上程序后都能各自地输出正确的结果,说明以上程序功能符合题目要求。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 实验 报告