DIY的测试版8位计算机完整原创电路和部分程序发布
把文件整理了一下,特开此帖上文件.
这里的电路和程序源码每行都是本人亲手编写,可以看出写得比较烂...里面有些程序是以前没有完全了解C语言的时候写的,有些不合适的地方。。。但是执行结果正确的。。过后再改了。。。转载请注明出处.
下面这些文件后面慢慢解释。
原贴链接: https://www.kechuang.org/t/59032

8位DIY计算机电路PDF文件下载:

attachment icon 8位DIY计算机电路_CPU.pdf 95.26KB PDF 694次下载 预览

attachment icon 8位DIY计算机电路_VGA.pdf 84.59KB PDF 397次下载 预览

attachment icon 8位DIY计算机电路_IO.pdf 168.64KB PDF 292次下载 预览

8位DIY计算机电路_Protel原理图下载:

attachment icon 8位DIY计算机电路_Protel原理图.rar 3.68MB RAR 321次下载

GB2312、ASCII、乘法器 二进制ROM文件下载:

attachment icon GB2312_ASCII_MUL二进制文件.rar 94.86KB RAR 210次下载

本机专用C编译器源码下载:

attachment icon lscpuC编译器易语言源码.rar 105.02KB RAR 255次下载

本机部分应用程序下载:

attachment icon 内存卡加载CPU.bin运行.zip 599.72KB ZIP 225次下载


attachment icon HTTP服务器.rar 341.88KB RAR 172次下载


attachment icon HTTP服务器 (高速优化).rar 403.95KB RAR 204次下载


attachment icon VGA部分函数测试程序.rar 310.65KB RAR 204次下载


8位DIY计算机电路_IO.png

8位DIY计算机电路_CPU.png

8位DIY计算机电路_VGA.png

[修改于 7年9个月前 - 2014/11/30 13:51:38]

来自:计算机科学 / 计算机电子学
49
 
rb-sama
7年9个月前
1楼
坐等大神转换成HDL格式的。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
神之觉醒作者
7年9个月前
2楼
本机还有很多嗨爆程序  后面慢慢更....
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
哈迪斯2001
7年9个月前
3楼
[s:39]搞得我也想去深入学学计算机原理了
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
sszxlsy
7年9个月前
4楼
出套件了叫一声哦[s:38]
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
小八一3
7年9个月前
5楼
大神什么时候出套件啊 。。。。膜拜中
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
光谱
7年9个月前
6楼
坐等大神变成红石的。。。。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
dome
7年9个月前
7楼
做出红石电路就牛了!
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
神之觉醒作者
7年9个月前 修改于 7年9个月前
8楼
启动本机的方法:

1 . 把三个原理图和外部设备根据  "8位DIY计算机电路_IO"  这张图里的提示连接好, 用洞洞板飞线快的话一个多星期就搞定.

2 . 然后把 "GB2312_ASCII_MUL二进制文件.rar" 里面的bin文件分别烧入到 "8位DIY计算机电路_IO" 这张图里面的U71、U72、U69.

3 . 最后把应用程序bin文件烧入到  "8位DIY计算机电路_IO" 这张图里面的U84(开机运行ROM).

接上电源,按下 "8位DIY计算机电路_IO" 这张图里面的S2开机,就会运行烧入的程序.


"内存卡加载XXXXXXn运行" 程序说明:

把这个程序的bin文件烧入到开机运行ROM.

这个程序上电的时候会搜索TF/SD卡根目录的 "XXXXXXn" 文件,找到文件后会自动把文件数据载入到 "8位DIY计算机电路_IO" 这张图里面的U82和U83存储器(任务ROM,由SRAM组成),然后CPU就切换执行任务ROM里的程序.
TF/SD卡文件系统为FAT32.

这样搞临时调试程序比较方便.
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
神之觉醒作者
7年9个月前
9楼
本机C编译器说明:

支持全局变量、局部变量、函数、头文件、字符串替换命令.


1.支持数据类型.

signed可以省略,会默认为有符号数.
char占1个字节,int占2个字节,long int占4个字节, 指针占2个字节.

signed char
signed int
signed long int
unsigned char
unsigned int
unsigned long int

signed char*
signed int*
signed long int*
unsigned char*
unsigned int*
unsigned long int*

signed char 一维数组
signed int 一维数组
signed long int 一维数组
unsigned char 一维数组
unsigned int 一维数组
unsigned long int 一维数组

16进制常量
10进制常量
8进制常量
字符常量


变量的物理地址定义方式.
@0xfffe char a,b;@
意思是修改当前变量的分配地址为0xfffe,然后变量a的地址就是0xfffe,b的地址是0xffff, 然后遇到第2个"@"分配地址会恢复,否则会一直加下去....




2.支持函数类型.
signed可以省略,会默认为有符号数.
char返回1个字节,int返回2个字节,long int返回4个字节, 指针返回2个字节.

void

signed char
signed int
signed long int
unsigned char
unsigned int
unsigned long int

