西安邮电大学第六届汇编语言程序设计竞赛题目



 
 

一、题目名称:
    小型编译器设计
二、题目要求:
    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月