单片机中dw定义后数据位置问题

2024-12-26 06:18:03
推荐回答(3个)
回答1:

微机汇编是以16位机为基础的,但数据存放在8位的ROM或RAM中,每次读写数据都是两字节一读,CPU时序约定低8位在前,高8位在后.而8位的51单片机里也有16位数据读取如MOV DPTR,#4000H,约定的是高8位在前低8位在后,而指令RET执行时是PC高8位先于低8位退栈.
这些不是物理原理,是CPU设计师想怎么干就怎么干,人为约定而已.

回答2:

ORG 2000H 意思是从2000H开始存数据 DW是双字节 共16位
张毅刚的《单片机原理及应用》书上是2000H中存放高位12H,2001H中存放低位46H 一般情况是 高位12H存放在2001H高地址单元,46H存放在2000H低地址单元。 这个你可以从栈的角度思考

回答3:

你说的对啊,DW的首地址为2000H,由于是8位单片机,所以(2000H)=12H
(2001H)=46H