一、题目名称:
小型编译器设计
二、题目要求:
1、基本要求:
请将以下C语言程序段编译成对应的8086汇编语言程序,然后通过汇编和链接,执行.exe文件,显示运行结果。以下是C语言程序段:
main( )
{
char x, y, z;
x = 5;
y = 4;
z = x + y;
printf("z=%d", z);
}
2、设计要求:
1. 可以先使用C语言将该程序段编译成8086 汇编语言源程序。
2. 然后在8086汇编语言环境中运行汇编程序,显示结果。
3、设计可选项:
1. 初级:
基于C语言开发编译器,功能:只是将固定的C语言程序编译生成.asm汇编文件。然后手动通过8086的汇编工具可以运行出正确的结果。
2. 中级:
基于C语言开发编译器,功能:将对应的C语言程序编译成.asm汇编文件,并且在C源文件中可以进行变量的替换,以及支持加法和减法操作。然后手动通过8086的汇编工具可以运行出正确的结果。
3. 高级:
基于C语言开发编译器,功能:支持较为灵活的C语言源程序,在C源文件中可以进行若干个变量的定义,并且支持加减乘除运算等功能,然后编译生成.asm汇编文件。然后手动通过8086的汇编工具可以运行出正确的结果。
在完成基本功能基础上,可以增加功能,例如支持更多的C语言语句;也可以设计更为友好的界面,方便输入输出,运行显示。
4. 创新:
本次汇编竞赛支持创新,即提交的作品可以不限于以上主题,但必须保证原创性。
三、格式要求:
1、程序设计报告:
包括:整体设计结构框图,各子模块设计框图;各个任务模块的完成情况;任务调度程序的完成情况;整个系统联调的完成情况;必要的运行结果的屏幕截图。
2、源程序:
要求:格式规整;每个功能模块和主要代码处需有注释。
四、注意事项:
1、本次竞赛需上传的电子版文档有:基于C语言的编译器源程序,用于编译的C语言源程序例程,编译器运行结果产生的asm文件,汇编连接后产生的exe文件,以及竞赛设计报告的word文档。设计报告还需提交一份纸质版,详见竞赛规程。
2、本次竞赛可使用的软件工具为:C语言,Masm.exe, Link.exe,Debug.exe, Debug.com ,Edit.com,记事本。
汇编语言程序设计竞赛组委会
2015年11月