2019-03-24 18:31发布
chunyang 发表于 2013-12-24 18:40 数据在哪里由代码决定,ROM数据和RAM数据的定义指令不同。
小粮zz 发表于 2013-12-25 16:03 ORG 1000H TABLE: DB 0C0H,0F9H,24H,30H,19H,12H,2H,0F8H,0H,10H 程序里是这样写的 就是在rom的 ...
小粮zz 发表于 2013-12-26 10:32 懂了,谢谢,在实际系统中,也不知道程序在rom的空间啊!那把这个表定义在哪好些呢,是最后面吗
chunyang 发表于 2013-12-26 14:40 你不必定义地址,只定义性质,编译程序会自动分配。
最多设置5个标签!
ORG 1000H
TABLE: DB 0C0H,0F9H,24H,30H,19H,12H,2H,0F8H,0H,10H
程序里是这样写的 就是在rom的1000h处存数据,51片内rom是0000h-0fffh,并没有1000h,在proteus中仿真可以运行,我没有外扩rom,这个表存在哪里了呢
如果地址超出实际的存储容量,高位会被自动丢弃,就你给出的情形而言,1000H会变为0000H,仿真会没问题,但在实际系统上这么做是不行的,必须给予符合资源的地址。
你不必定义地址,只定义性质,编译程序会自动分配。
您说的是C吧!我打算好好研究下单片机,所以就用汇编在写程序,了解下存储器、寄存器之类的,所以问您这个问题。对于单片机,希望您能给些指导,以便熟练掌握,而不是只写程序。
一周热门 更多>