12年2个月前IP:广西
728572
18楼
这个CPU如果要实现函数调用的话比较困难  不是说实现不了  不过函数返回地址装入程序计数器很蛋疼   要靠编译器实现
实现方法:
这里  y为返回地址选择   调用函数的时候要给y装入返回地址选择值
然后函数尾部生成如下返回指令(编译器计算生成)...
if(y == 0) xxxx地址装入程序计数器;
else if(y == 1) xxxx地址装入程序计数器;
else if(y == 2) xxxx地址装入程序计数器;
.
.
.
.
.
.
这里目的是实现功能 忽略效率

1位CPU怎么判断多位数...   可以通地址线来选择判断哪一位 一位一位判断  虽然程序复杂而且量大 但是可以实现.
CPU指令功能简单 实现同样功能但代码量大  CPU指令功能复杂  实现同样功能代码量低.

这个CPU是可以实现C语言编译器的, 除了递归...
现在考虑是不是要做这个CPU的编译器开发这个CPU  如果做的话程序计时器增加到24位ROM容量可以寻址到16MB
评论
文号 / 728572

千古风流
名片发私信
学术分 4
总主题 71 帖总回复 1168 楼拥有证书:学者 机友 笔友
注册于 2011/08/12 17:13:20最后登录 2022/12/22 11:43:34
主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:0

个人简介

暂未填写
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的