8086 汇编语言分支程序设计.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
8086 汇编语言分支程序设计

PAGE  PAGE 7 汇编语言程序设计实验报告 学院:计算机科学与技术 专业:计算机科学与技术 班级:计科131 姓名学号实验组实验时间指导教师肖敏成绩实验项目名称实验三: 8086 汇编语言分支程序设计实验目的熟悉分支程序的调试方法。实验原理对汇编源程序进行汇编、链接,在Debug环境下完成调试和运行。实验内容编写一个程序,显示AL 寄存器中的两位十六进制数实验环境1. 硬件:微型计算机1台 2. 软件:MASM软件实验步骤实验一:编程实现在显示器上输出AL 中的内容: 1.源程序如下所示,编辑下面的源程序到文件three.asm 中: CODE SEGMENT ASSUME CS:CODE START: MOV AL,3EH ;此处假设为3EH MOV BL,AL MOV DL,AL MOV CL,4 SHR DL,CL CMP DL,9 JBE NEXT1 ADD DL,7 NEXT1: ADD DL,30H MOV AH,2 INT 21H ;显示高位ASCII 码 MOV DL,BL AND DL,0FH CMP DL,9 JBE NEXT2 ADD DL,7 NEXT2: ADD DL,30H MOV AH,2 INT 21H ;显示低位ASCII 码 MOV AH,4CH INT 21H CODE ENDS ;返回DOS END START 使用相应的文本编辑器建立文件three.asm,内容如上所示。 2.生成可执行文件: 1.汇编: C:\masm masm three; 2.连接: C:\masm link three; 3.运行及调试: 1. 运行: C:\masmdebug three.exe -U0 ;通过反汇编查找程序的断点 -T=0 2 ;加载数据段 -D0 ;查看原始数据是否正确 -G=0 XX ;运行程序至断点XX 处 -R ;查看程序运行结果 以上命令执行的细节可参照实验二中的说明。 4.调试: 修改AL 的内容,判断此程序是否能正确显示其中的内容的方法。 例:修改AL 内容为9AH: -L ;重新加载可执行文件 -A0 ;重新修改MOV AL,3EH 指令 361E:0000 MOV AL,9A 361E:0002 -G=0 xx;带断点运行 -R ;查看程序运行结果 实验二:编写一个数据区移动程序,要考虑源数据区与目的数据区有重叠的情况。 1.源程序如下所示,编辑下面的源程序到文件lab.asm 中: 使用相应的文本编辑器建立文件lab.asm,内容如上所示。 2.生成可执行文件: 1.汇编: C:\masm masm lab; 2.连接: C:\masm link lab; 3.运行及调试: 1. 运行: C:\masmdebug lab.exe -U0 ;通过反汇编查找程序的断点 -T=0 2 ;加载数据段 -D0 ;查看原始数据是否正确 -G=0 XX ;运行程序至断点XX 处 -R ;查看程序运行结果 实验三:编程完成一个字符串的统计,要求分别统计出字母、数字、其它字符的个数。 1.源程序如下所示,编辑下面的源程序到文件lab1.asm 中: DATA SEGMENT NUMBER DB 0 CHAR DB 0 REST DB 0 STR1 DBNUMBER:,$ STR2 DBCHAR:,$ STR3 DBREST:,$ DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX AGAIN: MOV AH,1 INT 21H CMP AL,0DH JZ EXIT CMP AL,0 JNL NEXT1 INC REST JMP AGAIN NEXT1: CMP AL,9 JBE N1 CMP AL,65 JNL NEXT2 INC REST JMP AGAIN NEXT2: CMP AL,90 JBE N2 CMP AL,97 JNL NEXT3 INC REST JMP AGAIN NEXT3: CMP AL,122 JBE N2 JMP AGAIN N1: INC NUMBER JMP NUMBER JMP AGAIN N2: INC CHAR JMP AGAIN EXIT: LEA DX,STR1 MOV AH,09H INT 21H MOV DL,NUMBER ADD DL,30H

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档