实验一8086指令使用实验目的通过实验掌握下列知识:1、8086指令:MOV,ADD,ADC,SUB,SBB,DAA,XCHG2、DEBUG命令:A,D,E,F,H,R,T,U。3、BCD码,ASCII码及用十六进制数表示二进制码的方法。4、8086寄存器:AX,BX,CX,DX,F,IP。内容及步骤一、DEBUG命令使用1、键入DEBUG进入DEBUG控制状态,显示提示符'-'。2、用命令F10010F'A'将'A'的ASCII码填入内存。3、用命令D10010F观察内存中的十六进制码及屏幕右边的ASCII字符。4、用命令F11011F41重复上二项实验,观察结果并比较。5、用命令E100303132⋯⋯3F将30H-3FH写入地址为100开始的内存单元中,再用D命令观察结果,看键入的十六进制数是什么字符的ASCII码?6、用H命令检查下列各组十六进制数加减结果并和你的手算结果比较:(1)34H,22H(2)56H,78H(3)A5,79H(4)1284H,5678H(5)A758H,347FH7、用R命令检查各寄存器内容,特别注意AX,BX,CX,DX,IP及标志位中ZF,CF和AF的内容。8、用R命令将AX,BX内容改写为1050H及23A8H。二、8086常用指令练习1、传送指令1)用A命令在内存100H处键入下列内容:-A0100↙****:0100MOVAX,1234↙****:0103MOVBX,5678↙****:0106XCHGAX,BX↙****:0108MOVAH,35↙****:010AMOVAL,48↙****:010DMOVDX,75AB↙****:010FXCHGAX,DX↙****:0111↙-2)用U命令检查键入的程序并记录,特别注意左边的机器码。-U0100↙3)用T命令逐条运行这些指令,每运行一行检查并记录有关寄存器及IP的变化情况。并注意标志位有无变化。-T=0100↙-T↙-T↙┇2、加减法指令:1)用A命令在内存100H处键入下列内容:MOVAH,34MOVAL,22ADDAL,AHSUBAL,78MOVCX,1284MOVDX,5678ADDCX,DXSUBCX,AXSUBCX,CX2)用U命令检查键入的程序及对应的机器码。3)用T命令逐条运行这些指令,检查并记录有关寄存器及标志位的情况。3、带进位加减法:1)用A命令在内存200H处键入下列内容,并用U命令检查:MOVAH,12MOVAL,84MOVCH,56MOVCL,78ADDAL,CLADCAH,CHMOVDH,A7MOVDL,58SUBDL,7FSBBDH,342)用T命令逐条运行这些指令,检查并记录寄存器及CF内容。3)上面这段程序若改用16位操作指令达到同样结果,怎么改?试修改并运行之。将al,cl,dl分别改为ax,cx,dx。4、BCD码加减法1)内容:MOVAL,58ADDAL,25DAA2)要求:用A命令键入,U命令检查,T命令逐条运行并记录有关寄存器及AF内容。自编程序及运行结果:实验二内存操作数及寻址方法实验目的通过实验掌握下列知识:1、DEBUG命令:G,N,W,L及Q。2、8086系统中数据在内存中的存放方式和内存操作数的几种寻址方式。3、8086指令:INC,DEC,LOOP,INT3,INT20H,寄存器SI,DI。4、8086汇编语言伪操作:BYTEPTR,WORDPTR。5、求累加和程序和多字节加减法程序。实验内容和步骤一、内存操作数及各种寻址方式使用程序内容:MOVAX,1234MOV[1000],AXMOVBX,1002MOVBYTEPTR[BX],20MOVDL,39INCBXMOV[BX],DLDECDLMOVSI,3MOV[BX+SI],DLMOV[BX+SI+1],DLMOVWORDPTR[BX+SI+2],2846操作步骤1)用A命令键入上述程序,并用T命令逐条运行。2)每运行一条有关内存操作数的指令,要用D命令检查并记录有关内存单元的内容并注明是什么寻址方式。二、求累加和程序:程序内容:MOVBX,1000MOVCX,10SUBAX,AXLOP:ADDAL,[BX]ADCAH,0INCBXJ:LOOPLOPINT3操作步骤:1)用A命令将程序键入到100H开始的内存中,在键入时记下标号LOP和J的实际地址,在键入LOOP指令时LOP用实际地址值代替。2)用命令NAA将此程序命名为文件AA(文件名可任取)。3)用R命令将BX:CX改为程序长度值(即最后一条指令后面的地址减去开始地址)。4)用命令W100将此程序存到AA命名的磁盘文件中。5)用命令Q退出DEBUG。6)用命令DEBUGAA再次调入DEBUG和文件AA,可用U命令检查调入程序。若调入DEBUG时忘了加AA文件名,可用N命令和L命令将文件调入。7)用E命令在内存地址1000H处键入16个数字8)用命令G=100J(J用实际地址代替),使程序运行并停在断点J上,检查AX,BX的值是否符合你的预计值。9)用T命令运行一步,观察程序方向(IP值)和CX值是否与你的估计一样,若不一样,检查程序是否有错。10)重复GJ与T,再检查AX是否正确。11)用G命令使程序运行到结束,检查AX值是否正确。三、多字节加法程序。程序内容:MOVDI,1000MOVCX,8MOVSI,2000CLCLOP:MOVAL,[SI]ADC[DI],ALINCSIINCDILOOPLOPINT20操作步...