- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
— PAGE \* Arabic 1 —
汇编语言程序设计程序设计
实验六程序设计 一、实验目的 掌握条件转移指令的使用方法及指令对标志寄存器中各标志位的影响;掌握标志位和转移指令之间的关系;会用条件转移指令和无条件转移指令设计多分支结构程序;掌握设置断点调试程序的方法。 二、示例 1、编写一子程序,把数据段中1维数组AA_1变量地址中连续8个数(1,3,5,7,2,4,6,8)读 出,把每个数加2后再存入到数据段中BB_1数组开始的标号地址中去,并显示出BB_1数组中每个数来(之间用空格分开) DATA SEGMENT ;数据段的定义 ORG 0100H ;设置AA_1数组的段地址起始为0100H AA_1 DB1,3,5,7,2,4,6,8 ;初始化AA_1数据段 ORG 0150H ;设置BB_1数组的段地址起始为0150H BB_1 DB8 dup(?) ;初始化BB_1数据段 COUNT DW8 ;定义count变量,类型为字 DATA ENDS CSEG SEGMENT ASSUME CS:CSEG,DS:DATA ;指明段和段寄存器之间的关系 START:MOV AX,DATA ;初始化,将DATA送给DS MOV DS,AX MOV CX,COUNT ;将8送给CX LEA SI,AA_1 ;把AA_1数组的开始标号偏移地址移入SI LEA DI,BB_1 ;把BB_1数组的开始标号偏移地址移入DI LP1: MOV AL,[SI] ;将SI的数据移入AL ADD AL,2 ;将AL中的值+2 MOV[DI],AL ;将AL的内容移入DI INC SI ;si自加1 INC DI ;DI自加1 LOOP LP1 ;循环操作,直至AA_1中8个数都加2 LEA SI,BB_1 MOV CX,COUNT ;计数器cx DISP: MOV DL,[SI] ;输出当前SI存储的值 ADD DL,30H ;将DL中的内容+30H(即+48),即转化为其对应的ASCII码值MOV AH,02 ;重新给AH赋值 INT 21H MOV DL, ;将DL清空,等待下一次赋新值 MOV AH,2 ;dos功能调用 INT 21H ;DOS功能调用 INC SI ;将SI自加1 LOOP DISP ;循环输出,显示BB_1数组中每一个数 MOV AH,4CH INT 21H CSEG ENDS END START 对上述程序加上解释,并运行观察结果。 运行结果: 更改AA_1数组数据再次测试 验证正确 三、实验题 1已知数组A包含15个互不相等的整数,数组B包含20个互不相等的整数。试编制一程序,把既在A中又在B中出现的整数存放在数组C中。 程序代码: DATAS SEGMENT A DW 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 B DW 0,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24 C5 DW 15 dup(?) ;此处输入数据段代码 DATAS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS START: MOV AX,DATAS MOV DS,AX ;将DATAS存入DS LEA SI,A ;将A的有效地址送到SI LEA DI,C5 ;将C5的有效地址送到DI MOV CX,15 ;设置循环计数器 L1: MOV AX,[SI] PUSH CX MOV CX,30 LEA BX,B INLOOP: MOV DX,[BX] CMP AX,DX JNZ NO ;判断,不相等就转移—NO MOV [DI],AX ADD DI,2 NO: ADD BX,2 LOOP INLOOP POP CX ADD SI,2 L
原创力文档


文档评论(0)