- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
东北大学
计算机硬件技术基础实验报告
专业班级: 姓名: 学号:
实验题目:分支程序设计 日期:
实验目的
掌握分支程序的结构。
寧握分支程序的设计,调试方法。
二、 实验内容
试编写ASCII码的査询程序。即从键盘输入一个字符后,从屏幕上显示该字符的
ASCII码,要求以两位十六进制方式显示。
三、 算法描述流程图
四、实验步骤
输入源程序:
CODE SEGMENT
ASSUME CS:CODE
START: MOV
AH,1
INT
21H
;等待键入字符,送AL
MOV
BL,AL
SHR
AL,4
AND
BL,0FH
;AL、BL中分别存放高、低四位
ADD
AL,30H
MOV
DL,AL
MOV
AH,2
INT
21H
;输出高四位
CMP
BL,9
JA
NEXT1
;若低四位为A-F,则转入NEXT执行
ADD
BL,30H
MOV
DL,BL
MOV
AH,2
INT
21H
;输出0?9的低四位
JMP
NEXT2
NEXT 1: ADD
BL,37H
MOV
DL,BL
MOV
AH,2
INT
21H
;输出A?F的低四位
NEXT2:MOV
DL,H
MOV
AH,2
INT
21H
;输出闩
MOV
DL,09H
MOV
AH,2
INT
21H
JMP
START
;输出水平制表
CODE ENDS
END START
保存源文件,执行汇编源程序,生成obj 口标文件,结果无错误。
执行程序,牛成exc可执行文件,结果无错误。
五、实验结果
1.源程序界面如下:
nn?wJ op?nexAmpWsQsrre?a c?kW?toaOpbor?OD1 ni j釦02:CODE,计小㈣‘.〒 ,-AL;AL. BL半分剔疗放髙.低阿位
n
n?w
J op?n
exAmpWs
Q
srre
?
a c?kW?to
a
Opbor?
OD
1 ni j釦02
:CODE
,计小㈣‘.〒 ,-AL
;AL. BL半分剔疗放髙.低阿位
NExrz:
NEXF1:ROD
-
OS
A00 BL.30H MOV DL.BL nov QH.2
INr 21H JHP NEXF2
AL
INf 21H
.0FH
;輪出片
JHP START
START
;谕岀0-9的旺四位
.37H
21H
CODE
;谕出水Tt?l*
执行程序,生成
执行程序,生成exe可执行文件得到如下界面:
0710:000007100000■ emulator mycode.exe.回cs ip ss SP BP SIDIDS ES00000040000007100000071000000000000000000700070007100: 07101: WK;/1UZ0710307104
0710:0000■ emulator mycode.exe.
回
cs ip ss SP BP SI
DI
DS ES
00
00
00
40
00
00
0710
0000
0710
0000
0000
0000
0000
0700
0700
07100: 07101: WK;
/1UZ
07103
07104
07105
07106
07107 07108 07109
0710A
0710B
0710C
0710D
0710E
0710F
? original source code
B4 180 01 001
LIA808080808
U28DDEDEDEDE
33338雷32塞蜃翟第
0122222222212
U1
02
03
04
05
06
0?
08
09
10
11
12
13
CODE SEGMENT ASSUME CS:CODE STfiRr:HOV flH.l
I n s A
r 21 h
E:L.AL ftL.i BL.OFH
;等待键丿一
;AL. BL4
ADD AL.30H
HDJ DL.AL tlDV AH.2
I NT 21H
CHP BL.9
;输出高匕
J
六、实验心得
理解了汇编语言小编程的基本步骤,掌握了通过地址对数据赋值的方法。掌握汇 编语言编制基本分支结构的算法,包括数据键入与赋值、逻辑右移和逻辑与的算法步 骤等。这个实验,使我可以在编程中认识到直接通过CPU寄存器地址赋值可以大大提 高了程序效率,但我要继续练习熟读汇编语言代码的能力。
文档评论(0)