综合程序设计二.doc_第1页
综合程序设计二.doc_第2页
综合程序设计二.doc_第3页
综合程序设计二.doc_第4页
综合程序设计二.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

辽宁工程技术大学上机实验报告成绩课程名称计算机硬件基础实验题目综合程序设计(二)院系软件学院专业软件工程班级10-03班姓名章睿学号1020010331实验日期2012-11-08实验目的1熟练掌握汇编语言程序设计的方法和原理及汇编语言程序设计在计算机行业中的作用。2熟练应用各种程序设计的原理和方法(顺序、选择、循环、子程序及中断调用)进行实际问题的分析,建立数学模型,正确确定所用的算法,画出程序流程图,根据流程图编制汇编语言程序,并能上机正确熟练调试汇编程序。3中断的作用及中断程序的编制方法,掌握系统功能子程序的调用方法,正确给出入口参数,准确利用得到的出口参数。实验准备18086/8088指令系统常用指令的格式及用法28086/8088宏指令的格式及用法3程序设计(1)8086/8088源程序格式(2)程序设计基本方法:顺序、选择、循环及子程序的设计(3)输入/输出程序设计:DOS中断调用和BIOS中断调用的用法实验进度本次共有 1 个练习,完成 1 个。实验内容【练习1】简单的动画显示程序:利用字符构成一个“汽车”图形,在屏幕上模拟显示一个开动的汽车。实现方法:1、利用多个字符构成一个“汽车”图形R(1)参考图形: (2)该“汽车”所用符号由以下几个部分组成:字 母 R(车头):ASCII码为52H阴影符 :ASCII码为0B1H笑脸符 :ASCII码为01H或02H实心方块 :ASCII码为0DBH字母O(车轮):ASCII码为4FH。(3)构成“汽车”的7个字符的定义:2、让“汽车”在屏幕上开动(1)清屏(2)在屏幕上画出(显示出)“汽车”,将上面构成的“汽车”图形利用BIOS中断调用输出在显示器上。(3)延时一个时间周期,产生视觉暂留,使图形清晰,利用延时子程序。(4)清除图形(利用同样前景色、背景色重画“汽车”图形)(5)改变“汽车”显示的行、列坐标。(6)返回(1)步重复显示,直到“汽车”开过去为止。实验内容(续)程序代码:data segmentcar db 7db 0dbh,7,0,0db 0dbh,7,0,1db 0b1h,70h,0,1db 52h,70h,0,1db 4fh,7,1,0db 4fh,7,0,-3db 2,7,-2,2char_cnt dw ?pointer dw ?line_on db ?col_on db ?data endscode segment assume cs:code,ds:data,ss:stack1main proc far push ds sub ax,ax push ax mov ax,data mov ds,ax call clear_screen lea di,car mov dh,10 mov dl,10 call move_shape ret实验内容(续)clear_screen proc near push ax push bx push cx push dx mov ah,6 mov al,0 mov ch,0 mov cl,0 mov dh,24 mov dl,79 mov bh,7 int 10h pop dx pop cx pop bx pop ax retclear_screen endpmove_shape proc near push ax push bx push cx push dx push di mov ah,0fh int 10h sub ch,ch mov cl,di实验内容(续) inc di mov char_cnt,cx mov pointer,di mov line_on,dh mov col_on,dlplot_next: add dh,di+2 add dl,di+3 cmp dl,80 jb mov_crsr call erase pop di pop dx pop cx pop bx pop ax retmov_crsr: mov ah,2 int 10h mov al,di mov bl,di+1 push cx mov cx,1 mov ah,09 int 10h pop cx add di,4 loop plot_next call dly_qrtr call erase实验内容(续) jmp short plot_nextmove_shape endpdly_qrtr proc near push ax push cx push dx mov ah,01 mov cx,0 mov dx,0 int 1ahdelay: mov ah,00 int 1ah cmp dx,05h jb delay pop dx pop cx pop ax retdly_qrtr endperase proc near mov cx,char_cnt mov di,pointer mov dh,line_on mov dl,col_onerase_next: add dh,di+2 add dl,di+3 mov ah,2 int 10h mov al,di实验内容(续) mov bl,0 push cx mov cx,1 mov ah,09 int 10h pop cx add di,4 loop erase_next mov cx,char_cnt mov di,pointer mov dh,line_on inc col_on mov dl,col_on reterase endpstack1 segment para stack dw 40h dup(0)stack1 endsmain endpcode ends end main实验分析【练习1】(1)该源程序取名car.ASM,通过汇编、连接后生成可执行文件car.EXE,运行该文件显示的内容如下:(2)直接运行结果:实验总结【练习1】1 存在的问题 定义汽车的七个部件,需要布局好,定义其颜色,和他们的坐标及其坐标之间的搭配,在其子程序调用的时候需要按一定的顺序来调用,保证搭配成一个汽车,不然的话输出显示不成汽车图形。在子程序的书写时候系统功能调用要用好。2 实验结论

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论