汇编语言期末复习实验整理.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编语言期末复习实验整理

汇编语言程序设计期末复习 实验一DEBUG的使用 (一)源代码 DSEG SEGMENT DATA1 DB 4 DUP(1),10H,11,0AH,0,0BH;定义变量DATA1,4 DUP(1)是四个重复的1。 SUM DB ?;定义变量SUM用了存放结果。 COUNT EQU 9 DSEG ENDS;数据段 SSEG SEGMENT STACK DB 100H DUP(0) SSEG ENDS;堆栈段 CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG,SS:SSEG START:MOV AX,DSEG MOV DS,AX XOR AL,AL;将AL清0,XOR指令:目的操作数与源操作数按位做异或操作,结果送目的操作数 MOV CX,COUNT;设置循环次数,COUNT=9 LEA SI,DATA1;将DATA1的有效地址给SI(通用寄存器),即SI指数据区的起始位置。 LOOP1:ADD AL,[SI];将SI所指的数据加到AL中去。 INC SI;SI+1,将SI指向下一字节。 LOOP LOOP1;CX减1计数,减1后不为0,则转至LOOP1的标号处。 MOV SUM,AL;将DATA1中9个字节之和送变量SUM MOV AH,4CH INT 21H;返回DOS CSEG ENDS;代码段 END START (二)程序分析 MASM 1.ASM进行汇编之后 LINK 1.OBJ链接OBJ文件 DEBUG 1.EXE -U命令查询代码段。程序段0016为代码段结束的地方 -G=0000 0016 AX的低位AL存放了最,9位数相加的结果为34,SI指针移动了9次所以SI=0009 -D DS:0000查询数据段的变化 0000后面是数据段按顺序放得数据,4对应的ASCII码为34。所以虚线上显示为4. 实验二顺序程序设计 (2.1) 源程序 DSEG SEGMENT PASSW DB ?,? DISP DB INPUT YOUR PASSWORD PLEASE:,0AH,0DH,$;定义字符串显示提示信息。0AH为LF=换行 0DH为CR=回车 MM DB *$ DSEG ENDS ; SSEG SEGMENT STACK DB 80H DUP(0) SSEG ENDS ; CSEG SEGMENT ASSUME DS:DSEG,SS:SSEG,CS:CSEG START:MOV AX,DSEG MOV DS,AX MOV DX,OFFSET DISP ;OFFSET取DISP的偏移地址送DX MOV AH,09;09号指令:在输出设备上显示某个字符串,显示的字符串以“$”作为结束表示 INT 21H MOV SI,OFFSET PASSW MOV AH,08H;08号指令:等待标准输入设备输入一个字符,将该字符的ASCII码送AL,屏幕上不显示输入的数据,当字符为CTRL+BREAK时终止程序执行。 INT 21H MOV [SI],AL MOV DX,OFFSET MM MOV AH,09H;显示* INT 21H INC SI;指针SI向下一个字节移动 MOV AH,08 INT 21H MOV [SI],AL MOV DX,OFFSET MM MOV AH,09H INT 21H MOV AH,4CH INT 21H CSEG ENDS END START (二)程序分析 执行程序,显示提示信息,输入两个字符,显示** 43,43为CC的ASCII码,随后就是提示信息所对应的ASCII码以及两个$结束符。密码为CC (2.2) (一)源程序 DSEG SEGMENT BUF1 DB 0,1,2,3,4,5,6,7,8,9 BUF2 DB 10 DUP(0) BUF3 DB 10 DUP(0) BUF4 DB 10 DUP(0) DSEG ENDS ; CSEG SEGMENT ASSUME DS:DSEG,CS:CSEG START:MOV AX,DSEG MOV DS,AX ; MOV SI,OFFSET BUF1 MOV DI,OFFSET BUF2 MOV BX,OFFSET BUF3 M

文档评论(0)

juhui05 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档