signed char*
signed int*
signed long int*
unsigned char*
unsigned int*
unsigned long int*


函数分页定义方式.
void x()rom0 on
{
}
函数括号末尾加上"rom0"的意思是编译的时候把这个函数放在rom第0页,一页64KB,最多可以支持255页(16MB的ROM), 因为这个CPU程序计数器16位只能寻址64KB,也就是这里一个函数最大64KB, 怎么实现不同函数的页间调用。。这个是我觉得做得比较得意的地方~~ 后面有空讲.
后面那个"on"的意思就是这个函数是页间共享, 这样其他页的函数就可以调用本函数, 如果不加 "on" 其他页的函数不能调用本函数, 加 "on" 比不加 "on" 效率低.

如果不加 "rom0", 这个函数默认放在ROM第0页.




3.支持控制语句.

if - else
if - else if - else if - else if ......
while
do - while
for
goto
break
continue
return
rom_run
特殊控制语句 "rom_run" .
本机有两组ROM, 不管CPU当前执行的程序在哪个ROM,只要执行到rom_run后就会切换到另一组ROM的首地址开始运行, 而且还可以通过 _R1(CPU的R1寄存器) 传递一个数值给另一组ROM.



4.支持运算符(表达式里的运算符严格按照C优先级处理).

sizeof
()
[]
+
-
*
/
%
&
|
~
^
!
>
<
>=
<=
==
!=
++
--
&&
||
>>
<<
+=
-=
*=
/=
%=
&=
|=
^=
<<=
>>=
?:



5.可以表达式插入操作的CPU部件和指令:

_ACC
_R1
_R2
_R3
_C
_Z
_BIT0
_BIT1
_BIT2
_BIT3
_BIT4
_BIT5
_RAM
_NOP






本编译器的局部变量分配方法:

函数之间有调用关系分配地址不同,函数之间没有调用关系,分配地址相同.

下面这种调用关系的程序内存总占用约为1024字节.
void a()
{
  char x[1024];
}

void b()
{
  char x[1024];
}

main()
{
  a();
  b();
}


而下面这种调用关系的程序内存总占用约为2048字节.
void a()
{
  char x[1024];
}

void b()
{
  char x[1024];
  a();
}

main()
{
  a();
  b();
}
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
神之觉醒作者
7年9个月前
10楼
CPU没有调用指令,实现函数调用也是我觉得比较得意的[s::loveliness:][s::lol]
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
神之觉醒作者
7年9个月前
11楼
引用 小八一3:
大神什么时候出套件啊 。。。。膜拜中
估计下个月就有套件了..
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
神之觉醒作者
7年9个月前
12楼
引用 sszxlsy:
出套件了叫一声哦
OK
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
神之觉醒作者
7年9个月前
13楼
在这里对一个变量加1的话用 "++i" 比 "i++" 效率高, 因为"++i" 直接等效 "(i = i+1)", 而"i++" 等效 "(j = i ,++i , j)",然后把 "j" 变量放到表达式里面 "i" 的位置, 这里的j是编译器临时分配的一个用于存放中间运算结果的内存单元.
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
小八一3
7年9个月前
14楼
OK 下个月搞一套玩玩
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
justinpiggy
7年9个月前
15楼
出套件了必入一套。。。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
神之觉醒作者
7年9个月前
16楼
顶楼的电路文件刚刚修正了一个BUG,... 看来我的第6感不错... 我说怎么感觉好像哪里不对.
改正的电路是 "8位DIY计算机电路_IO" 这张图.
图片上面那些图元的符号有点乱了.. 引脚上面的杠符号错位.  用protel看原理图比较好.

错误.png

已更改.png
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
虎哥
7年9个月前
17楼
今晚楼主没有出现,顿时觉得整个人的不好了[s::loveliness:]
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
神之觉醒作者
7年9个月前
18楼
引用 虎哥:
今晚楼主没有出现,顿时觉得整个人的不好了
[s::funk:]~~正在研究中~~[s::kiss:]
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
小八一3
7年9个月前
19楼
等待大神的套件来学习
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
布布卡
7年9个月前
20楼
同样等套件(最好是印制板),下学期学了计算机拿这个实践一下,这个好神奇
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
神之觉醒作者
7年9个月前
21楼
....正在搞个装BI的程序  改天晒晒 ..   这个程序太装BI了   小心亮瞎[s::lol]
这台机终于发现频率不能跑高的原因了...  原来是电源线的VCC布线有问题,  改了一下 CPU主频完美回归25MHZ, HTTP服务器传输速度60+KB/S, 数据不出错,   频率应该还可以跑更高.
CPU25Mhz.png
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
神之觉醒作者
7年9个月前
22楼
真好玩[s:;P]
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
神之觉醒作者
7年9个月前
23楼
这样搞会不会装大了= =...  程序还没做完.

点击此处查看视频

测试程序1.jpg

测试程序2.jpg

