毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 课程设计 >> 正文

微机原理课程设计_字符图形程序_微机原理课程设计 第2页

更新时间:2007-10-25:  来源:毕业论文

db  2ah,238,1,0
db  2ah,238,1,0
db  2ah,238,1,0
db  2ah,238,1,0
db  2ah,238,1,1
db  2ah,238,1,1
db  2ah,238,1,1
char_cnt dw ?
pointer  dw ?
line_on  db ?
col_on   db ?
data     ends
stack  segment
db  2000 dup (0)
stack  ends
code segment
assume cs:code,ds:data
main proc far
push ds
sub ax,ax
push ax
mov ax,data          ;初始化DS
mov ds,ax
mov ah,0             ;设置300*200彩色图形方式
mov al,3
int 10h
mov ah,0bh           ;设置背景颜色
mov bh,0
mov bl,2
int 10h
mov ah,0bh           ;设置彩色调板
mov bh,01
mov bl,00
int 10h
call clear_screen    ;清屏
lea di,car           ;di指向字符图形表
mov dh,5             ;从第5行第5列位置开始
mov dl,5             ;显示汽车
call move_shape
mov ah,01h           ;从键盘输入字符
int 21h
cmp al,0dh
je exit
exit:mov ah,4ch
int 21h
ret
main endp
clear_screen proc near    ;清屏子程序
push ax              ;保护寄存器
push bx
push cx
push dx
mov ah,6             ;屏幕上卷功能
mov al,6
mov ch,0             ;左上角行号
mov cl,0             ;左上角列号
mov dh,250           ;右下角行号
mov dl,200           ;右下角列号
mov bh,7             ;卷入行属性
int 10h              ;调用显示功能
pop dx               ;恢复寄存器
pop cx
pop bx
pop ax
ret                  ;返回主程序
clear_screen endp
move_shape proc near
push ax
push bx
push cx
push dx
push di
mov ah,0fh           ;取当前显示方式
int 10h
sub ch,ch            ;清除寄存器CX的高字节
mov cl,[di]          ;CL放循环次数
inc di               ;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,150           ;出屏否?

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            ;显示字符
int 10h
pop cx
add di,4             ;di指向下一个字符
loop plot_next
call dly_qrtr        ;调用延时子程序
call erase           ;调用擦除子程序
jmp short plot_next
move_shape endp
erase proc near           ;擦除子程序
mov cx,char_cnt
mov di,pointer
mov dh,line_on
mov dl,col_on
erase_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,9
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
ret
erase endp
dly_qrtr proc near         ;延时子程序
push cx
push dx
mov dx,50000
d11:mov cx,8000
d12:loop d12
dec dx
jnz d11
pop dx
pop cx
ret
dly_qrtr endp
code ends
end main微机原理课程设计_字符图形程序阳泉学院

上一页  [1] [2] 

微机原理课程设计_字符图形程序_微机原理课程设计 第2页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。