西安邮电大学(计算机学院)微机原理与接口技术课内实验报告专业名称:计算机科学与技术班级:计科1706学生姓名:杜方圆学号(8位):02175066实验时间:2019年5月22日实验名称:寻址方式与基本指令实验实验目的:1、熟悉80*86寻址方式及基本指令的功能,进一步理解和巩固课堂学习内容。2、掌握汇编语言设计上机过程,掌握汇编语言源程序结构,为后续汇编语言程序设计打好基础。3、熟悉Microsoft的DEBUG或Borland的TurboDEBUG调试工具的使用方法。实验环境:Windows7以及DOSBOX实验内容:1、1,读懂下列源程序,使用EDIT生成名为EX11.ASM的源程序,汇编生成EX11.OBJ文件和EX11.LST文件,连接生成EX11,EXE文件;用EDIT打开EX11.LST文件,了解.LST文件包含的信息;使用DEBUG调试工具单步执行EX11.EXE程序,注意观察IP值得变化,并回答下列问题。(1)程序装入后,代码段寄存器CS的内容为(1415H),代码段第一条可执行指令MOVAX,DATA对应的机器代码为(B81414H),它是一个(3)字节指令,注意观察执行该指令时IP值的变化情况,该指令源操作数DATA的寻址方式为(立即数寻址)其值为(1414H)(2)执行完MOVDS,AX指令后,数据段寄存器DS的内容为(1414H),源程序在数据段中定义的数据82H,68H和88H被装入的存储存储单元的物理地址分别为(14140H)(14142H)和(14144H)。(3)程序中第一条ADDAL,[BX]指令对应的机器代码为(8207)它是一个(2)字节指令,注意观察执行该指令时IP值的变化情况;该指令中源操作数的寻址方式为(寄存器间接寻址);该操作数所在的存储单元的逻辑地址(DS):(BX)为(1482:0001),其物理地址为(11170H);执行完该指令后(AL)=(0EAH)H,CF=(0),OF=(0),ZF=(0),SF=(1),AF=(0),PF=(0);若操作数为无符号数,计算结果是否正确(正确)?若两操作数为带符号数,计算结果是否正确(正确)?若计算结果正确,结果是正数还是负数?(若为有符号操作数则为负数,否则结果为正数)(4)执行完第二条ADDAL,[BX]指令后,(AL)=(72)H,CF=(1),OF=(1),ZF=(0),SF=(1),AF=(1),PF=(1);若两操作数为无符号数,计算结果是否正确(不正确)?若两操作数为带符号数,计算结果是否正确(不正确)?指令MOVSUM,AL中的目录操作数的寻址方式为(直接寻址)?该指令执行完后,注意观察(DS):0003H单元中值的变化,该单元的值变为(72)H。第一题源代码:DATASEGMENTNUMDB82H,68H,88HSUMDB?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVBX,OFFSETNUMMOVAL,[BX]INCBXADDAL,[BX]INCBXADDAL,[BX]MOVSUM,ALMOVAH,4CHINT21HCODEENDSENDSTART2、读懂下列源程序;编辑、汇编、连接生成EX12.ASM、EX12.OBJ、EX12.LST、EX12.EXE文件;使用DEBUG单步执行EXE12.EXE文件,并回答以下问题。(1)、代码段的前三条指令MOVAX,STACK、MOVSS,AX和MOVSP,LENGTHSTL的功能为堆栈初始化,试问执行完这三条指令后,堆栈栈底所在单元的逻辑地址(SS):(SP)为_1414:0100__;执行PUSHAX指令后堆栈指针寄存器(SP)=__00FE__H,此时,(SS):(SP+1)和(SS):(SP)单元的值为__5B0A__H;执行完PUSHBX后(SP)=___00FE__H,此时,(SS):(SP+1)和(SS):(SP)单元的值为__4CA3___H;执行完POPAX后(SP)=__00FE___H;执行完POPBX后(SP)=___0100__H;此时(AX)=__4CA3___H,(BX)=__5B0A___H。请读者通过对堆栈操作指令执行情况的观察,进一步掌握进、出栈操作过程。(2)、执行ADDAX,BX后(AX)=(0A7AD)H,CF=(0),OF=(1),ZF=(0),SF=(1),AF=(0),PF=(0);若两操作数为无符号数,计算结果是否正确?(正确)若两操作数为带符号数,则计算结果是否正确?(不正确)。(3)、执行ANDAX,BX指令后(AX)=(4802)H,CF=(0),OF=(1),ZF=(0),SF=(1),AF=(0),PF=(0)。第二题源代码:STACKSEGMENTstackSTLDW100HDUP(?)STACKENDSCODESEGMENTASSUMECS:CODE,SS:STACKSTART:MOVAX,STACKMOVSS,AXMOVSP,LENGTHSTLMOVAX,0101101100001010BMOVBX,0100110010100011BPUSHAXPUSHBXADDAX,BXPOPAXPOPBXANDAX,BXMOVAH,4CHINT21HCODEENDSENDSTART(3)、指出下列指令错误的原因,上机运行...