如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
微机原理与接口技术实验PAGE\*MERGEFORMAT11微机原理与接口技术实验报告实验环境:WindowsXPSP3实验软件:masm,link,debug,edit。Test1:debug命令及汇编指令和寻址的应用。NO.1设堆栈指针SP=2000H,AX=3000H,BX=5000H;请编一程序段将AX和BX的内容进行交换。要求:用3种方法实现。方法一CODESEGMENTASSUMECS:CODESTART:MOVAX,3000HMOVBX,5000HMOVCX,AXMOVAX,BXMOVBX,CXCODEENDSENDSTART方法二CODESEGMENTASSUMECS:CODESTART:MOVAX,3000HMOVBX,5000HXCHGAX,BXCODEENDSENDSTART方法三CODESEGMENTASSUMECS:CODESTART:MOVAX,3000HMOVBX,5000HPUSHAXPUSHBXPOPAXPOPBXCODEENDSENDSTARTNO.2分别执行以下指令,比较寄存器寻址,寄存器间接寻址和相对寄存器寻址间的区别。MOVAX,BX寄存器寻址,将BX内容送AXMOVAX,[BX]寄存器间接寻址,将DS:BX内存单元内容送AXMOVAX,10[BX]寄存器相对寻址,将DS:BX+10内存单元内容送AXNO.3已知有如下程序段:MOVAX,1234HMOVCL,4在以上程序段的基础上,分别执行以下指令:ROLAX,CLAX=4123HRORAX,CLAX=3412HSHLAX,CLAX=4120HSHRAX,CLAX=0412HSARAX,CLAX=0041HRCLAX,CLAX=0410HRCRAX,CLAX=0041HNO.4设有以下部分程序段:TABLEDW10H,20H,30H,40H,50HENTRYDW3┇LEABX,TABLEADDBX,ENTRYMOVAX,[BX]┇要求:(1)将以上程序段补充成为一个完整的汇编程序。(1)DATASEGMENTTABLEDW10H,20H,30H,40H,50HENTRYDW3DATAENDSCODESEGMENTASSUMEDS:DATA,CS:CODESTART:MOVAX,DATAMOVDS,AXLEABX,TABLEADDBX,ENTRYMOVAX,[BX]MOVAH,4CHINT21HCODEENDSENDSTART(2)AX=3000HTest2:汇编语言程序的调试与运行NO.1实验内容:求内存单元中所定义的两个字节变量的连续内容之和。源代码如下:方法一:DATASEGMENTADB5CH,85HBDB43H,0ABHDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,SEGDATAMOVDS,AXMOVSI,0MOVAL,A[SI]ADDAL,B[SI]MOVA[SI],ALINCSIMOVAL,A[SI]ADCAL,B[SI]MOVA[SI],ALMOVAH,4CHINT21HCODEENDSENDSTART方法二:定义字DATASEGMENTADW5C85HBDW43ABHCDW?C=A+BDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAH,4CHINT21HCODEENDSENDSTART方法三:直接寻址DATASEGMENTADB5CH,85HBDB43H,0ABHDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,SEGDATAMOVDS,AXMOVAL,[1000]ADDAL,[1002]MOV[1000],ALINCSIMOVAL,[1000]ADCAL,[1002]MOV[1000],ALMOVAH,4CHINT21HCODEENDSENDSTART分析总结:本程序一采用了变址寻址方式,通过SI作为变址寻址寄存器,经由si改变来使加法指令寻址地址变化,从而实现两个字节之间相加。两个自己之间分别通过ADD与ADC指令进行进位的衔接。程序二在DATA定义中直接使用赋值语句将A,B的和放入C中。程序三于程序以类似,只不过将A[SI]的寻址方式变为[1000]的直接寻址,把其地址值直接拿来使用。程序运行结果如上图所示NO.2编写计算表达式2*(X+Y-50)/Z值的程序,