微机实验一到八复习资料.docx
20132014学年我次学期广东药学院试验报告试验课程名称:微型计算机技术及应用专业班级:电子信息工程12组号:第一组小组成员:谭浩敏(1205520131)陈润强(1205520106)刘赏源(1205520107)试验指导老师:何永玲(第一组)试验二汇编语言指令仿真组长:鼻浩敏组员:刘赏源、陈润强试验目的1 .学会用试验的方法验证理论,用理论来指导试脸,进一步熟识汇编语言开发环境.2 .深刻理解寻址方式的意义以及80X86指令的各种J址方式。3 .深刻理解80X86各种指令的其正含义及功能,4驾驭及数据行关的不同寻址方式.5 .接老熟识试胎操作软件的环境及运用方法.试验内容及要求一、在emu8086中仿口的沾指令1 .仿真简洁指令,请按要求写出程序代码及试奥步骤.2 .将试验结果及埋论结果诳行比较,以便深化理解80X86指令的各种寻址方式.3 .试验过程中遇到的问题及解决方法,4 .写出心得体会及还未理制的学问点。DS=10H,SS=2000HX=1A2BH,B×=12H,CX=339AH,BP=1200H,SP=1350H,SI=13S4H,(11350H)=0A5H,(11351H)=3CH,(11352H)=0FFH,(11353H)=26H,(11354H>=52H,(11355H)=0E7H,(126MH)=9DH,(12645H)=16H,(21350H)=88H,(21351H)=51H.下列各指令都在此环境下执行,在下列各小题的空格中城人相应个指令的执行结果,试验代码:MOVAX,100OHMOVDS.AX:不能干脆给DS.SS赋值,只能通过通用寄存潺MOVAX,2000HMOVSS1XMOVAX,1A2BHMOVBX,120OHMOVCX1339A)IMOVBP,120OHMOVSP,1350HMOVSI11354HMOV0150HBX,O5HMOV0151HBX,3CHMOV0152HBX,0F11IMOVO153HBXJ,26HMOVSI.52IIMOV1HSI,OE7HMOV264H,<)WIMOV265H,16IIMOVSS:1350H,88HMOVSS:1351H.511.1.;在上面的环境下以下一行行的运行MOVAX,1352HMOVX.135211MOV0150HBX,Q1.MOVAX,0150HBPPOPAXADDSI,CXSUBBH.0150HBXSIINCBYTEPTR0152HBXINCWoRDPTR01501.1.BXSARBYTEPTR0150HBX,1SA1.BYTEPTR015(HIBX,1试验结果:<1)MOVA×,1352HAX=I352H(2) MOVA×,1352HAX=ZfiEEH(3) movoisoh(bx),ch(113SOH1.=33H.(11351Hi=3CH(4) MOVAX,0150HBP)AX=12SHPOPAXAX=$188HSP=1352H<6)ADDS,CX(11354H)=ECHr(11355H)=IAHSF=0_,ZF=O,PF=O,CFa.OF=O(7)SUBBH,0150HBX11SIBH=Z1.,SF=©,ZF=J1.,PF=2,CF=1.,0F=9(8)1NCBYTEPTRO152HBX)(11352H)=OOH,(113S3H)三26H,CF=O,(9)INCWORDPTR0150HB×(11352H)=FFH,11353H=26H,CF=O(IO)SARBYTEPTRO15OH(B×1.1(113S0H)=D2H,CF三1,OF=O(I1.)SA1.BYTEPTRO1.SOH(BX)1I(11350H)=4AH,CF=2,OF=I【思索题】指出下列指令中源操作数和目的操作数的寻址方式:(肯定要留意分开写寻址方式)(1)MOVAX,OH(2)ADDBX,DX(3)PUSHCS(4)POPDS(5)MU1.B1.(6)MOVDX,1200H(7) MOVSB(8)S1.BAX,5BP+DI解:<1)SRC为马上数寻址,DEST为寄存器寻址:< 2>SRC为寄存器寻址,OEST为寄存器间接寻址:< 3)SRC为寄存器寻址,DEST为隐含堆栈指针寄存器间接寻址:< 4)SRC为隐含堆栈指针寄存器间接寻址,DEST为寄存涔多址:< 5SRC为寄存着寻址,DE3T为寄存器寻址:< 6>SftC为干脆寻址,OEST为寄存器寻址:< 7)SRC为寄存器间接寻址,DEST为寄存器间接寻址:< 8)SRC为基址变址相对寻址,DEST为寄存渊寸址:试校心得及体会:本次试验考察的是8086指令的寻址方式,我们殂在试聆课的时候打算不然充分,导致当堂试粉效果不明显,不过我们在课后有一起探讨每条语句的意思,并且在听过老体课堂上的讲解后,逐步地理解/这个试验,桁望在下次试验过程中做好更充分的打算.以便在.试验的过程中达到好的效果.试验三综合程序设计第一组:谭浩敏、刘赏源、陈润强【试疑目的】1 .通过简泊程来理解80X86指令系统2 .驾驭汇H语&程序的特点及格式3 .驾取定义和运用汇语方的常量、标示符和表达式4 .莺取汇诺方程技巧和程方法.【试睑内容1试验内容1.用MOV指令实现两内存字节单元内容的交换代仙”MOV(203SH),01HMOV2O4SH),O2HMOVAXz203SHMOVB×42O45H)MOV2O3SHJ.BXMOV2045H),AX试龄内容2:把2060H地址起先的40个字节单元的内容及2080H地址起先的40个字节单元内容互换代码,DatasegmentdataENDSSTACKSEGMENTME1.DW80HDUP(?)STACKENDSCODESEGMENTASSUMECS:CODE,DSDATA,SS:STACK,ES:DATASTART:MOVA×z1.OHMOVDS,A×MOVAX,2000HMOVESrAXMOVDIz2060H;循环赋机从偏移M2060H起先MOVBXzIHMOVC×z28H淄环次数40次,28H是16进制1.OOP1.:MOVDI)rB×INCBXINCD1.DECCXJNZ1.OOPIMOVDI.2080HMOVB×z2080HMOVC×z8TEMP:MOVDX,(B×此循环用来保存被覆施的8个内存单元MOVES:(DI),DX;的数据,放在ES段中INCD1.INCBXDECCXJNZTEMP;给后40个内存唯元循环赋(ft;从僮移以2080H起先。MOVD1.z2080HMOVBXz50HMOVC×z28H1.P2:MOV(DI)fBXINCBXINCD1.DECCXJNZ1.P2MOVSbOOH;交换40个字节内容MOVDIzOOHMOVC×z28HR:MOVB1.(SI÷2060H)MOVBHJDI+2080HMOV(DI+2080H),B1.MOV(SI÷2O6OH)rBHINCS1.INCO1.DECCXJNZRCODEENDSEND试验内容3.假如X>50,转移到TooH1.GH在TOOHIGH中将X显示出来;假如常符号减法X-Y引起溢出,JI1.转移到OVERF1.OW,在OVERF1.OW中将X、Y和XY的结果显示出来;否则,计算XY,并将结果存放在RESU1.T中(其中,Xxresu1.t均为字变代码FDatasegmentDA1.DB,×三:$DAI2DB'Y=:$'DAI3DB,X-Y=:$'XDW-32768YDW32Resu1.tdwoDATAENDSSTACKSSEGMENTDW128DUP(?)STACKSENDSCODESEGMENTASSUMEDS:DATA,CS:CODESTART:MOVAXzDATAMOVDS,AXMOVAXzXCMPAXz50JGTOO-HIGHSUBAX,YJOOVERF1.OW;比较嘏如(X)大于50,则转向TOO-HIGH;一一则转移JNSNONNEG;无符号,则转NEGAX;X-Y为正时补玛为其本身为负时取补码刚好是它的相反数。NONNEG:MOVRESU1.TtAX沈溢出取肯定假.并将结果存入RESU1.TH1.T:科停TOO-HIGH:Movdx,offsetdaiMOVAH,09HINT21HMOVAX,X;取内存数到AXCA1.1.SHOW1.;显示十进制形式MOVAHJ甫停INT21HMOVAX,4CoOH;退出程序INT21HSHOW1.:XORCXrCXMOVB×f10NX1.:XORDXzDXDIVBXORDX,0e30HINCCXPUSHDXCMPAXQJNZNX1.NX2:P0PAXINT1.OH1.OOPNX2;显示XRETOVERF1.OW:MOVDX,OFFSETDAIMOVAH,09HNT21HMoVAXx取内次效到AXCA1.1.SH0W2;显示十进制形式M0VAHz7南停INT21HMOVAX,4C00H;退出程序INT21HSH0W2:XORCX,CXMOVBXr10NX3:XORDXzDXDIVBXORDX,0e30HINCCXPUSHDXCMPAXzOJNZNX3NX4:P0PAXINTIOH1.PNX4MOVD1.,OAHMOVAHz02HINT21HMOVD×,OFFSETDAI2MOVAHz09HINT21HMOVAX,Y;取内存数到AxCA1.1.SH0W3;显示十进制形式M0VAHz7潸停INT21HMOVAX,4CoOH;退出程序INT21HSH0W3:XORCX,CXMOVB×r10NX5:XORDXzDXDIVBXORD×,0e30HINCCXPUSHDXCMPAX,0JNZNX5NX6:POPAXINT1.OH1.PNX6MOVD1.OAHMOVAHz02HINT21H;显示XYMOVD×,OFFSETDAI3MOVAHz09HINT21HMOVBXzXSUBBX,YMOVXfBXMOVAX,X;取内存数到AXCA1.1.SH0W4;显示十进制形式MOVAHz7南停INT21HMOVAX,4COOH;退出程序INT21HSH0W4:XORCX,CXMOVBXrIONX7:XOROXzOXDIVBXORDX.0e30HINCCXPUSHDXCMPAXzOJNZNX7NX8:POPAXINTIOH1.PNX8H1.TCODEENDSENDSTART【试验总结】内容一和内容二相对来说比较好理解,通过看一些实例,我们最终知道了应当怎么做,而内容三比较困难,我们用了很多时间,不过最终经过组内的学习和探讨,最终做出来了。我们都从中收获到了很多新学问。试验四内存块移动试验蛆长:谭浩敏组员:刘赏源,陈润强一、试验目的1、熟识试