测试程序3.jpg
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
张静茹
7年9个月前
24楼
WOW 赶上直播了吗? 好棒!!!!
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
神之觉醒作者
7年9个月前
25楼
引用 张静茹:
WOW 赶上直播了吗? 好棒!!!!
[s::$] 现在突然发现 随随便便一搭 电脑就出来撩... 搞进去才发现没有多少东西~ 其实不用搞得这么复杂 就是通和断1和0  然后再研究一下别人定义的东西就差不多了,  说不定什么时候有灵感 一不留神又想出个更吊的结构就爽,  几年前还觉得程序猿是个很神奇的东西 搞得差不多先 看来应该要写本DIY秘籍
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
LED
7年9个月前
26楼
引用 神之觉醒:
这样搞会不会装大了= =...  程序还没做完.

XXXXXXXXXXXXXXXXXXXX/v/eab-U44Q9rU/&rpid=47973396&resourceId=47973396_04_05_99/v.swf
这难道是KCOS0.0.1版[s::funk:]
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
神之觉醒作者
7年9个月前
27楼
引用 LED:
这难道是KCOS0.0.1版
没错  正在内测中~~~~&^&*^  边写边测  边测边写
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
张静茹
7年9个月前
28楼
引用 神之觉醒:
现在突然发现 随随便便一搭 电脑就出来撩... 搞进去才发现没有多少东西~ 其实不用搞得这么复杂 就是通和断1和0  然后再研究一下别人定义的东西就差不多了,  说不定什么时候有灵感 一不留神又想出个更吊的结构就爽,  几年前还觉得程序猿是...
是啊,好多东西自己做出来就觉得,也就那么回事
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
神之觉醒作者
7年9个月前
29楼
放角落, 一直在运行HTTP服务器程序  还没死过机,  IP的原因, 目前只能局域网服务[s::L]
DSCF2946_调整大小.jpg
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
大胆哥
7年9个月前
30楼
龙少,你搞么叨的电路让我很爽
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
mvip
7年7个月前
31楼
太羡慕,高手呀。真心不懂这个,只会在别人的基础上学习编程
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
default
7年7个月前
32楼
我屌,楼主太强悍了!
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
无敌把妹手
7年7个月前
33楼
膜拜大神
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
神之觉醒作者
7年7个月前
34楼
引用 mvip:
太羡慕,高手呀。真心不懂这个,只会在别人的基础上学习编程
本贴这台机搞得太破烂--  有更加好的电路和最新的方案:
https://www.kechuang.org/t/68167
https://www.kechuang.org/t/69505
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
zepan
7年7个月前
35楼
弱问那个编译器是用yacc+lex写的吗?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
not_at_all
7年7个月前
36楼
太强悍了,资料也很齐全
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
华德茂234
7年6个月前
37楼
强人呀,碉堡了。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
edaboy
7年6个月前
38楼
编译器好用吗
引用
评论
1
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
神之觉醒作者
7年6个月前
39楼
引用 zepan:
弱问那个编译器是用yacc+lex写的吗?
用国产易语言写的[s:;P]  表示支持国货;
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
神之觉醒作者
7年6个月前
40楼
引用 edaboy:
编译器好用吗
还可以~  不是很完美
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
delay
7年6个月前
41楼
我的神呀如此强大
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
CES747MAYDAY
7年2个月前
42楼
引用 分析纯_金:
坐等大神变成红石的。。。。
Mincraft玩家[s::lol]
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
CES747MAYDAY
7年2个月前
43楼
引用 t502187408:
做出红石电路就牛了!
Mincraft玩家[s::lol]
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
CES747MAYDAY
7年2个月前
44楼
先凑钱,表示支持套件


期待16位的[s::lol][s::lol]
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
神之觉醒作者
7年1个月前
45楼
引用 CES747MAYDAY:
先凑钱,表示支持套件


期待16位的
弄个32位的.. ~
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
nwpchennank
6年4个月前
46楼
还有很多程序
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
nwpchennank
6年4个月前
47楼
搞得我也想去深入学学计算机原理
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
明月无心
6年4个月前
48楼
不错不错
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
上级专业
同级专业
神之觉醒
学者 机友 笔友
文章
70
回复
1161
学术分
4
2011/08/12注册,5个月5天前活动
暂无简介
文件下载
加载中...
{{errorInfo}}
{{downloadWarning}}
你在 {{downloadTime}} 下载过当前文件。
文件名称:{{resource.defaultFile.name}}
下载次数:{{resource.hits}}
上传用户:{{uploader.username}}
所需积分:{{costScores}},{{holdScores}}下载当前附件免费{{description}}
积分不足,去充值
文件已丢失

当前账号的附件下载数量限制如下:
时段 个数
{{f.startingTime}}点 - {{f.endTime}}点 {{f.fileCount}}
视频暂不能访问,请登录试试
仅供内部学术交流或培训使用,请先保存到本地。本内容不代表科创观点,未经原作者同意,请勿转载。
音频暂不能访问,请登录试试
支持的图片格式:jpg, jpeg, png
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
加入关注取消关注
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
建议修改
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}