微机原理上机实验 实验二.doc

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

微机原理 第二次实验 实验项目名称:分支结构程序设计 学号: 姓名: 班级: 实验地点: 指导教师: 完成日期: 实验目的和要求 1、熟悉运算类指令对标志位的状态影响以及标志位状态的表示方法; 2、掌握条件转移、无条件转移指令的使用方法; 3、掌握分支程序设计、编写、调试和运行的方法。 二、实验设备(环境)及要求 运行汇编语言所需要在磁盘上建立的文件: EDIT.COM(编程程序)或其他编辑软件 MASM.EXE(汇编程序) LINK.EXE(连接程序) DEBUG.EXE(调试程序,DOS外部命令文件) 实验内容及步骤 调试步骤 建立汇编语言源程序(即:建立文件名.asm) 汇编目标文件(即:编译为.obj .lst .crf 文件) 编译不通过,重新修改(错误类型:源程序语句不合法) 连接为可执行文件(即:链接为.exe或.com文件) 运行编译好的可执行文件 用调试工具DEBUG调试,重新修改(逻辑错误) 实验内容 实验一:编写程序,实现将大写字母字符串转换成小写字母字符串。 设:字符串的首地址为STRING,字符串的长度在LEN单元内。 实验源程序: DATA SEGMENT STRING DB I am a Student LEN equ $-STRING DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV DX,SEG STRING MOV DS,DX MOV SI,OFFSET STRING MOV CX,LEN L0:MOV AL,[SI] INC SI CMP AL,Z JAE L1 CMP AL,A JBE L1 ADD AL,20H L1:MOV DL,AL MOV AH,2 INT 21H LOOP L0 MOV AH,4CH INT 21H CODE ENDS END START 实验过程截图: 编译后没有错误 执行之后实现功能,把字符串中的大写字母变成了小写。 实验二:从键盘输入一个字符,判断该字符是小写字母、大写字母、数字或其他字符,并给出相应的提示。 调用一号中断输入字符,用九号中断输出提示字符串。 实验源程序: DATA SEGMENT ABC1 DB shi Shu Zi$ ABC2 DB shi Da Xie zi mu$ ABC3 DB shi Xiao Xie zi mu$ ABC4 DB shi Qi Ta zi fu$ DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV AH,1 INT 21H CMP AL,0 JB L8 CMP AL,9 JBE L5 CMP AL,A JB L8 CMP AL,Z JBE L6 CMP AL,a JB L8 CMP AL,z JBE L7 JMP L8 L5:MOV DX,OFFSET ABC1 JMP L9 L6:MOV DX,OFFSET ABC2 JMP L9 L7:MOV DX,OFFSET ABC3 JMP L9 L8:MOV DX,OFFSET ABC4 JMP L9 L9:MOV AH,9 INT 21H MOV AH,4CH INT 21H CODE ENDS END START 实验过程截图: 编译后没有错误 执行后成功实现功能,分别判断了小写字母‘a’大写字母‘Z’数字8和字符‘@’‘*’。 四 实验结果与数据处理 第一个实验,我使用了比较语句CMP,判断字符串中的字符是否在‘A’和‘Z’之间,如果是,则把它的ASCII码值加上20H,即把大写字母转换成小写字母,再调用二号中断把字符一个一个输出。在题目中输入I am a Student,结果输出i am a student。 第二个实验同样使用了比较语句和分支跳转语句,先调用一号中断输入一个字符进入AL寄存器。接着按照ASCII码值从小到大的顺序依次和字符‘0’‘9’‘A’‘Z’‘a’‘z’相比较,利用分支跳转语句就可以把不用类型的字符区分开,最后调用九号中断,把相对应的提示字符串在屏幕上显示出来

文档评论(0)

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

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

1亿VIP精品文档

相关文档