51单片机程序中的指令和数据是分开存储的吗?.

2025-01-20 02:50:16
推荐回答(3个)
回答1:

纠正你的说法:MOV R1,#00H的机器代码是 A8 00,一共两个字节,而且存储在ROM。而你把MOV R1,#00H认为是两个部分是错误的,这是一个完整的指令(即存储在ROM),不是说MOV是指令而后面的R1,#00H不是指令——你只是看表面上的内容,没有看其本质。一条汇编指令的完整格式是[标号:]操作码[源操作数],[母的操作数][;注释],其中中括号内的可以省略。

但是在计算机中要执行的指令就存在RAM中,这和单片机不一样。在计算机中存放指令的RAM有类似与ROM一样的性质,即不允许被轻易的改变内容,否则指令的执行就会出错。

PS:一个问题不用重复发问四次,只要发出一个问题,我们就可以看见了。

回答2:

分开的
R1其实就是内部的RAM
执行后#00就存在RAM中
MOV这个动作是存在ROM中的

回答3:

R1当中的内容存储于内部ram中,而在完整的程序MOV
R1,#00H中,#00h是存储于程序存储器rom中的,执行完毕#00h就进入ram的r1了,我建议你找一本单片机基础的书,它上面有讲存储器和指令的章节,好好研究一下吧