资源描述:
《《微机原理》实验指导书》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、目录实验一、汇编软件的认识及寻址方式练习………………………1实验二、堆栈及DOS系统功能调用……………………………5实验三、8086的Proteus仿真…………………………………9实验四、利用MASM32编译器生成EXE文件………………………14实验一、汇编软件的认识及寻址方式练习一、计算机硬件组成图1计算机主板主机主要包括主板、中央处理器、硬盘、鼠标、内存、显卡和光驱组成。1、主板主机中最大一块集成电路板,为其他扩展板预留了各种接口。2、CPUCPU是计算机的核心,相当于人的大脑,负责处理运算计算机内部的所有数据;主板则更像是心脏,它
2、控制着数据的交换。CPU主要由运算器、控制器、寄存器组和内部总线组成,再配上存储器、输入输出接口和系统总线组成完整的PC。8086CPU由总线接口部件BIU(BusInterfaceUnit)和指令执行部件EU(Execution122Unit)两个独立的功能部件组成。一般情况指令顺序执行,EU可源源不断地从指令队列中取得待执行的指令,达到满负荷连续地执行指令,而省去访问存储器取指令所需要的时间。如果在指令执行过程中需要访问存储器取操作数,那么EU将访问地址送给BIU后,将要等待操作数到来后才能继续操作。总线接口部件(BIU)主要由地
3、址加法器、专用寄存器组、指令队列缓冲区和总线控制逻辑等部件组成,其主要功能是形成访问存储器的物理地址与外设进行联系。在正常情况下,BIU通过地址加法器形成指令在存储器中的物理后启动存储器,从给定地址中取出指令代码送指令队列缓冲器中等待执行。只要收到EU送来的操作数地址,BIU将立即形成操作数的物理地址,完成读/写操作或运算结果等功能。具体执行框图如图2所示。图28086CPU内部结构图3、硬盘计算机存储数据的部件,相当于存放粮食的仓库。4、内存CPU和硬盘之间的桥梁,暂时存放CPU中的运算数据。只要计算机在运行中,CPU就会把需要运算的
4、数据调到内存中进行运算,当运算完成后CPU再将结构传送出来,内存的运行也决定了计算机的稳定运行。二、emu8086汇编软件介绍emu8086结合了一个先进的原始编辑器、组译器、反组译器、具除错功能的软件模拟工具(虚拟PC)。使用步骤如下:1、双击图标进入emu8086汇编语言编辑窗口,选择新建空白工作区。1222、输入程序保存为“.asm”格式。3、单击调试图标,进入调试窗口,单步执行并观察CPU寄存器值、指令的物理地址、逻辑地址、机器码等变化;打开堆栈窗口、附加段窗口、debug窗口、flags标志位窗口,单步执行观察其数据的变化,分
5、析每一条指令执行后的结果是否与要求一致。emu8086调试窗口如图3所示。图3emu8086调试窗口三、寻址方式练习1、利用汇编软件emu8086编写下列程序,在调试窗口观察寄存器的变化。要求:在每条语句后面添加注释,并说明其寻址方式。(1)ORG100h(2)ORG100hMOVAX,06HMOVAX,0B800HPUSHAXMOVDX,AXMOVAX,0FFHMOVCL,'A'MOVBX,AXMOVCH,01011111BPOPAXMOVBX,15EH122RETMOVBX,[CX]RET(3)ORG100hVAR1DB22h MO
6、VAL,VAR1;将变量var1的数值放入alLEABX,VAR1;将var1的地址存入BX.可用MOVBX,OFFSETVAR1指令代替MOVBYTEPTR[BX],44h;修改变量var1的内容 MOVAL,VAR1;将变量VAR1的数值放入AL RET END(4)ORG100h MOVAX,5;将AX设置为5. MOVBX,2;将BX设置为2. JMPcalc;跳转到'calc'. back:JMPstop;跳转到'stop'. calc:ADDAX,BX;将BX加到AX. JMPback;返回'back'.
7、 stop:RET;返回操作系统 ENDret2、利用汇编软件eum8086编写下列程序,在调试窗口观察标志寄存器的变化。org100hMOVAX,0F365HMOVBX,0005HMOVCX,0F024HMOVDX,0002HADDAX,CXADCDX,BXret122实验二、堆栈及DOS系统功能调用一、堆栈1、堆栈是以后进先出的规则存取信息的一种存储机构,该存储区的存取地址由一个专门的地址寄存器来管理,这个地址寄存器称为堆栈指针。当信息存入堆栈时,堆栈指针将自动减量,并将信息存入堆栈指针所指出的存储单元;当需要从堆栈中取出信息时,
8、也将从堆栈指针所指出的存储单元读出信息,并将堆栈指针增量。所以,堆栈指针始终指向堆栈中最后存入信息的那个单元,称该单元为栈顶。在8086CPU中,寄存器SP即为堆栈指针,它是一个16位的地址寄存器,用来存放