44
124
1437
金牌会员
如何在不使用字寄存器(WR0 ~ WR14)的情况下,把字类型的变量拆分成2个字节?(用汇编语言)
这个字类型的变量可能定义在DATA段,也可能定义在XDATA段。
感谢先 :-)
使用道具 举报 送花
54
1327
5395
荣誉版主
您好,是不是尽管变量被定义为非字节类型的,但是访问的时候按变量名作为它在存储中的首地址,地址每加1,就会指向这个定义为非字节类型的变量的下一个字节?
就像这样:
DSEG AT 30H
COLOR: DSW 1D
`MOV WR30, #1122H MOV COLOR, WR30
NOP NOP PUSH COLOR PUSH COLOR + 1D MOV WR30, #7788H MOV COLOR, WR30 POP COLOR + 1D POP COLOR`
尽管变量COLOR被定义为字类型(双字节的),但通过上述方式,成功地访问了被定义为字类型的变量的各个字节?
简单地调试了一次,的确每次修改/访问的都是字节地址。
LAO*** 发表于 2025-1-18 13:38 如定义 ?ADD64_value1?040: DSD 1 // 4字节(双字) 最高 BYTE 为: ?ADD64_value1?040 ...
本版积分规则 发表回复 回帖后跳转到最后一页
|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )
GMT+8, 2025-5-2 08:48 , Processed in 0.141354 second(s), 89 queries .
Powered by Discuz! X3.5
© 2001-2025 Discuz! Team.