《实验指导书-微机原理.doc》由会员分享,可在线阅读,更多相关《实验指导书-微机原理.doc(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、实验1 汇编语言程序上机操作方法实验一、 实验目的学习程序设计的基本方法和技能,熟练掌握用汇编语言设计、编写、调试和运行程序的方法,为后继课程打下坚实的基础。学会运算类指令解决实际问题的方法。掌握运算类指令对各标志位的影响及其测试方法。二、 实验原理/说明使用MASM汇编语言设计工具,设计简单的汇编语言程序并进行运行调试,以便掌握汇编语言设计、编写、调试和运行程序的方法。实验题目:十进制的BCD码加(减)法运算。三、 实验仪器、材料1. 软件MASM5.02. PC微机一台四、 实验方法、步骤1. 建立asm文件在windows系统环境下,应用写字板或其它文字编辑软件编写汇编语言源文件。注意保
2、存的源文件以asm为后缀。2. 用汇编程序MASM对源文件汇编产生目标程序.OBJ。3. 用连接程序LINK产生可执行文件.EXE。4. 执行程序。5. 程序调试重点掌握DEBUG程序的使用方法。DEBUG的使用方法见附录二。五、 实验思考题及实验报告要求实验报告的格式见附录二。实验报告还要求有汇编源程序清单,对关键的语句(段)的必要注释,以及调试过程中的主要难点(自己遇到的)及解决思路和办法。实验2 分支、循环及子程序设计实验一、 实验目的1. 学习分支程序、循环结构程序的设计和调试方法。2. 学习子程序的定义和调试方法。3. 掌握分支、循环、子程序等程序的基本结构。二、 实验原理/说明实验
3、题目:求某数据区内负数的个数。三、 实验仪器、材料1. 软件MASM5.02. PC微机一台四、 实验方法、步骤1. 输入程序并检查无误,经汇编、连接后生成.EXE文件。2. 使用DEBUG命令运行以上程序。3. 反复试几组数,考察程序的正确性。五、 实验思考题及实验报告要求实验报告的格式见附录二。实验报告还要求有汇编源程序清单,对关键的语句(段)的必要注释,以及调试过程中的主要难点(自己遇到的)及解决思路和办法。实验3 显示程序设计实验一、实验目的1. 了解INT 21H部分功能号的功能和使用方法。2. 掌握字符方式下PC机显示器显示控制。3. 掌握分支、循环、子程序等程序的基本结构。二、实
4、验原理/说明实验题目:在显示器上显示AZ26个英文字母。三、实验仪器、材料1. 软件MASM5.02. PC微机一台四、实验方法、步骤1. 输入程序并检查无误,经汇编、连接后生成.EXE文件。2. 使用DEBUG命令运行以上程序,并观察实验结果。3. 修改程序,使显示结果重复5次后退出。4. 要求分别用AH02H和AH09H来完成。五、实验思考题及实验报告要求实验报告的格式见附录二。实验报告还要求有汇编源程序清单,对关键的语句(段)的必要注释,以及调试过程中的主要难点(自己遇到的)及解决思路和办法。昆明理工大学电力工程学院学生实验报告实验课程名称: 开课实验室: 年 月 日年级、专业、班学号姓
5、名成绩实验项目名 称指导教师教师评语一、 实验目的二、 实验原理三、 实验仪器、材料四、 实验步骤五、 实验过程原始记录(数据图表、计算等)六、 实验结果分析说明:此部分的内容和格式科根据实验课程的具体需要、要求自行设计和确定相关栏目。说明:各学院(实验中心)可根据实验课程的具体需要和要求确定实验报告的内容要求和栏目,但表头格式应按照“教师评语”栏以上部分统一;“年级、专业、班”可填写为“00测绘1班”,表示2000级测绘工程专业第1班。主要 DEBUG 命令 ( 1 )汇编命令 A 格式: a. A 段寄存器名 : 偏移地址 b. A 段地址 : 偏移地址 c. A 偏移地址 d. A 功能
6、:用该命令可以将汇编语言程序直接汇编进入内存。 当键入 A 命令后,显示段地址和偏移地址等待用户键入汇编指令,每键入一条汇编指令回车后,自动显示下一条指令的段地址和偏移地址,再键入下一条汇编指令,直到汇编语言程序全部键入,又显示下一地址时可直接键入回车返回到提示符“”为止。 其中 a 的段地址在段地址寄存器中,因此在使用该命令时必须将段地址寄存器送入段地址, c 的地址在 CS 中, d 的段地址在 CS 中,偏移地址为 100H 。 ( 2 )显示内存命令 D 格式: a. D 地址 b. D 地址范围 c. D 功能:显示指定内存范围的内容。 显示的内容为两种形式:一种为十六进制内容,一种
7、为与十六进制相对应的 ASCII 码字符,对不可见字符以“”代替。 对于 a 、 c 每次显示 128 个字节内容, b 显示的字节数由地址范围来决定。 若命令中有地址,则显示的内容从指定地址开始,若中中无地址(如 c )则从上一个 D 命令所显示的最后一个单元的下一个单元开始。若以前没有使用过 D 命令,则以 DEBUG 初始化的段寄存器的内容为起始段地址,起始偏移地址为 100H ,即 CS:100 。 对于 a 中的地址为偏移地址,段地址为 CS 的内容,对 b 中的地址范围,可以指定段地址和起始偏移地址和终止偏移地址。 ( 3 )修改存储单元内容命令 E 格式: a E 地址 内容表
8、b E 地址 功能: a 用命令所给定的内容表去代替指定地址范围的内存单元内容。 b 一个单元一个单元地连续修改单元内容。 其中:内容表为一个十六进制数,也可以是用单引号括起的一串字符。 ( 4 )填充内存命令 F 格式: F 范围 单元内容表 功能:将单元内容表中的内容重复装入内存的指定范围内。 ( 5 )内存搬家命令 M 格式: M 源地址范围 目标起始地址 其中源地址范围和目的起始地址为偏移地址,段地址为 DS 的内容。 功能:把源地址范围的内容搬至以目标起始地址开始的存储单元中。 ( 6 )比较命令 C 格式: C 源地址范围 , 目标地址 其中源地址范围是由起始地址和终止地址指出的一
9、片连续的存储单元,目标地址为与源地址所指单元对比的目标地址起始地址。 功能:从源地址范围是由起始的地址单元开始逐个与目标起始地址往后的单元顺序比较每个单元内容,比较到源终止地址为止。比较结果如果一致则不显示任何信息,如果不一致,则以 源地址 源内容 目的内容 目的地址 的形式显示失败单元地址及内容。 ( 7 )搜索指定内容命令 S 格式: S 地址范围 表 功能:在指定地址范围内搜索表中内容,搜索到就显示表中元素所在地址。 ( 8 )检查和修改寄存器内容命令 R 格式: a R b R 寄存器名 功能: a 显示 CPU 内部所有寄存器的内容和全部标志位的状态。 b 显示和修改一个指定寄定器的
10、内容和标志位的状态。 其中对状态标志寄存器 FLAG 以位的形式显示,显示时, 8 个状态标志的显示次序和符号如表 B 1 所示。 表 B 1 状态标志显示形式 标 志 位 状 态 显示形式(置位 / 复位) 溢出标志 OF 有 / 无 OV/NV 方向标志 DF 增 / 减 DN/UP 中断标志 IF 开 / 关 EI/DI 符号标志 SF 负 / 正 NG/PL 零标志 ZF 零 / 非 ZR/NZ 辅助进位 AF 有 / 无 AC/NA 奇偶标志 PF 偶 / 奇 PE/PO 进位标志 CF 有 / 无 CY/NC ( 9 )跟踪与显示命令 T 格式: a T 地址 或 T 地址 b T
11、 地址 条数 或 T 地址 条数 功能: a 执行一条指定地址处的指令,停下来,显示 CPU 所有寄存器内容和全部标志位的状态,以及下一条指令的地址和内容。 b 为多条跟踪命令,从指定地址开始;若命令中用 地址 给定了起始地址,则从起始地址开始,若未给定,则从当前地址( CS:IP )开始,执行命令中的 条数 决定一共跟踪几条指令后返回 DEBUG 状态。 ( 10 )反汇编命令 U 格式: a U 地址 b U 地址范围 功能:将指定范围内的代码以汇编 语言形式显示,同时显示该代码位于内存的地址和机器。 若在命令中没有指定地址则以上一个 U 命令的最后一条指令地址的下一个单元作为起始地址;若
12、没有输入过 U 命令,则以 DEBUG 初始化段寄存器的值作为段地址,以 0100H 作为偏移地址。 (11) 命名命令 N 格式: N 文件名 功能:在调用 DEBUG 时,没有文件名,则需要用 N 命令将要调用的文件名格式化到 CS:5CH 的文件控制块中,才能用 L 命令把它调入内存进行调试(其它形式参考 DOS 手册)。 ( 12 )读盘命令 L 格式: a L 地址 驱动器号 起始扇区号 所读扇区个数 b L 地址 c L 功能: a 把指定驱动器和指定扇区范围的内容读到内存的指定区域中。其中地址是读入内存的起始地址,当输入时没有给定地址,则隐含地址为 CS:100H 。起始扇区号指
13、逻辑扇区号的起始位置。所读扇区个数是指从起始扇区号开始读到内存几个扇区的内容。驱动器号为 0 或 1 , 0 表示 A 盘, 1 表示 B 盘。 b 读入已在 CS:5CH 中格式化的文件控制块所指定的文件。在使用该命令前用 N 命令命名即可将要读入的文件名格式化到 CS:5CH 的文件控制块中,其中地址为内存地址。 c 同 b 地址隐含在 CS : 100H 中。 当读入的文件有扩展名 .COM 或 .EXE ,则始终装入 CS:100H 中,命令中指定了地址也没用。 其中 BX 和 CX 中存放所读文件的字节数。 (13) 写盘命令 W 格式: a W 地址 驱动器号 起始扇区号 所写扇区
14、个数 b W 地址 c W 功能: a 把在 DEBUGU 状态下调试的程序或数据写入指定的驱动器中 , 起始扇区号 , 所写扇区个数为要占盘中几个扇区。 写盘指定扇区的操作应十分小心,如有差错将会破坏盘上的原有内容。 如果在命令行中的地址只包含偏移地址, W 命令认为段地址在 CS 中。 b 当键入不带参数的写盘命令时, ( 或只键入地址参数的写盘命令 ) ,写盘命令把文件写到软盘上。该文件在用 W 命令之前用命名命令 N 将文件格式化在 CS:5CH 的文件控制块中。 c 只有 W 命令以前而没有任何参数时,与 N 配合使用进行写盘操作。 在用 W 命令以前在 BX 和 CX 中应写入文件
15、的字节数。 ( 15 )输出命令 O 格式: O 端口地址 字节值 功能:向指定端口地址输出一个字节。 ( 16 )运行命令 G 格式: G 地址 地址 地址 功能:执行用户正在调试的程序。 其中地址为执行的起始地址,以 CS 中内容作为段地址,以等号后面的地址为偏移地址。再后面的地址为断点地址。在命令行中只有起始地址,没有断点地址,则程序在执行时不中断。 DEBUG 规定最多设置 10 个断点地址。设置多个断点用于调试较大的程序,即程序中有多个模块、多个通路时用,比较方便,在执行时不论走哪条通路,程序都可以在断点处停下来,以便调整程序。 断点地址为程序中断处的偏移地址,段地址在 CS 中。 当执行在 DEBUG 状态下汇编的小段程序时,只用 G 命令即可。 ( 17 )十六进制运算命令 H 格式: H 数据 1 数据 2 其中数据 1 和数据 2 为十六进制数据。 功能:将两个十六进制数进行相加、减,结果显示在屏幕上。 ( 18 )结束 DEBUG 返回到 DOS 命令 Q 格式: Q 功能:程序调试完退出 DEBUG 状态,返回到 DOS 状态下。 Q 命令不能把内存的文件存盘,要想存盘必须在退出 DEBUG 之前用 W 命令写盘