微型计算机原理试验与学习指导_第1页
微型计算机原理试验与学习指导_第2页
微型计算机原理试验与学习指导_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Experiment 1. Addressing mode & Basic instructions寻址方式与根本指令实验2.1.1 实验目的1、熟悉 80x86 寻址方式及根本指令的功能,进一步理解和稳固课堂学习内容。2、掌握汇编语言程序设计上机过程 , 掌握汇编语言源程序结构,为后续汇编语言程序设计打好根底。3、熟悉 Microsoft 的 DEBUG 或 Borland 的 Turbo DEBUG 调试工具的使用方法2.1.2 实验预习要求1、认真阅读本书第一局部第 1 章,熟悉汇编语言程序设计上机步骤。2、认真阅读本书第三局部,熟悉 DEBUG 调试工具的使用方法。3、复习 80x86

2、 操作数寻址方式及根本指令数据传送、算术运算和逻辑运算等 。4、了解实验内容,并在实验前根据课堂所学知识答复有关问题个别取决于程序实际运行环境的问题 除外,以便在实验时进行验证。2.1.3 实验内容1、读懂以下源程序, 使用 EDIT 生成名为 EX11.ASM 的源程序, 汇编生成 EX11.OBJ 文件和 EX11.LST 文件,连接生成 EX11.EXE 文件;用 EDIT 翻开 EX11.LST 文件,了解 .LST 文件包含的信息;使用 DEBUG 调试工具单步执行 EX11.EXE 程序,注意观察 IP 值的变化,并答复以下问题。1程序装入后,代码段存放器 CS 的内容为 H ,代

3、码段第一条可执行指令 MOV AX,DATA 对应的机器代码为 H ,它是一个 字节指令,注意观察执行该指令时IP 值的变化情况,该指令源操作数 DATA 的寻址方式是 ,其值为 。2执行完 MOV DS, DATA 指令后,数据段存放器 DS 的内容为 H ,源程序在数据段中定义的数据 82H 、68H 和 88H 被装入的存储单元的物理地址分别为 H 、H 和H。3程序中第一条 ADD AL, BX 指令对应的机器代码为 H ,它是一个 字节指令,注意观察执行该指令时 IP 值的变化情况; 该指令中源操作数的寻址方式为 ,该操作数所在存储单元的逻辑地址 DS: BX 为,其物理地址为 H

4、;执行完该指令后 AL=H ,CF=,OF,ZF,SF,AF ,PF;假设两操作数为无符号数,计算结果是否正确 ?假设两操作数为带符号数,计算结果是否正确 ?假设计算结果正确,结果是正数还是负数 ?4执行完第二条 ADD AL, BX 指令后 AL=H ,CF=,OF,ZF ,SF,AF ,PF;假设两操作数为无符号数, 计算结果是否正确 ?假设两操作数为带符号数,计算结果是否正确 ? 5指令 MOV SUM, AL 中目的操作数的寻址方式为 。该指令执行完后,注意观察DS:0003H 单元中值的变化,该单元的值变为 H 。DATASEGMENTNUMDB 82H, 68H, 88HSUM D

5、B ?DATAENDSCODESEGMENTASSUME CS:CODE, DS:DATASTART:MOV AX, DA TAMOVMOVMOVINCADDINCADDMOVMOVINTCODE ENDSDS, AXBX, OFFSET NUMAL, BXBXAL, BXBXAL, BXSUM, ALAH, 4CH21HEND START2、读懂以下源程序;编辑、汇编、连接生成EX12.ASM 、EX12.OBJ 、EX12.LST 、EX12.EXE 文件;使用 DEBUG 单步执行 EX12.EXE 文件,并答复以下问题。( 1)代码段的前三条指令 MOV AX, STACK 、MOV

6、SS, AX 和 MOV SP, LENGTH STL 的功能为 堆栈初始化,试问执行完这三条指令后,堆栈栈底所在单元的逻辑地址(SS): (SP)为;执行PUSH AX指令后堆栈指针存放器(SP)=H,此时,(SS): (SP+1)和(SS): (SP)单元的值为H;执行完PUSH BX后(SP)=H,此时,(SS): (SP+1)和(SS): (SP)单元的值为H ;执行完 POP AX 后(SP)=H ;执行完 POP BX 后(SP)=H ;此时(AX)=H , (BX)=H 。请读者通过对堆栈操作指令执行情况的观察,进一步掌握进、出栈操作过程。( 2)执行 ADD AX, BX 指令

7、后 (AX)=H , CF= , OF , ZF , SFAF , PF(注意考虑 PF 值与计算结果高 8位有无关系) ;假设两操作数为无符号数,计算结果是否正确 ?假设两操作数为带符号数,计算结果是否正确 ?( 3)执行 AND AX, BX 指令后 (AX)=H , CF= , OF , ZF , SFAF , PF。STACK SEGMENT stackSTL DW 100H DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODE,SS:STACKSTART: MOVMOVAX, STACKSS, AXMOV SP, LENGTH STL;表达式“ LEN

8、GTH STL 的功能为计算 STL中定义的变量的个数,;汇编后其值为 100H ,详见教材 MOVMOVPUSHPUSHADDPOPAXBXAX, BXAXPOPBXAND AX, BXMOV AH,4CHINT 21HCODE ENDSEND START指出以下指令的错误原因,上机运行,观察汇编程序(MASM.EXE)给出的出错信息,改正后再上机验证。(1)MOVBP, BL(2)MOVBX,BP(3)MOVBX,20H(4)INCSI(5)ADDAX,SI+DI(6)SHLAX,3(7)PUSH2000H(8)POPAL(9)MOVCS,AX(10) MOVDS,1000H有关常见汇编错误的详细内容见本书第三局部第o3、3 章“汇编语言程序常见汇编错误分析2.1.4 实验报告要求1、写出任务 1 和任务 2 中所有问题的正确答案;对实验前做错或做不出来的问题,说明通过上机操作 对这些问题有哪些新的认识。2、写出任务 3中 10条错误指令的错误原因, 对可

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论