- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
物理与机电工程系
(2015——2016学年第一学期)
《调试程序的使用》
上机实验报告
专业:电子信息工程
学号:
姓名:成功回
任课教师:官方个
实验地点:实验楼5537
项目编号:实验四
一、实验目的:
加深对循环结构的理解。
掌握循环程序的设计方法。
二、实验内容:
编制程序计算S=1+2·3+3·4+4·5++N(N+1)+直到N(N+1)大于200为止,并将结果由屏幕上显示出来。
将字形变量x以二进制数的形式在屏幕上显示输出。
将字形变量x以十六进制数的形式在屏幕上显示输出。
将内存单元缓冲区中的符号数(20个)按从小到大的序次摆列,并以十六进制数的形式显。
三、实验过程:
编制程序计算S=1+2·3+3·4+4·5++N(N+1)+直到N(N+1)大于200为止,并将结果由屏幕上显示出来。
程序流程图以下:
开始
BX=1
DL=2
DL赋值给
AL
DL自加1
AL乘DL赋
值给AX
否
AX大于200否?
是
各位变换
为16进制
输出
结束
程序源代码以下:
DATASSEGMENT
sdw?;此处输入数据段代码
DATASENDS
STACKSSEGMENT
dw64dup(?);此处输入货仓段代码
STACKSENDS
CODESSEGMENT
ASSUMECS:CODES,DS:DATAS,SS:STACKSSTART:MOVAX,DATAS
MOVDS,AX
movbx,0001h;BX=1
lop2:
movdl,02h
moval,dl
incdl;加1
;DL=2
;AL=2
;DL=3
lop1:
next:
muldl;无符号数乘法AX=AL*DL=2*3
addbx,ax;BX=AX+BX
cmpax,00C8h;与200比较
jbelop2;不高于转移
movs,bx
movch,4
movcl,4
rolbx,cl
movdl,bl
anddl,0Fh
cmpdl,09h
jbenext;低于等于转移=
adddl,7
adddl,30h
movah,2
int21h
decch
jnzlop1;非零转移
MOVAH,4CH
INT21H
CODESENDS
ENDSTART
程序运转结果以下:
程序反汇编过程以下:
将字形变量x以二进制数的形式在屏幕上显示输出。程序流程图以下:
开始
存入数与DX
DX左移一位
有无
CF有无进位
DL加31HDL加30H
调用2号功能
键输出
结束
程序源代码以下:
DATASSEGMENT
xdw1325h;此处输入数据段代码
DATASENDS
STACKSSEGMENT;此处输入货仓段代码
STACKSENDS
CODESSEGMENT
ASSUMECS:CODES,DS:DATAS,SS:STACKSSTART:
MOVAX,DATAS
MOVDS,AX
movbx,x
movcx,10h
lop1:rolbx,1;不带cf的循环左移
jcnext;进位转移,即cf=1
movdl,30h;将0送入dl
jmpnext2
next:movdl,31h;将1送入dl
next2:movah,2
int21h
looplop1;循环执行lop1
MOVAH,4CH
INT21H
CODESENDS
ENDSTART
存入数据及程序运转结果以以下图:
程序反汇编过程以下:
3.将字形变量x以十六进制数的形式在屏幕上显示输出。
程序流程图以下:
开始
DX存入转
换数
CH存入循
环次数4
CF存入移
位次数4
DX循环左
移
否
DX小于9否?
是DL加7
否
DL加30H
调用2号功
能输出
CH减1
CH为0否?
是
结束
程序源代码以下:
DATASSEGMENT
dw933;此处输入数据段代码
DATASENDS
STACKSSEGMENT;此处输入货仓段代码
STACKSENDS
CODESSEGMENT
ASSUMECS:CODES,DS:DATAS,SS:STACKS
START:
MOVAX,DATAS
MOVDS,AX
movbx,x
movch,4
movcl,4
lop1:rolbx,cl;不带cf的循环左移
movdl,bl
anddl,0Fh
cmpdl,09h
jbenext;低于等于转移
adddl,7
next:adddl,30h
movah,2
int21h
decch
jnzlop1;非零转移
MOVAH,4CH
INT21H
CODESENDS
ENDSTART
存入的变换数据及程序运转结果以下:
程序反汇编过程以下:
将内存单元缓冲区中的符号数(20个)按从小到大的序次摆列,并以十六进制数的形式显。程序流程图以下:
开始
定义数组X
L=20
CL减1
CL赋值给CH
X偏移地点[SI]
放
您可能关注的文档
最近下载
- 绿色施工实施记录表.docx VIP
- 实验gpio输出控制-led闪烁、流水灯.pdf VIP
- 绿色施工实施记录表.pdf VIP
- 电力信息网络安全防护系统设计方案.pdf VIP
- 肺癌转移脑的护理.pptx
- ASME B16.34 INTERPRETATIONS 国外国际标准规范.pdf VIP
- 项目冬期灌浆专项施工方案.pdf VIP
- 绿色低碳转型.pptx VIP
- 关于环保对企业公司环境有关 的外文文献翻译成品:绿色创新对环境和企业绩效的影响:利益相关者视角(中英文双语对照).docx VIP
- RockwellAutomation罗克韦尔QuickStick 150 用户手册用户手册说明书.pdf
文档评论(0)