资源描述:
《微机原理与接口实验指导(学生用)2012[1]11》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、《微机原理与接口技术》实验指导实验学时:8学时,实验数4个实验1:汇编指令与寻址方式(2学时)一.实验目的1.学会使用MASMFORWINDOWS集成实验环境共享版软件。2.熟悉80x86寻址方式及基本指令的功能。3.掌握汇编语言程序的上机过程。4.掌握利用DEBUG的单步指令T来观察各寄存器的状态,特别是状态标志寄存器的状态。二.实验内容1.学习MASMFORWINDOWS软件包扌乩简单入门程序、操作数的寻址方式、DEBUG的T命令等。2.学习状态标志寄存器各标志位在DEBUG中的显示形式顺序标志位名字詈位=1复位=010F溢出(有/无)0VNV2DF方向(减
2、/增)1)UP3IF中断(允许/屏蔽)EIDI4SF符号(负/正)NGPL5ZF零(是/否)ZRZ6AF辅助进位((有/无)ACNA7PF奇偶(偶/奇)PEP08CF进位(有/无)CYNC3.汇编语言程序的上机过程在MASMFORWINDOWS集成实验环境的主界面下第一步:点击第二行的“新建”,在程序模板的相应位置输入下列程序(黑休部分),点击第二行的:“保存”,取名为比如EX11.ASM的源程序;DATASEGMENTNUMDB82H,68H,SUMDB?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX
3、,DATAMOVDS,AXMOVAH,4CHINT21HCODEENDSENDSTART第二步:点击第一行的“运行”,在下拉菜单中选择“编译成目标文件(OBJ)”,再选择“生成可执行文件(EXE)”,最后点击“运行”。程序运行后将自动回到主界而。如果程序有错误,则在编译过程屮有错误提示(错误行和错误原因),改正后再保存,重新编译,直到编译成功为止。第三步:点击第一行的“运行”,在下拉菜单中选择“DEBUG调试”,在调试状态下,依次输入单步指令T,观察各寄存器和标志寄存器的内容的变化,并回答下列问题。DEBUG的单步执行命令T的作用:从CS:1P开始执行程序,每执
4、行一条停下来。执行后都将显示各寄存器的内容、标志位的状态、本条指令的CS:1P地址,本条指令的机器码和下一条要执行的指令。-tAX=13F4BX=0000DS=13E4ES=13E413F5:00038ED8如在EX11.EXE程序中,第一条指令为ASART开始的MOVAX,DATA,执行了T后,显示:CX=0027DX=0000SP=0000BP=0000SI=0000DI=0000SS=13F4GS=13F5IP=0003NUUPElPLNZNAPONCMOUDS,AX还可以连续执行几条,如T6,结果如下:(超过6,将显示不下)AX=13E7BX=0000C
5、X=0027DX=0000SP=0000BP=0000SI=0000DI=0000DS=13D7ES=13D7SS=13E7CS=13E8IP=0003NUUPElPLNZNAPONC13E8:00038ED8MOUDS,AXAX=13E7BX=0000CX=0027DX=0000SP=0000BP=0000SI=0000DI=0000DS=13E7ES=13D?SS=13E7CS=13E8IP=0005NUUPElPLNZNAPONC13E8:0005BB0000MOUBX,0000AX=13E?BX=0000CX=0027DX=0000SP=0000BP=0
6、000SI=0000DI=0000DS=13E7ES=13D?SS=13E7CS=13E8IP=0008NUUPElPLNZNAPONC13E8:00088A07MOUAL.CBX]DS:0000=82AX=1382BX=0000CX=0027DX=0000SP=0000BP=0000SI=0000DI=0000DS=13E7ES=13D7SS=13E7CS=13E8IP=000ANUUPElPLNZNAPONC13E8:000A43INCBXAX=1382BX=0001CX=002?DX=0000SP=0000BP=0000SI=0000DI=0000DS=1
7、3E?ES=13D7SS=13E7CS=13E8IP=000BNUUPElPLNZNAPONC13E8:000B0207ADDAL.[BXJDS:0001=68AX=13EABX=0001CX=002?DX=0000SP=0000BP=0000SI=0000DI=0000DS=13E?ES=13D7SS=13E7CS=13E8IP=000DNUUPElNGNZNAPONC13E8:000S43INCBX(1)代码段第一条可执行指令MOVAX,DATA对应的机器代码为H,它是一个字节指令。(2)执行完MOVDS,AX指令后,数据段寄存器DS的内容为H,源程序在数据
8、段中定义的数据82H、6