昆明理工大学微机原理与应用实验.docx
- 文档编号:2451195
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:13
- 大小:461.62KB
昆明理工大学微机原理与应用实验.docx
《昆明理工大学微机原理与应用实验.docx》由会员分享,可在线阅读,更多相关《昆明理工大学微机原理与应用实验.docx(13页珍藏版)》请在冰豆网上搜索。
昆明理工大学微机原理与应用实验
昆明理工大学
《微机原理与应用》实验指导书
班级:
电自091
姓名:
学号:
2012年5月23日
昆明理工大学电力工程学院学生实验报告
实验课程名称:
汇编语言程序上机操作方法实验
开课实验室:
计算中心2012年4月27日
实验项目
名称
汇编语言程序上机操作方法实验
指导
教师
蔡子龙
一、实验目的
学习程序设计的基本方法和技能,熟练掌握用汇编语言设计、编写、调试和运行程序的方法,为后继课程打下坚实的基础。
二、实验原理
使用MASM汇编语言设计工具,设计简单的汇编语言程序并进行运行调试,以便掌握汇编语言设计、编写、调试和运行程序的方法。
实验题目:
比较两个字符串的长度并输出较长的字符串
三、实验仪器、材料
1.软件MASM5.0
2.PC微机一台
四、实验步骤
1、建立asm文件
在windows系统环境下,应用写字板或其它文字编辑软件编写汇编语言源文件。
注意保存的源文件以asm为后缀。
2、用汇编程序MASM对源文件汇编产生目标程序.OBJ。
3、用连接程序LINK产生可执行文件.EXE。
4、执行程序。
5、程序调试
源程序代码:
DATASEGMENT
ARRAYDB12,90,100,54,43,32,21,56,11,34
COUNTDW$-ARRAY
MAXDB?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVCX,COUNT
MOVSI,OFFSETARRAY
MOVAL,[SI]
AGAIN:
INCSI
CMPAL,[SI]
JAENEXT
MOVAL,[SI]
NEXT:
DECCX
JNZAGAIN
MOVMAX,AL
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
运行程序得到的结果:
六、实验结果分析:
DEBUG是汇编语言的调试指令,当程序出现语法错误时,运行中无法形成EXE文件,可以直接检查程序。
但是若出现逻辑错误,则在程序中无法看出,需要用DEBUG来检查内存和寄存器的内容。
各种不同的指令有不同的作用,如D为显示内存命令,E为修改存储单元内容命令等。
该程序比较简单,因此DEBUG命令并不明显,在程序比较复杂的情况下,DEBUG的作用极为明显。
七、实验中遇到的问题及其解决方法。
第一次编程时,程序容易出错,主要是容易遗漏一些语句,中英文的冒号混淆,认真检查便可发现并改正错误。
昆明理工大学电力工程学院学生实验报告
实验课程名称:
汇编语言程序上机操作方法实验
开课实验室:
计算中心2082012年4月27日
实验项目
名称
十制的进BCD码加(减)法运算。
指导
教师
蔡子龙
一、实验目的
1.掌握使用运算类指令编程及调试方法。
2.学会运算类指令解决实际问题的方法。
3.掌握运算类指令对各标志位的影响及其测试方法。
二、实验原理/说明
实验题目:
十进制的BCD码加(减)法运算。
三、实验仪器、材料
1.软件MASM5.0
2.PC微机一台
四、实验方法、步骤
1.输入程序并检查无误,经汇编、连接后生成.EXE文件。
2.使用DEBUG命令运行以上程序。
3.反复试几组数,考察程序的正确性。
五、实验思考题及实验报告要求
程序代码
DATASEGMENT
ADB25H
BDB17H
SUMDB?
DATAENDS
CODESEGMENT
ASSUMEDS:
DATA,CS:
CODE
START:
MOVAX,DATA
MOVDS,AX
MOVAL,A
ADDAL,B
DAA
MOVSUM,AL
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
执行link后的结果:
执行debug后再执行反汇编u后的结果:
执行g0012后在执行d0命令后的结果:
结果如图,AL的值为42,符合25加17的计算结果。
。
昆明理工大学电力工程学院学生实验报告
实验课程名称:
汇编语言程序上机操作方法实验
开课实验室:
计算中心2082012年5月11日
实验项目
名称
分支、循环及子程序设计实验
指导
教师
蔡子龙
一、实验目的
1.学习分支程序、循环结构程序的设计和调试方法。
2.学习子程序的定义和调试方法。
3.掌握分支、循环、子程序等程序的基本结构。
二、实验原理/说明
实验题目:
求某数据区内负数的个数。
三、实验仪器、材料
1.软件MASM5.0
2.PC微机一台
四、实验方法、步骤
1.输入程序并检查无误,经汇编、连接后生成.EXE文件。
2.使用DEBUG命令运行以上程序。
3.反复试几组数,考察程序的正确性。
五、实验思考题及实验报告要求
代码:
DATASEGMENT
ARRAYDB-16,18,-12,9,-5,-6,5,0,-11
COUNTDW$-ARRAY
MAXDB?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVAL,0
MOVDL,0
MOVCX,COUNT
MOVSI,OFFSETARRAY
AGAIN:
CMP[SI],AL
JGENEXT
INCDL
NEXT:
INCSI
DECCX
JNZAGAIN
ADDDL,30H
MOVAH,2
INT21H
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
执行MASM命令后的结果如下:
执行link后的结果如下:
执行debug后再执行反汇编u后的结果如下:
执行g0029后在执行d0命令后的结果如下:
程序运行后得上图,与预期结果一致,所以正确。
本题要求负数的个数首先负数计数器BL、程序计数器CX清零,指针指向数据段的首地址,然后取数据段的第一个数和0比较,若大于零则指针加一,循环计数器加一,否则负数个数加一,指针加一,程序计数器加一,直到程序计数器等于数据区的数据个数,程序执行完毕,输出结果。
昆明理工大学电力工程学院学生实验报告
实验课程名称:
汇编语言程序上机操作方法实验
开课实验室:
计算中心2082012年5月11日
实验项目
名称
显示程序设计实验
指导
教师
蔡子龙
、实验目的
1.了解INT21H部分功能号的功能和使用方法。
2.掌握字符方式下PC机显示器显示控制。
3.掌握分支、循环、子程序等程序的基本结构。
二、实验原理/说明
实验题目:
在显示器上显示A~Z26个英文字母。
三、实验仪器、材料
1.软件MASM5.0
2.PC微机一台
四、实验方法、步骤
1.输入程序并检查无误,经汇编、连接后生成.EXE文件。
2.使用DEBUG命令运行以上程序,并观察实验结果。
3.修改程序,使显示结果重复5次后退出。
4.要求分别用AH=02H和AH=09H来完成。
五、实验思考题及实验报告要求
使用AH=09H
DATASEGMENT
BUFDB'ABCDEFGHIJKLMNOPQRSTUVWXYZ',0AH,0DH,'$'
DATAENDS
CODESEGMENT
ASSUMEDS:
DATA,CS:
CODE
START:
MOVAX,DATA
MOVDS,AX
MOVCX,5
AGAIN:
MOVDX,OFFSETBUF
MOVAH,9
INT21H
LOOPAGAIN
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
AH=09H的ASM源程序:
DATASEGMENT
BUFDB'ABCDEFGHIJKLMNOPQRSTUVWXYZ',0AH,0DH,'$'
DATAENDS
CODESEGMENT
ASSUMEDS:
DATA,CS:
CODE
START:
MOVCX,5
MOVAX,DATA
MOVDS,AX
MOVDX,OFFSETBUF
AGAIN:
MOVAH,9
INT21H
LOOPAGAIN
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
AH=02H的结果:
执行MASM命令后的结果:
执行link后的结果:
执行EXE文件后的结果:
AH=09H的结果:
执行MASM命令后的结果:
执行link后的结果:
执行EXE文件后的结果:
用AH=02H和AH=09H做出来的结果是一样的,但是09H是输出一个字符串而02H输出的是一个字符。
显然用09H输出较为简便。
02H中断为单个字符显示输出,所以需要循环才来实现整个字符串的输出。
首先取第一个字符,用02H来显示,然后指针自加1后,循环显示下一个字符,当所设循环次数CX=26被减为0时,循环结束,屏幕上出现26个字母,然后再循环五次。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 昆明 理工大学 微机 原理 应用 实验