实验四综合程序设计.doc
文本预览下载声明
实验四 综合程序设计
一实验目的熟练掌握汇编语言程序设计的方法和原理及汇编语言程序设计在计算机行业中的作用。
熟练应用各种程序设计的原理和方法进行实际问题的分析,建立数学模型,正确确定所用的算法,画出程序流程图,根据流程图编制汇编语言程序,并能上机正确熟练调试汇编程序。
中断的作用及中断程序的编制方法,掌握功能子程序的调用方法,正确给出入口参数,准确利用得到的出口参数。实验内容
简单的动画显示程序:利用字符构成一个汽车图形,在屏幕上模拟显示一个开动的汽车。提示:本题目的完成分为以下两部分:
利用多个字符构成一个汽车图形
参考图形: 该汽车符号由以下几个部分组成:
字 母R(车头):ASCII码为52H
阴影符 :ASCII码为B1H
笑脸符 :ASCII码为01H或02H
实心方块 :ASCII码为DBH
字母:ASCII码为4FH。
构成汽车的7个字符的定义:让汽车在屏幕上开动在屏幕上画出(显示出)汽车,将上面构成的汽车图形利用BIOS中断调用输出在显示器上。延时一个时间周期,产生视觉暂留,使图形清晰,利用延时子程序。清除图形利用同样前景色、背景色重画汽车图形改变汽车显示的行、列坐标。
返回步重复显示,直到汽车开过去为止。实验要求1.实验前要做好充分准备包括程序清单调试步骤调试方法以及对程序结果的分析等、实验报告写出DEBUG状态下运行程序的过程调试中遇到的问题是如何解决的并对调试过程中的问题进行分析对执行结果进行分析构成汽车的7个字符的定义ASCII码值、字符属性、相对位移量(行、列)——按各字符显示顺序给出data segment
car db 7
db 0dbh,7,0,0 //0行0列实心方块,字符属性为白色
db 0dbh,7,0,1 //0行1列实心方块
db 0b1h,70h,0,1
db 52h,70h,0,1 //0行1列R字符
db 4fh,7,1,0
db 4fh,7,0,-3
db 2,7,-2,2
char_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,dl
plot_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
ret
mov_crsr: mov ah,2
int 10h
mov al,[di]
mov bl,[di+1]
push cx
mov cx,1
mov ah,09
显示全部