最近在测试指令集的例子发现存储空间的问题

cs14789652 2017-12-07 02:55:22

带15为转换器的 8位微控制器,允许写入的数值最大时多少?允许跳转的地址最大时多少?

;---------------------------------------------- part 1 -------------------------------------------------------------------

选择MK7A20 IC的时候,DW 6677命令会报错

查看Program Memory 发现有情况。
后来发现时芯片型号选错了,选回7A23P的IC后,结果如下


昨天发现的很难理解。

;------------------------------------------------- part 2 -----------------------------------------------------------------

个人现阶段的理解水平:
7A23P这款单片机内置ROM是2K,程序计数器(PC)有11位,最高地址为7FF。
8为单片机 16位寻址的玩法,内置ROM最高为1FFF 也就是8K,
拓展外置的ROM,1FFF 异或 FFFF,得到高位的111三位。这三位用来选择8个ROM(程序存储器),最终8K*8得到8为单片机允许的最大存储空间时64K。

今天的理解时该款芯片够得着的长度是16位的数字,程序存储地址最高只能时11位 7FF。程序运行过程中跳转指令的目标也只能是 7FF范围内?! 现阶段的水平时这样,希望有存储空间战斗经验的带带新同学。
...全文
370 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
cs14789652 2017-12-07
  • 打赏
  • 举报
回复
引用 2 楼 DelphiGuy 的回复:
不了解这芯片。不过从反汇编贴图来看: 该芯片指令定长16位,高3位是opcode,所以跳转地址最大13位0~8191,也就是8K地址范围。另外它的内存编址是16位字而不是字节。
感谢回馈,我会进一步理解这三个关键字:内存编址, 位和字节
  • 打赏
  • 举报
回复
不了解这芯片。不过从反汇编贴图来看: 该芯片指令定长16位,高3位是opcode,所以跳转地址最大13位0~8191,也就是8K地址范围。另外它的内存编址是16位字而不是字节。
cs14789652 2017-12-07
  • 打赏
  • 举报
回复
2k存储空间 => 最高程序存储地址 0x07FF 8k存储空间 => 最高程序存储地址 0x1FFF 16bit -> 0xffff => 64k 不知道16位不带系统的单片机,是否允许的最大存储空间时32G?目前还没求证,先做记录。 之前工作接触过32为系统的软件开发。有文件系统的玩法又是另外一种模式,有Page,block,section的概念。FAT32文件系统不允许单个文件大于4G,NTFS允许单个文件允许大于4G,但是装系统的引导区不能为这个? 好像很有意思。

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