Td调试的数字默认16进制
实验四 指令实验(二)
[实验目的]
1、掌握指令的含义,进一步加深对指令的认识;
2、掌握用Turbo Debugger调试程序的方法。
[实验内容]
1、调试作业3.26,3.28。
3.26 试分析下列程序段完成什么功能?
MOV CL,04
SHL DX,CL
MOV BL,AH
SHL AX,CL
SHR BL,CL
OR DL,BL
分析:
mov cl,04; cl值为4
shl dx,cl; 逻辑左移4位(相当于*16)
mov bl,ah; ah中值送到bl中
shl ax,cl; 逻辑左移4位(相当于*16)
shr bl,cl; 逻辑右移4位(相当于/16)
or dl,bl; 二者异或操作
逻辑(算术)左移逻辑(算术)右移区别:
测试结果:
注意:测试时给dx,ax赋值;
结果是把 DX:AX 的32位值 左移 4位
3.28 下列程序段执行后,BX寄存器中的内容是什么?
MOV CL,3
MOV BX,0B7H
ROL BX,1
ROR BX,CL
分析:
初始 BX=0000 0000 1011 0111
左移一位 0000 0001 0110 1110
右移三位 1100 0000 0010 1101,即C02D
测试结果:
左移一位:
右移三位:
2、改写程序,调试作业3.11
3.11 执行下列指令后, AX寄存器中的内容是什么?
TABLE DW 10,20,30,40,50
ENTRY DW 3
.
.
.
MOV BX,OFFSET TABLE
ADD BX,ENTRY
MOV AX,[BX]
上级步骤:
若命名文件test.asm
- tasm test; 得到编译后的文件test.obj
- Tlink test; 得文件
- Td test
测试代码:
测试结果:
[实验小结]