例4.3 在一个温度测量装置中,测出的电压与温度为非线性关系。设测得的电压值为X,用10位二进制 //数表示(占二字节)。现要求采用查表法实现线性化处理。 //解决这个问题的方法是通过实验测出电压值X相对应的温度值Y,并按电压由小到大的顺序构造一张表, //表中存有温度值Y,将该表放入程序存储器中。 //设测得的电压值X存放在20H、21H 单元(20H 存高字节),查表得到的温度值Y存放在22H、23H单元 //(22H 存高字节)。温度值表从TAB地址开始存放。存放温度值的单元TAB=(X*2)。 //查表程序: org 0000h LTB2:mov dptr,#TAB;表格地址送DPTR mov a,21h;(20H)(21H)在左移一位,即X*2 clr c;清Cy进位 rlc a;低字节X2 mov 21h,a;存回低字节 mov a,20h;取高字节 rlc a;高字节X2 mov 20h,a;存回高字节 mov a,21h;表首地址+(X*2) add a,dpl;低8位针下低字节相加 mov dpl,a;存入对应的低8位指针 mov a,20h;表首地址+(X*2) addc a,dph;高8位针下高字节相加 mov dph,a;存入对应的高8位指针 clr a;清A movc a,@a+dptr;查表得温度值高字节 mov 22h,a;存放高字节 inc dptr;指向温度低字节 clr a;清a=0+dptr指向下一个地址 movc a,@a+dptr;查表得温度值低字节 mov 23h,a;存放低字节 ret TAB:dw 1234,2345,3456,4567,5678;温度值表 dw 6789,9876,8765,7654,6543 end 我想知道 表格中的dw 表示什么意思 是什么用法? 作者:还我今生 2008-1-28 11:52:00 |