当前位置:首页 > 我的程序 > 正文内容

简单的小c语言编译器源码分析和改进。

Peirre3年前 (2022-09-24)我的程序361

SMC 是命令行的小型16位命令行C语言编译器。本来想完善它,但是少了点函数。

这些少的函数在CLIB.LIB库中自带有,所以也不说了。

https://pan.baidu.com/s/1cVA_9QfGP1UvRqq1jNqEKw?pwd=1111

这个包是C语言可编译源码。

加了几个批处理。

SEDOS.BAT 这是启动DOSBOX模拟器的,在windows 下点击就可以了。

SC.BAT 这是编译和重组C语言的批处理。命令用法:

SC  name.C               ----> name 是任意C文件名

COMPILE.BAT                 这是完成C 文件生成目标OBJ文件的一个批处理,原文档。

BUILDLIB.bat                   这是建造 CLIB.LIB 库文件的批处理。加库的两种方法

BUILDSC.bat                     这是扩展的文件编译批处理,原有的CLIB.LIB库中已有这些函数可用。

PS: 新生成的CLIB.LIB 没有一些函数。改动了以前的C文件的错误。可以用于所有系统。只是没有模式选择,纯16位系统。

CCC.txt 这是汇编语言的 LIST文件

CC86.exe 这是以前的可用的C语言编译器,这些C程序靠它完成编译。

CC86.exe 生成 *.mac 文件,看起来不可以用,只能说不能直接使用。

子目录中包含了两个汇编语言编译器。一个是masm5.0,一个是masm6。

所有的C文件重新整理过,这个CC86生成*.mac 有个缺点,也就是文件最后一个字符,不要挨着C文件的最后一个反刮号”}“。

dosbox.conf 是DOSBOX的设置文件,最后几行是和这个目录下的项目配对的。

[autoexec]
# Lines in this section will be run at startup.
mount c "C:\Users\ASUS\Desktop\SMC\SMCD\"
path c:\masm\;

这上面的路径可以改成自己的项目路径。

我是文章作者,所以编译器这个难活还是业余点好。

基本上没什么问题了,具体一点可以看批处理,都已经做好了。

cc86 cc1.c

masm cc1.mac;

link cc1.obj

就这几行可以生成cc1程序。

CC11.C 是C语言主程序,其它的CC1.C~CC4.C,CC11.C~CC13.C,CC21.C~CC42.C 是C编译器的主包含程序。

CC.DEF 是全局C语言宏定义值。

其它的C文件是函数C文件。

有H包含文件,只有<stdio.h>是标准的。

这个C语言可以内嵌汇编语言,源编码可以换其它汇编助记符,十分好用且无毒无害。


2.jpg

分享给朋友:

相关文章

一个易语言写的函数信号发生器。

一个易语言写的函数信号发生器。

易语言写的函数信号发生器,编写的想法是准备应用“雷达”的信号发射源。本来包含声音部分,有待继续完善。下载地址:https://pan.baidu.com/s/1mi22Ico...

发布一个雷达显示程序,仅测试,有问题请交流。

发布一个雷达显示程序,仅测试,有问题请交流。

下载地址:雷达显示程序.rar这个雷达显示程序用来显示雷达数据的。使用易语言编写。数据部分还没完善。欢迎提意见。...

关于ch341驱动,联动3D打印机USB串口通讯.

关于ch341驱动,联动3D打印机USB串口通讯.

手上有个3D打印机,搬家的原因,好久没用.天气热了,打印温度很适合,正好可以使用.又过了一年.发现linux 版本内核已经升级,和原来的系统不一样了. 按照3D打印机的说明,和寻找它的程序,原来的方法...

关于编译器不愿意说的那些事。

关于编译器不愿意说的那些事。

计算机发展了好多年。当中也不泛有很多对程序的爱好。很多人不是专业水平,也不是在算法类中特别出众,就是喜欢而已。好像认为自己就只那个水平,或者为一些调试不通过发愁。可以说,实际上都不是你的错,是编译器的...

谈谈引导程序的想法。

谈谈引导程序的想法。

当个人电脑一出现就有了磁盘系统,不管是软盘,光盘,硬盘,计算机要应用操作系统就要引导,引导程序一段代码。这引导代码很小,在第一个磁盘的扇区上,平时没什么人注意它。这段代码损坏一个字节,都会造成计算机瘫...

刚刚上手的一个汇编程序nasm。

刚刚上手的一个汇编程序nasm。

今天使用了masm32软件,总有使不上劲的感觉。因为intel 指令集很多都没有,自己想测试一下,一边翻资料,一边使用。windows 编程好用,但是指令不全,心里总是感觉差一点。又不是编大程序,只是...