微机原理课程设计_字符图形程序_微机原理课程设计|精品课程网站设计|课程设计网报告总结心得
本程序在文本显示方式下实现了显示字符图形“阳泉学院”。按回车键即可返回操作系统。
data segmentcar db 238 ;阳泉学院字符图形表DB 2ah,238,0,0DB 2ah,238,1,0DB 2ah,238,1,0DB 2ah,238,1,0DB 2ah,238,1,0DB 2ah,238,1,0DB 2ah,238,1,0DB 2ah,238,1,0DB 2ah,238,1,0DB 2ah,238,1,0DB 2ah,238,1,0DB 2ah,238,1,0DB 2ah,238,1,0db 2ah,238,1,0DB 2ah,238,-13,1DB 2ah,238,0,1DB 2ah,238,0,1DB 2ah,238,0,1DB 2ah,238,1,0DB 2ah,238,1,0DB 2ah,238,1,0DB 2ah,238,1,0DB 2ah,238,1,0DB 2ah,238,1,0DB 2ah,238,1,0db 2ah,238,1,0DB 2ah,238,-4,-3DB 2ah,238,0,1DB 2ah,238,0,1DB 2ah,238,4,-2DB 2ah,238,0,1DB 2ah,238,0,1DB 2ah,238,0,3DB 2ah,238,-1,0DB 2ah,238,-1,0DB 2ah,238,-1,0DB 2ah,238,-1,0DB 2ah,238,-1,0DB 2ah,238,-1,0DB 2ah,238,-1,0DB 2ah,238,0,1DB 2ah,238,0,1DB 2ah,238,0,1DB 2ah,238,0,1DB 2ah,238,1,0DB 2ah,238,1,0DB 2ah,238,1,0DB 2ah,238,1,0DB 2ah,238,1,0DB 2ah,238,1,0db 2ah,238,1,0db 2ah,238,-4,-3db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,4,-2db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,-10,7db 2ah,238,0,1db 2ah,238,1,-3db 2ah,238,0,1db 2ah,238,1,-3db 2ah,238,0,1db 2ah,238,1,-1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,1,-8db 2ah,238,1,0db 2ah,238,1,0db 2ah,238,1,0db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,-1,0db 2ah,238,-1,0db 2ah,238,-1,0db 2ah,238,1,-7db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,3,-1db 2ah,238,1,-4db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,1,-4db 2ah,238,1,0db 2ah,238,1,0db 2ah,238,1,0db 2ah,238,0,-2db 2ah,238,1,1db 2ah,238,-4,0db 2ah,238,1,-1db 2ah,238,1,-1db 2ah,238,1,-1db 2ah,238,1,-1db 2ah,238,-4,6db 2ah,238,1,1db 2ah,238,1,1db 2ah,238,1,1db 2ah,238,1,1db 2ah,238,-12,1db 2ah,238,-2,1db 2ah,238,1,0db 2ah,238,0,1db 2ah,238,-1,2db 2ah,238,0,1db 2ah,238,1,0db 2ah,238,0,1db 2ah,238,0,2db 2ah,238,0,1db 2ah,238,-1,0db 2ah,238,0,1db 2ah,238,3,-10db 2ah,238,-1,0db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,1,0db 2ah,238,1,-8db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,1,-1db 2ah,238,1,-1db 2ah,238,1,-1db 2ah,238,1,-4db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,1,-5db 2ah,238,1,1db 2ah,238,1,0db 2ah,238,1,0db 2ah,238,1,0db 2ah,238,1,-1db 2ah,238,-1,-1db 2ah,238,-13,8db 2ah,238,1,0db 2ah,238,1,0db 2ah,238,1,0db 2ah,238,1,0db 2ah,238,1,0db 2ah,238,1,0db 2ah,238,1,0db 2ah,238,1,0db 2ah,238,1,0db 2ah,238,1,0db 2ah,238,1,0db 2ah,238,1,0db 2ah,238,1,0db 2ah,238,1,0db 2ah,238,-14,1db 2ah,238,0,1db 2ah,238,1,0db 2ah,238,1,0db 2ah,238,1,0db 2ah,238,1,0db 2ah,238,1,0db 2ah,238,1,0db 2ah,238,1,0db 2ah,238,1,0db 2ah,238,-4,-1db 2ah,238,4,0db 2ah,238,-8,5db 2ah,238,0,1db 2ah,238,1,0db 2ah,238,0,1db 2ah,238,2,-4db 2ah,238,-1,0db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,1,0db 2ah,238,1,-2db 2ah,238,0,-1db 2ah,238,0,-1db 2ah,238,0,-1db 2ah,238,2,-1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,0,1db 2ah,238,1,-4db 2ah,238,1,0db 2ah,238,1,0db 2ah,238,1,0db 2ah,238,1,0db 2ah,238,1,-1db 2ah,238,1,-1db 2ah,238,1,-1db 2ah,238,-7,6
db 2ah,238,1,0db 2ah,238,1,0db 2ah,238,1,0db 2ah,238,1,0db 2ah,238,1,1db 2ah,238,1,1db 2ah,238,1,1char_cnt dw ?pointer dw ?line_on db ?col_on db ?data endsstack segmentdb 2000 dup (0)stack endscode segmentassume cs:code,ds:datamain proc farpush dssub ax,axpush axmov ax,data ;初始化DSmov ds,axmov ah,0 ;设置300*200彩色图形方式mov al,3int 10hmov ah,0bh ;设置背景颜色mov bh,0mov bl,2int 10hmov ah,0bh ;设置彩色调板mov bh,01mov bl,00int 10hcall clear_screen ;清屏lea di,car ;di指向字符图形表mov dh,5 ;从第5行第5列位置开始mov dl,5 ;显示汽车call move_shapemov ah,01h ;从键盘输入字符int 21hcmp al,0dhje exitexit:mov ah,4chint 21hretmain endpclear_screen proc near ;清屏子程序push ax ;保护寄存器push bxpush cxpush dxmov ah,6 ;屏幕上卷功能mov al,6mov ch,0 ;左上角行号mov cl,0 ;左上角列号mov dh,250 ;右下角行号mov dl,200 ;右下角列号mov bh,7 ;卷入行属性int 10h ;调用显示功能pop dx ;恢复寄存器pop cxpop bxpop axret ;返回主程序clear_screen endpmove_shape proc nearpush axpush bxpush cxpush dxpush dimov ah,0fh ;取当前显示方式int 10hsub ch,ch ;清除寄存器CX的高字节mov cl,[di] ;CL放循环次数inc di ;di指向字符表的第一个字符mov char_cnt,cx ;保存循环次数mov pointer,dimov line_on,dhmov col_on,dlplot_next:add dh,[di+2] ;改变行列指针add dl,[di+3]cmp dl,150 ;出屏否?
jb mov_crsrcall erasepop dipop dxpop cxpop bxpop axretmov_crsr:mov ah,2 ;移动光标位置int 10hmov al,[di]mov bl,[di+1] ;取字符值及属性push cxmov cx,1mov ah,09 ;显示字符int 10hpop cxadd di,4 ;di指向下一个字符loop plot_nextcall dly_qrtr ;调用延时子程序call erase ;调用擦除子程序jmp short plot_nextmove_shape endperase proc near ;擦除子程序mov cx,char_cntmov di,pointermov dh,line_onmov dl,col_onerase_next:add dh,[di+2]add dl,[di+3]mov ah,2int 10hmov al,[di]mov bl,0push cxmov cx,1mov ah,9int 10hpop cxadd di,4loop erase_nextmov cx,char_cntmov di,pointermov dh,line_oninc col_onmov dl,col_onreterase endpdly_qrtr proc near ;延时子程序push cxpush dxmov dx,50000d11:mov cx,8000d12:loop d12dec dxjnz d11pop dxpop cxretdly_qrtr endpcode endsend main微机原理课程设计_字符图形程序阳泉学院