单片机问题,觉得有点想不通,请高手解答

来源:百度知道 编辑:UC知道 时间:2024/06/11 19:36:11
1.立即数是存在哪个寄存器里的
2.为什么要寻址,寻址的目的是不是要找到一个8位的二进制数,直接给个立即数不就行拉吗
3.每个储藏单元地址可以存放一个8位二进制数,在没有存放之前他里面的8位二进制数是00000000还是11111111
还有一个问题,比如:
MOV A,#0FEH
MOV 30H,A
当A把数据传到30H之后A中的值是多少

1。立即数是指令的一部分,存放在程序存储器中。
2。如果是常量的话,直接用立即数就可以了,直接放在程序存储器中,但是如果是变量的话就必须放在数据存储器中,因为数据会发生变化,不能放在程序存储器中(只读存储器)。
另外,不管是程序存储器还是数据存储器,都必须经过寻址才能找到相应的数据。
3。程序存储器,包括EEPROM在没有写数据之前都是1111。数据存储器不一定,多数单元在初始化后一般会清零,读回的数据是0000。

A 当然保持原来的值不变,在没有复位,没有写入新数值,没有进行计算的时候,就是保持不变的。

ukggfh

1.立即数直接存储在ROM中,就是存储程序的地方,比如MOV A,#12H这条指令,立即数12H就存在ROM中。

2.如果你要寻址的数是一个变量,那立即数能取代变量吗?立即数是固定值。

3,RAM刚上电之后的状态不确定,但是在可以通过程序来让其全部置0或者置1,在单片机中RAM刚上电或者复位之后全为0.

1.立即数是放在程序存储器里的。
2.单片机是根据PC的值来执行程序的,立即数和程序都是在程序存储器里,要想用它当然要先找到它啊,所以就要找它的地址啦。在这里要清楚pc是一个独立的物理模块,单片机就是根据它的值来执行程序的这句话。
3.在制造单片机的时候,每个存储单元的内容是不确定的,但生产厂家要检测芯片的好坏,就要往里面写内容,最终出场的时候是什么数据要根据不同厂家和不同的检测工艺确定,一般来说不是00h就是0ffh。
但在我们用的时候就不同了,要看不同的编译器是怎么处理的,一般都是写0ffh,也有极少部分的些00h。