打印

请高手帮忙解释一下这个查表程序

[复制链接]
1868|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
还我今生|  楼主 | 2008-1-28 11:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
例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 表示什么意思 是什么用法?

相关帖子

沙发
NE5532| | 2008-1-28 20:27 | 只看该作者

定义Word

使用特权

评论回复
板凳
还我今生|  楼主 | 2008-1-28 20:52 | 只看该作者

那这个dw占用空间吗 它属于伪指令性质的吗?

使用特权

评论回复
地板
NE5532| | 2008-1-30 16:29 | 只看该作者

占用,定义ROM中的表,生成程序代码

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

217

主题

1381

帖子

1

粉丝