预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共18页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

实验一、调试工具DEBUG的应用 DEBUG命令使用 1、开机后,切换到命令提示符窗口下,出现提示符后键入命令DEBUG,进入调试环境,显示提示符'-'。 2、用命令F200220'AB'将'AB'的两个ASCII码循环填入内存。 注:第一个参数200是当前段的起始偏移地址,第二个参数220是终了偏移地址,第三个参数‘AB’是被填入的数值,若不给出第二个参数则填入128(8行)个字节。 3、用命令D200观察内存中的十六进制码及屏幕右边的ASCII字符。 4、用命令F23023F12重复上二项实验,观察结果并比较。 5、用命令E2004142434445将A-E的ASCII码写入地址为200开始的内存单元中,再用D命令观察结果,看键入的十六进制数和ASCII码的对应关系。 6、用H命令检查下列各组十六进制数的和与差(补码表示): (1)56H,34H (2)23H,45H (3)AB,3045H 注:输入H1234则在下一行显示0046FFDE,即二者的补码和与差。在DEBUG环境下所有数据和地址都是按16进制处理,所以不要加后面的H标志。 7、用R命令检查各寄存器内容,特别注意AX,BX,CX,DX,IP及标志位中ZF,CF和AF的内容。 8、用R命令将AX,BX内容改写为1050H及23A8H。 二、8086常用指令练习 1、传送指令 用A命令在内存400H处键入下列内容: -A0400 ****:0400MOVAX,1234 ****:0403MOV BX,5678 ****:0406XCHG AX,BX ****:0408MOV AH,10 ****:040AMOV AL,20 ****:040CMOV CX,89AB ****:040FXCHG AX,CX ****:0411 注:****为段寄存器CS的当前值,内容是不一定的,每行命令以回车键结束。 用U命令检查键入的程序并记录,特别注意左边的机器码与指令的对应关系。 -U0400 用T命令逐条运行这些指令,每运行一行指令观察各寄存器及IP的变化情况,并注意标志位的变化情况。 -T=0400(注:=400是表示从偏移地址400处开始单步执行) -T(不给出地址,则表示接续上一条指令执行) -T ┇ 2、加减法指令: 1)用A命令在内存100H处键入下列内容: MOV AH,11 MOV AL,22 ADD AL,AH SUB AL,33 MOV CX,1234 MOV DX,5678 ADD CX,DX SUB CX,AX SUB CX,CX 2)用U命令检查键入的程序及对应的机器码。 3)用T命令逐条运行这些指令,检查并记录有关寄存器及ZF情况。 当进行mov运算时,ZF标志位不会改变,因为mov指令的执行并不会改变标志位。ZR表示ZF=1,NZ表示ZF=0。 3、带进位加减法: 1)用A命令在内存200H处键入下列内容,并用U命令检查: MOV AH,12 MOV AL,84 MOV CH,56 MOV CL,78 ADD AL,CL ADC AH,CH MOV DH,A7 MOV DL,58 SUB DL,7F SBB DH,34 2)用T命令逐条运行这些指令,检查并记录有寄存器及CF内容。 3)上面这段程序若改用16位操作指令达到同样结果,怎么改?试修改并运行之。 修改后: 4、BCD码加减法(选作) 1)内容: MOV AL,65 ADD AL,16 DAA 2)要求:用A命令键入,U命令检查,T命令逐条运行并记录有关寄存器及AF内容。 注:相加后AL值本来是7B,经DAA指令调整后变为81,即65和16两个BCD码的和。 实验二内存操作数及寻址方法 内存操作数及各种寻址方式使用 MOV AX,2000 MOV [200],AX MOV BX,210 MOV BYTEPTR[BX],50 MOV CL,40 INC BX MOV [BX],CL DEC CL MOV SI,5 MOV [BX+SI],CL MOV [BX+SI+1],CL MOV WORDPTR[BX+SI+2],1234 1)用A命令键入上述程序,并用T命令逐条运行。 2)每运行一条有关内存操作数的指令,要用D命令检查并记录有关内存单元的内容并注意是什么寻址方式。 注:D命令显示结果时,双字节数在内存的存放是高地址对应高数据位; 指令中出现的BYTEPTR及WORDPTR是因为操作数的宽度必须一致。 二、求累加和程序 MOV BX,200 MOV CX,9 XOR AX,AX ADD AL,[BX];按字节相加 ADC AH,0;若有进位则到AH中 INC BX LOOP 108 INT3 1)进入DEBUG环境。 2)用命