辽工大计算机硬件实验四 综合程序设计.doc_第1页
辽工大计算机硬件实验四 综合程序设计.doc_第2页
辽工大计算机硬件实验四 综合程序设计.doc_第3页
辽工大计算机硬件实验四 综合程序设计.doc_第4页
辽工大计算机硬件实验四 综合程序设计.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

实验四 综合程序设计(二)一、实验目的综合运用所学的汇编语言知识设计一个综合题目。1熟练掌握汇编语言程序设计的方法和原理及汇编语言程序设计在计算机行业中的作用。2熟练应用各种程序设计的原理和方法(顺序、选择、循环、子程序及中断调用)进行实际问题的分析,建立数学模型,正确确定所用的算法,画出程序流程图,根据流程图编制汇编语言程序,并能上机正确熟练调试汇编程序。3中断的作用及中断程序的编制方法,掌握系统功能子程序的调用方法,正确给出入口参数,准确利用得到的出口参数。二、实验准备知识18086/8088指令系统常用指令的格式及用法28086/8088宏指令的格式及用法3程序设计(1)8086/8088源程序格式(2)程序设计基本方法:顺序、选择、循环及子程序的设计(3)输入/输出程序设计:DOS中断调用和BIOS中断调用的用法三、实验性质本实验为综合性实验。四、实验学时本实验学时为2学时。五、实验内容题目:简单的动画显示程序:参考下面的“汽车”图形的构成及运动样例,重新构成一个可运动的多几何图形,并在屏幕上模拟显示该图形的运动。提示:本题目的完成分为以下两部分: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)步重复显示,直到“汽车”开过去为止。六、实验要求1实验前要做好充分准备,包括程序框图,源程序清单,调试步骤,调试方法,以及对程序结果的分析等。2独立完成,严禁抄袭。3学会解决调试过程中的错误。七、实验报告内容1写出源程序清单及在DEBUG状态下运行程序的过程。2写出调试过程中遇到的问题是如何解决的,并对调试过程中的问题进行分析。3写出调试的指令及运行结果,并对执行结果进行分析。4收获及体会。【附录1】构成“汽车”的7个字符的定义(ASCII码值、字符属性、相对位移量(行、列)按各字符显示顺序给出)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 ends【附录2】让“汽车”在屏幕上开动-清屏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 ret clear_screen endp【附录3】在屏幕上显示出“汽车”,并将“汽车”图形利用BIOS中断调用输出在显示器上。move_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 endp【附录4】延时一个时间周期,产生视觉暂留,使图形清晰,利用延时子程序。dly_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 endp【附录5】清除图形利用同样前景色、背景色重画“汽车”图形。erase 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 endp【附录6】模拟汽车开动程序的参考主程序stack1 segment para stack dw 40h dup(0) stack1 ends code segment assume cs:code,ds:data,ss:stack1main proc far push ds sub ax

温馨提示

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

评论

0/150

提交评论