|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 汇编论坛 』
→ 编程在屏幕上显示一个开动的汽车
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
2377
人关注过本帖
标题:
编程在屏幕上显示一个开动的汽车
只看楼主
加入收藏
纸莎草
等 级:
新手上路
帖 子:5
专家分:0
注 册:2007-10-21
楼主
收藏
问题点数:0 回复次数:5
编程在屏幕上显示一个开动的汽车
编程在屏幕上显示一个开动的汽车
提示:在屏幕上显示出动画的效果,可分5步进行
1、在屏幕上显示图形(单字符或多字符图形)。
2、延迟一个时间周期,这样图形更清晰。
3、清除图形。
4、改变图形的行列坐标。
5、返回第一步,重复上述过程。
搜索更多相关主题的帖子:
屏幕
汽车
开动
2008-01-03 10:43
举报帖子
使用道具
赠送鲜花
纸莎草
等 级:
新手上路
帖 子:5
专家分:0
注 册:2007-10-21
第
2
楼
收藏
得分:0
帮忙给我改一改,急要!!!!!!!感谢感谢!!!!!
源程序如下:
DATA
SEGMENT
CAR DB
7
DB 52H,7,0,0
DB 0B1H,7,0,1
DB 0DBH,7,0,1
DB 0DBH,7,0,1
DB 4FH,7,1,0
DB 4FH,7,0,-3
DB 2,7,-2,1
CHAR_CNT
DW ?
POINTER
DW ?
LINE_ON
DB ?
COL_ON
DB ?
DATA
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,4
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
RET
MAIN
ENDP
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
;
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,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 ; ;显示字符
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,5000
D11:
MOV
CX,2801
D12:
LOOP
D12
DEC
DX
JNZ
D11
POP
DX
POP
CX
RET
DLY_QRTR
ENDP
CODE
ENDS
END MAIN
2008-01-03 10:47
举报帖子
使用道具
赠送鲜花
longziyong
来 自:四川省威远县
等 级:
禁止访问
帖 子:77
专家分:23
注 册:2007-8-22
第
3
楼
收藏
得分:0
初学汇编,能用汇编显示图形,历害啦!请问CAR是汽车图形字符的组合,还是汽车图形的保存地址?
LZY'Blog http://www.
2008-01-04 12:21
举报帖子
使用道具
赠送鲜花
JerryWong
等 级:
新手上路
帖 子:5
专家分:0
注 册:2008-1-10
第
4
楼
收藏
得分:0
有没有其他图形,不一定要car
2008-06-24 11:45
举报帖子
使用道具
赠送鲜花
nwpu063417
等 级:
论坛游民
威 望:
8
帖 子:428
专家分:28
注 册:2007-5-11
第
5
楼
收藏
得分:0
确实很强啊
2008-06-26 00:21
举报帖子
使用道具
赠送鲜花
YpNaruto
等 级:
新手上路
帖 子:2
专家分:0
注 册:2008-6-27
第
6
楼
收藏
得分:0
不懂
2008-06-27 13:09
举报帖子
使用道具
赠送鲜花
6
1/1页
1
快速回复:
编程在屏幕上显示一个开动的汽车
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.058343 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved