10计算机汇编语言课程设计任务书文档格式.docx
- 文档编号:18142485
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:12
- 大小:405.39KB
10计算机汇编语言课程设计任务书文档格式.docx
《10计算机汇编语言课程设计任务书文档格式.docx》由会员分享,可在线阅读,更多相关《10计算机汇编语言课程设计任务书文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
2.也可根据直接兴趣自定题目,如排序、求阶乘和等。
任务二:
显示系统日期和时间
1.在屏幕特定位置显示当前系统日期和时间;
2.显示的日期和时间要求即时更新,即设计为跳动的时钟;
3.可自定义电子钟的显示区域、显示位置、背景和前景色以及图形化显示。
三、课程设计报告的要求
1.本次课程设计分组进行,每组同学必须认真、独立的完成课程设计的编程和调试。
2.课程设计报告要求使用A4纸打印,必须有目录。
封面提供,内容要认真独立完成。
3.课程设计报告内容一般应包含如下部分:
1课程设计目的、内容;
2每个任务的程序流程图
3程序清单
4调试结果及分析;
5收获、体会和建议。
4.课程设计结束同时上交课程设计报告,不得拖延。
四、成绩的评定
1.考勤(20分)
2.调试验收(30分)
3.随机回答指导教师的问题(20分)
4.课程设计报告(30分)
5.课程设计态度不认真,超过1/3时间不到者,不予及格。
6.完全拷贝他人,对设计内容一无所者或知之甚少者,一经发现,不予及格。
7.课程设计报告雷同或抄袭者,不予及格。
8.可以自主扩充功能,有创新可加分。
汇编语言课程设计指导书
一、混合编程预备知识
(一)什么是混合编程
多种程序设计语言间,通过相互调用、参数传递、共享数据结构和数据信息而形成程序的过程就是混合编程。
程序的大部分采用高级语言编写,可以提高程序的开发效率;
在某些部分,利用汇编语言编写,可以提高程序的运行效率。
(二)混合编程方法
汇编语言与C语言混合编程有4种实现方法:
一是嵌入式汇编,即将汇编语句或程序嵌入到C语言程序中;
二是在C语言程序中调用汇编语言函数(汇编函数以汇编程序源文件形式存在);
三是在汇编语言程序中调用C语言程序;
四是采用DOS或BIOS调用函数。
这里我们着重介绍前两种方法。
1.嵌入式汇编
(1)C语言中嵌入汇编语句的格式如下:
asm操作码操作数<
;
或换行>
如以下C源程序文件“test.c”:
(2)编译连接方法
含有嵌入式汇编语句的C程序的编译连接,需要使用TC环境的命令行编译器TCC.EXE,而TCC.EXE在编译时要调用TASM.EXE,因此TC安装目录下必须有汇编程序TASM.EXE。
但是在大多数的情况下此目录中是没有TASM.EXE的。
我们可以先下载TASM5.0进行安装,然后将安装目录下的TASM.EXE直接拷贝到TC安装目录下,就可以用了。
TCC.EXE的调用格式是:
TCC[options]file[s]
其中,file[s]为需要编译或连接的文件,可有一个或多个。
[option]为各个参数选项,常用的有“-B”,用于指示源程序中使用了嵌入式汇编,则编译命令为:
TCC–Id:
\tc\include–Btest
注意:
TCC区分大小写,B必须为大写。
(3)编译连接过程
假定TC2.0安装目录为C:
\turboc2,test.c文件在turboc2文件夹中,且该目录中含有TASM.EXE。
则编译连接过程如下:
启动命令提示符,使用cd\turboc2命令切换到tc目录,输入TCC命令:
运行该编译命令,如下图所示表示编译连接成功:
此时在当前目录下生成test.obj、test.exe文件,运行test.exe文件,结果如下:
结果正确!
2.在C语言程序中调用汇编语言函数
此方法要求分别编译C语言程序和汇编语言程序,再将目标文件连接成一个可执行文件。
在这一过程中,汇编语言程序被看作函数,被C语言程序调用。
C语言程序以汇编语言子程序名作为函数名调用汇编语言程序模块。
(1)编写源程序
汇编语言子模块的过程应用PUBLIC伪指令将其说明为“公用过程”。
在C语言程序中,也应对被调用的汇编语言程序模块用EXTERN声明为“外部模块”。
例如:
在C中调用汇编语言模块完成两个数的求和。
C文件(命名为ADDC.C)
参数传递主要采用堆栈来进行。
对于TC中的小模式采用近调用,参数入栈采用自右向左的顺序,即变量y、变量x,且在栈中各占用2个字节。
汇编语言文件(命名为ADDM.ASM,完成的功能为求两个整数之和)
可以看出代码段是以带下划线的标识符开头的,代码段的标识为_TEXT,这是由TC编译程序所定好了的,如果不按照这个格式书写汇编代码,调用就不会成功。
TC编译器默认情况下,对外部标识符均要在其首部加下划线,所以C程序中调用的函数ADDUP在这里也是以下划线标出:
_ADDUP。
(2)编译过程
用MASM宏汇编在命令行下对ADDM.ASM汇编,汇编后生成一个模块文件ADDM.OBJ,然后将ADDM.OBJ复制到TC目录下,以便于建立TC下的工程文件。
工程文件的建立。
在TC集成环境下建一个新文件,其内容为:
就只有以上两行内容,写完后保存为ADDCM.PRJ,说明了该工程包含了ADDC.C和ADDM.OBJ两个程序模块。
对工程文件编译连接。
在TC环境中利用Compile—MakeEXEfile命令,可将该文件编译连接为ADDCM.EXE。
运行ADDCM.EXE,结果如下:
二、系统时间的获取和显示
(一)时间的获取
调用系统日期和时间,并将调用的日期和时间数转换成ASCII码存在系统内存区的字符串中。
将存在系统内存区的日期和时间用字符串存入显存区(显存的起始地址:
B800:
0000)并在合适的位置显示出来。
由于获取了的系统时间不会自动刷新,所以我们要设计成刷新的方式(如利用定时器中断,中断类型号为1CH)来不断获取系统的时间,这样就形成了会跳动的电子钟了。
流程图如图1、图2所示。
图1主程序流程图图2中断处理程序流程图
(二)屏幕特定位置显示字符
阅读教材P.324-335页内容。
对应屏幕上的每个字符位置,显存空间都有相应的存储单元与之对应。
对应显示在屏幕上的每个字符,在存储器中由连续的两个字节表示,一个字节保存ASCII码,另一个字节保存字符的属性。
属性字节对单色显示和彩色显示都是有效的。
相应的值与属性关系参考教材P.325图9.5以及P.326图9.6以及表9.7。
我们可以使用BOIS显示中断10H的各项功能来进行显示字符的编程。
首先,利用0号功能设置屏幕显示方式:
MOVAX,0003H;
设置80×
25彩色文本方式
INT10H
设置光标位置:
MOVAH,02H
MOVBH,显示的页号
MOVDX,显示的行、列
在光标位置显示字符:
MOVAH,09H
MOVBL,字符属性值
MOVAL,显示的字符
MOVCX,显示次数
三、附件
附:
任务一参考程序清单
设计思路:
对字符串中的字符进行逐个判断是否为小写字母,若是,则转换为大写。
小写字母转换为大写字母的方法为减去20h。
运行结果如下:
任务二参考程序清单
此程序没有设置为跳动的时钟以及确定时钟显示位置。
程序运行结果如下:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 10 计算机 汇编语言 课程设计 任务书