找回密码
 立即注册
查看: 448|回复: 8

请教个问题:为什么单片机汇编语言没有WORD1这种操作

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:172
  • 最近打卡:2025-05-01 10:06:01

44

主题

124

回帖

1437

积分

金牌会员

积分
1437
发表于 2024-11-9 21:30:52 | 显示全部楼层 |阅读模式
问题描述:

在向双字寄存器赋值时,汇编语言要先后取立即数的高低16位分2次才能完成给双字寄存器赋值。
在操作时,分别用到了WORD2和WORD0。很明显,0和2之间少了个1,那么WORD1是什么?
查了手册,只标注了WORD0和WORD2,还是搞不清楚WORD1是什么以及搞哪里去了。

截图202411092130441530.jpg
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:123
  • 最近打卡:2025-04-19 16:12:35
已绑定手机

60

主题

777

回帖

4001

积分

论坛元老

自定义头衔

积分
4001
发表于 2024-11-9 22:24:14 来自手机 | 显示全部楼层
你这张图的出处是哪里?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:123
  • 最近打卡:2025-04-19 16:12:35
已绑定手机

60

主题

777

回帖

4001

积分

论坛元老

自定义头衔

积分
4001
发表于 2024-11-9 22:25:45 来自手机 | 显示全部楼层
WORD2可以知道,是由BYTE2起始的WORD,那么自然

WORD1也就是BYTE1起始的WORD,也就是BYTE2-BYTE1

但不知道你想问什么
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:172
  • 最近打卡:2025-05-01 10:06:01

44

主题

124

回帖

1437

积分

金牌会员

积分
1437
发表于 2024-11-9 22:50:04 | 显示全部楼层
VC*** 发表于 2024-11-9 22:25
WORD2可以知道,是由BYTE2起始的WORD,那么自然

WORD1也就是BYTE1起始的WORD,也就是BYTE2-BYTE1

原来是这么拆分的,感谢 :-)
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:38
  • 最近打卡:2025-04-29 08:28:25
已绑定手机

17

主题

446

回帖

1173

积分

金牌会员

积分
1173
发表于 2024-11-12 13:54:18 | 显示全部楼层
这与WR0,WR2,DR0,DR4一样的,有什么纠结的
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:172
  • 最近打卡:2025-05-01 10:06:01

44

主题

124

回帖

1437

积分

金牌会员

积分
1437
发表于 2024-11-12 19:01:18 | 显示全部楼层
本帖最后由 BeHappy 于 2024-11-12 19:16 编辑
bkeu*** 发表于 2024-11-12 13:54
这与WR0,WR2,DR0,DR4一样的,有什么纠结的

不知道可以不回答。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:24
  • 最近打卡:2025-04-26 23:09:46
已绑定手机

1

主题

5

回帖

163

积分

注册会员

积分
163
发表于 2025-2-9 01:32:53 | 显示全部楼层
应该是类似DR4这种双字寄存器命名方式,寄存器以其编号最低的字节位置命名。
例如:
1、R4是由位置4组成的字节寄存器。
2、WR4是由寄存器4和寄存器5组成的字寄存器。
3、DR4是双字寄存器,由寄存器4、5、6和7组成。
总结:也就是说word0包含byte0、byte1;word2包含byte2和byte3。0、1、2、3是连续的,再有下一个就是word4包含byte4和byte5,所以你所说的word1不存在(存在就破坏连续性了)自然是搞不到的。
双字寄存器命名方式的具体可以搜一下TSC80251的手册,翻到3.4.1. Byte, Word and Dword Registers这里(大概在页数21这里)。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:24
  • 最近打卡:2025-04-26 23:09:46
已绑定手机

1

主题

5

回帖

163

积分

注册会员

积分
163
发表于 2025-2-9 04:51:10 | 显示全部楼层
VC*** 发表于 2024-11-9 22:24
你这张图的出处是哪里?

应该是keil帮助文档的汇编器说明那里的。在ide主界面的help选择第二个open books window,左边弹出后双击uVision User's Guide Selection,之后就选择:
A251 User's Guide——Writing Assembly Programs——Expressions and Operators——Operators——WORDx。
然后你就能看到关于WORD0和WORD2的说明还有图表了。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:172
  • 最近打卡:2025-05-01 10:06:01

44

主题

124

回帖

1437

积分

金牌会员

积分
1437
发表于 2025-2-9 09:06:26 | 显示全部楼层
jiegebus*** 发表于 2025-2-9 01:32
应该是类似DR4这种双字寄存器命名方式,寄存器以其编号最低的字节位置命名。
例如:
1、R4是由位置4组成的 ...

您说的很对,要是早1年遇到就好了
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 09:07 , Processed in 0.135534 second(s), 109 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表