fxg2024 发表于 2024-6-30 09:45:59

STC32G手册中指令表示符号 dir16、dis的区别问题。

本帖最后由 fxg2024 于 2024-6-30 10:07 编辑

STC32G手册中指令表示符号 dir16、dis的区别问题?
手册中dir16: 16位内存地址(0x000000~0x00FFFF);dis:一般在变址寻址方式中作为0到64KB偏移值的间接内存位置(0x000000~0xFFFFFF)
如:
MOV WRj,Dir16            机器码为: 01111110[地址高字节][地址低字节]
MOV WRjd,@WRjs+dis机器码为:01001001[偏移高字节][偏移低字节]
Dir16 代表一个16位的直接地址
dis 表示一个16位的偏移值,这个值代表一个16位的偏移地址,和前面寄存器的内容相加,得到一个存储地址。


在实际程序指令应用时,具体指令实例如下

MOV WR0,EDATA 200H
MOV WR2,@WR6+200H

这里发现,作为Dir16 用时,要加EDATA;作为dis时,直接写,不用加其他前缀。

提醒:注意使用时不要超过STC32G的EDATA地址范围




页: [1]
查看完整版本: STC32G手册中指令表示符号 dir16、dis的区别问题。