微机原理实验讲义PPT教学课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Debug命令定义见附百度文库1。
2020/12/11
19
四、实验练习
1、编写一个程序,把缓冲区BUF1中连续 30个字节置77H。
提示:可利用LEA指令把BUF1的偏移 量提取到偏移地址寄存器中,再使用寄 存器间址方式访问存储单元。
2、编写程序,计算式子(W*X)/(Y+6),
商放在 Z 中,余数放在 R 中。其中
微机原理实验讲义
2020/12/11
1
说明
本讲义只包括汇编语言的软件设计 实验而不包括硬件实验。共安排五个实 验,内容涉及8086/8088寻址方式和指令 系统练习、顺序、分支、循环三种结构 的程序实现,dos功能调用等。每个实验 都给出源程序供参考,并在实验后给出 思考题,以此促进学生对程序的理解。 同时还给出实验练习题,作学生课下练 习使用,每个练习都给予了适当提示。
16
• 若要显示代码段,则可选择options 菜单下的memory1 window…,出现如 下所示的窗口,把address expression 栏中的DS修改为CS,再次重复(2)的 步骤,就可以观察代码段的内容了。可 用类似的方法观察其他段的存储情况。
改为CS
2020/12/11
17
• 用按键执行调试命令: F8:跟踪执行; F10:单步执行; F5:全速执行。
2020/12/11
12
• 运行后得到如下结果:
(5)使用调试工具codeview。 操作方法:点击Run菜单,选择debug。 出现codeview调试器窗口如下:
2020/12/11
13
12
3
1区显示的是指令存放的段地址和偏移量,中间2区
显示的是指令的机器码。最右侧的3区显示的是反汇编代
码。
X,Y,Z,R 和 W 为存放16位带符号数单元
的地址。
2020/12/11
20
五、思考题
完成实验练习,通过观察寄存器和 存储器结果,验证程序设计是否正确。
2020/12/11
21
实验二 8086/8088指令系统和寻址 方式练习
(3)运行D:\MASM611\BIN下面的集成开发环 境PWB。
2020/12/11
6
(4)在PWB环境中,选择Options菜单,打开Build Options命令,选择生成可执行文件为调试类 型。
(5)开始编写程序或者调入已有的程序。
(6)写好程序后,选择相应菜单中命令进行汇编, 链接,调试,如果有错误进行修改。
2020/12/11
14
• 查看寄存器的值。(ALT+7)
选择Windows菜单下的register,则弹出寄存器 窗口,可以查看寄存器内容,如下图所示:
2020/12/11
15
• 查看存储区域的内容(ALT+5)
选择windows菜单下的memory1, 弹出存储器窗口如下,缺省显示数据段。
2020/12/11
• MOV AH,09H ;调用DOS中断,显示HELLO,WORLD!字符串
• INT 21H
• MOV AH,4CH
;返回DOS
• INT 21H
• CODE ENDS
• END START
2020/12/11
9
(2)对汇编源文件进行汇编,汇编成功 后生成二进制目标文件.obj。 方法是鼠 标选择project compile file,若无语 法错误,则会出现如下提示,回车后可 进行连接;若有错误,则按V查看错误信 息,修改程序直到无错误。
3
实验一 汇编语言的编译、链接和 调试
• 实验目的 • 实验环境 • 实验内容 • 实验练习 • 思考题
2020/12/11
4
一、实验目的
• 学会使用masm6.11对汇编源程序进行 编译、链接、调试、运行。
• 掌握汇编语言的程序格式。 • 巩固所学的汇编语言指令。
二、实验环境
• 32位PC、MASM6.11软件
2020/12/11
7
2、程序示例: 屏幕上显示“hello,world!” (1)打开PWB,弹出如下界面,
输入以下源程序,然后保存:
2020/12/11
8
• DATA SEGMENT
;定义一个数据段
• STRR DB 'HELLO,WORLD!$'
;定义一个数据区存放字符串
• DATA ENDS
2020/12/11
2
目录
• 实验一 汇编语言的编译、链接和调试 • 实验二 8086/8088寻址方式和指令系统练习 • 实验三 学生成绩统计程序 • 实验四 数码转换程序 • 实验五 冒泡法排序程序
• 附录1 DEBUG部分调试命令
• 附录2 ASCII码表
• 附录3 部分DOS系统功能调用
2020/12/11
2020/12/11
5
三、实验内容
1、MASM6.11的安装、设置步骤
(1)找到MASM6中DISK1的SETUP.EXE程序, 按照提示安装该软件包,可以安装在硬盘的 任何一个分区。
(2)假设安装在D盘,那么安装完成后在目录 D:\MASM611\INIT\中有一个名为TOOLS.PRE 的文件,复制该文件并改名为TOOLS.INI.。
程序复位:用鼠标点击Run菜单下restart。 设置断点:鼠标双击指令行。
• debug命令的使用 Codeview 调试器的命令与 Debug 命令类
似,在此也可以按 Debug 中的调试方法对程序 进行调试。
2020/12/11
18
操作方法是在codeview调试器界 面下选择windows菜单项中的 command,或直接按alt+9,出现的命 令行如下。
• STACK SEGMENT STACK
• DB 200 DUP(?)
• STACK ENDS
• CODE SEGMENT
• ASSUME CS:CODE,DS:DATA
•
;定义CODE段为代码段,DATA段为数据段
• START:
• MOV AX,DATA
• MOV DS,AX
• LEA DX,OFFSET STRR ;取数据区的首地址偏移量给DX
2020/12/11
10
(3)对目标文件进行连接,连接成功后生 成可执行性程序.exe。操作方法是点击 project菜单下的build项,若连接成功, 则出现如下提示,同时生成.exe文件。
2020/12/11
11
• (4)运行可执行性文件,得到运行结果。 操作方法是点击Run菜单,选择 execute。
2020/12/11
19
四、实验练习
1、编写一个程序,把缓冲区BUF1中连续 30个字节置77H。
提示:可利用LEA指令把BUF1的偏移 量提取到偏移地址寄存器中,再使用寄 存器间址方式访问存储单元。
2、编写程序,计算式子(W*X)/(Y+6),
商放在 Z 中,余数放在 R 中。其中
微机原理实验讲义
2020/12/11
1
说明
本讲义只包括汇编语言的软件设计 实验而不包括硬件实验。共安排五个实 验,内容涉及8086/8088寻址方式和指令 系统练习、顺序、分支、循环三种结构 的程序实现,dos功能调用等。每个实验 都给出源程序供参考,并在实验后给出 思考题,以此促进学生对程序的理解。 同时还给出实验练习题,作学生课下练 习使用,每个练习都给予了适当提示。
16
• 若要显示代码段,则可选择options 菜单下的memory1 window…,出现如 下所示的窗口,把address expression 栏中的DS修改为CS,再次重复(2)的 步骤,就可以观察代码段的内容了。可 用类似的方法观察其他段的存储情况。
改为CS
2020/12/11
17
• 用按键执行调试命令: F8:跟踪执行; F10:单步执行; F5:全速执行。
2020/12/11
12
• 运行后得到如下结果:
(5)使用调试工具codeview。 操作方法:点击Run菜单,选择debug。 出现codeview调试器窗口如下:
2020/12/11
13
12
3
1区显示的是指令存放的段地址和偏移量,中间2区
显示的是指令的机器码。最右侧的3区显示的是反汇编代
码。
X,Y,Z,R 和 W 为存放16位带符号数单元
的地址。
2020/12/11
20
五、思考题
完成实验练习,通过观察寄存器和 存储器结果,验证程序设计是否正确。
2020/12/11
21
实验二 8086/8088指令系统和寻址 方式练习
(3)运行D:\MASM611\BIN下面的集成开发环 境PWB。
2020/12/11
6
(4)在PWB环境中,选择Options菜单,打开Build Options命令,选择生成可执行文件为调试类 型。
(5)开始编写程序或者调入已有的程序。
(6)写好程序后,选择相应菜单中命令进行汇编, 链接,调试,如果有错误进行修改。
2020/12/11
14
• 查看寄存器的值。(ALT+7)
选择Windows菜单下的register,则弹出寄存器 窗口,可以查看寄存器内容,如下图所示:
2020/12/11
15
• 查看存储区域的内容(ALT+5)
选择windows菜单下的memory1, 弹出存储器窗口如下,缺省显示数据段。
2020/12/11
• MOV AH,09H ;调用DOS中断,显示HELLO,WORLD!字符串
• INT 21H
• MOV AH,4CH
;返回DOS
• INT 21H
• CODE ENDS
• END START
2020/12/11
9
(2)对汇编源文件进行汇编,汇编成功 后生成二进制目标文件.obj。 方法是鼠 标选择project compile file,若无语 法错误,则会出现如下提示,回车后可 进行连接;若有错误,则按V查看错误信 息,修改程序直到无错误。
3
实验一 汇编语言的编译、链接和 调试
• 实验目的 • 实验环境 • 实验内容 • 实验练习 • 思考题
2020/12/11
4
一、实验目的
• 学会使用masm6.11对汇编源程序进行 编译、链接、调试、运行。
• 掌握汇编语言的程序格式。 • 巩固所学的汇编语言指令。
二、实验环境
• 32位PC、MASM6.11软件
2020/12/11
7
2、程序示例: 屏幕上显示“hello,world!” (1)打开PWB,弹出如下界面,
输入以下源程序,然后保存:
2020/12/11
8
• DATA SEGMENT
;定义一个数据段
• STRR DB 'HELLO,WORLD!$'
;定义一个数据区存放字符串
• DATA ENDS
2020/12/11
2
目录
• 实验一 汇编语言的编译、链接和调试 • 实验二 8086/8088寻址方式和指令系统练习 • 实验三 学生成绩统计程序 • 实验四 数码转换程序 • 实验五 冒泡法排序程序
• 附录1 DEBUG部分调试命令
• 附录2 ASCII码表
• 附录3 部分DOS系统功能调用
2020/12/11
2020/12/11
5
三、实验内容
1、MASM6.11的安装、设置步骤
(1)找到MASM6中DISK1的SETUP.EXE程序, 按照提示安装该软件包,可以安装在硬盘的 任何一个分区。
(2)假设安装在D盘,那么安装完成后在目录 D:\MASM611\INIT\中有一个名为TOOLS.PRE 的文件,复制该文件并改名为TOOLS.INI.。
程序复位:用鼠标点击Run菜单下restart。 设置断点:鼠标双击指令行。
• debug命令的使用 Codeview 调试器的命令与 Debug 命令类
似,在此也可以按 Debug 中的调试方法对程序 进行调试。
2020/12/11
18
操作方法是在codeview调试器界 面下选择windows菜单项中的 command,或直接按alt+9,出现的命 令行如下。
• STACK SEGMENT STACK
• DB 200 DUP(?)
• STACK ENDS
• CODE SEGMENT
• ASSUME CS:CODE,DS:DATA
•
;定义CODE段为代码段,DATA段为数据段
• START:
• MOV AX,DATA
• MOV DS,AX
• LEA DX,OFFSET STRR ;取数据区的首地址偏移量给DX
2020/12/11
10
(3)对目标文件进行连接,连接成功后生 成可执行性程序.exe。操作方法是点击 project菜单下的build项,若连接成功, 则出现如下提示,同时生成.exe文件。
2020/12/11
11
• (4)运行可执行性文件,得到运行结果。 操作方法是点击Run菜单,选择 execute。