動畫程式 撰寫流程與範例.

Slides:



Advertisements
Similar presentations
输入输出程序设计 输入输出的基本概念 无条件方式输入输出 查询方式输入输出 中断方式输入输出.
Advertisements

微型计算机技术 教 学 指 导(七) 太原广播电视大学 郭建勇.
贴近教学 服务师生 方便老师.
Advantage And Disadvantage
第10章 DOS功能调用与BIOS中断调用.
大连理工大学软件学院 软件工程系 赖晓晨 计算机组成与结构 大连理工大学软件学院 软件工程系 赖晓晨
心理的力量 --兼谈教师心理压力的调适
A B C D E F 5-2 七段數字顯示控制實習 Input 0H 1H 2H 3H 4H 5H 6H 7H 8H 9H 0AH 0BH
5-3 8x8矩陣LED控制實習.
題目:LED電子數位時鐘 第 二組 組員: 陳柏霖 李育昇.
本周实验安排 实验内容:(P231)人名排序的例子。
基本程式範例.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年10月30日.
4-10 STM Timer/Counter 與比較吻合輸出
第3章 80x86汇编语言程序设计(下).
4.1 汇编语言 4.2 顺序结构程序 4.3 分支程序设计 4.4 循环程序设计 4.5 子程序设计
9.1 可编程并行输入/输出接口芯片8255A 9.2 可编程计数器/定时器 可编程串行输入/输出接口芯片8251A
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月26日.
第5章 循环与分支程序设计  循环程序设计  分支程序设计.
汇编语言程序设计 Assembly Language Programming
第7章 并行接口 7.1 简单并行接口 7.2 可编程并行接口8255A 7.3 键盘接口 7.4 LED显示器接口.
第2章 MCS-51单片机指令系统与汇编语言程序设计
第九章 计数器和定时器电路 第一节 概述 第二节 Intel 8253的控制字 第三节 Intel 8253的工作方式 第九章 计数器和定时器电路 第一节 概述 第二节 Intel 8253的控制字 第三节 Intel 8253的工作方式 第四节 Intel 8253在IBM PC机上的应用.
指令集架構 計算機也跟人類一樣,需要提供一套完整的語言讓人們跟它充分溝通,以完成正確的計算工作。
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年12月10日.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月05日.
基于硬件辅助的内核漏洞挖掘框架 闫广禄.
输入输出与中断 主要内容 CPU与外设之间数据传送方式 中断技术 8086中断系统和中断处理.
第八章 输入输出程序设计 总线 CPU MEM I/O接口 I/O设备.
第3章 IA-32指令系统 3.1 基本数据类型 3.2 IA-32的指令格式 3.3 IA-32指令的操作数寻址方式
計算機結構 – 概論 陳鍾誠 於金門大學.
基本的”防”黑客技术 Basic” ” Hacker Technique
第一章 8086程序设计 第二章 MCS-51程序设计 第三章 微机基本系统的设计 第四章 存贮器与接口 第五章 并行接口
A B C D E F 5-2 七段數字顯示控制實習 Input 0H 1H 2H 3H 4H 5H 6H 7H 8H 9H 0AH 0BH
5-8 光遮斷器控制實習.
第3章 微型计算机输入输出接口 3.1 输入/输出接口 3.2 输入输出数据传输的控制方式 3.3 开关量输入输出接口 欢迎辞.
第六章 子程序结构 §6.1 子程序的设计方法 §6.2 嵌套与递归子程序 §6.3 子程序举例 §6.4 DOS系统功能调用.
第二章 模拟量输出通道 本章要点 1.模拟量输出通道的结构组成与模板通用性; 2.8位D/A转换器DAC0832的原理组成及其接口电路
Irvin32.LIB 程式庫說明.
#include <stdio.h> #include "console.c" main(){ int x=20, y=10;
6.1 输入/输出 6.2 CPU与外设数据传送方式 6. 3 MCS-51中断系统 6. 4 中断应用举例
第六章 安全衛生工作守則 6-1 前 言  6-2 訂定依據相關法令規定  6-3 工作守則製作程序及製作前應注意事項  6-4 如何訂定適合需要之安全衛生工作守則  6-5 結 論.
VB程序设计语言 主讲教师:王 杨.
條件處理.
第5章 循环与分支程序设计 学习目标: 了解并掌握循环程序的构造方法,尤其是对循环控制条件的设置以及可能出现的边界情况的考虑。掌握起泡排序算法这种多重循环程序设计中的常用方法。交换标志位的设置在此算法中更能提高效率。学会在数组排序算法中采用折半查找法来提高查找效率。学会使用跳跃表法实现CASE结构。
4.1 汇编语言程序格式 4.2 MASM中的表达式 4.3 伪指令语句 4.4 DOS系统功能调用和BIOS中断调用
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月19日.
第4章 汇编语言程序格式  汇编程序功能  伪操作  汇编语言程序格式  汇编语言程序的上机过程.
4-15 WDT HT66F50.
PowerPoint 2019/4/9.
輸入&輸出 函數 P20~P21.
中華大學 資訊工程學系 報告人:資訊工程學系 許慶賢 系主任.
5-6 串列埠模式0輸出埠擴充實習.
第九章 BIOS和DOS中断 在存储器系统中,从地址0FE000H开始的8K ROM(只读存储器)中装有BIOS(Basic Iuput /output System)例行程序。驻留在ROM中的BIOS给PC系列的不同微处理器提供了兼容的系统加电自检,引导装入,主要I/O设备的处理程序以及接口控制等功能模块来处理所有的系统中断。使用BIOS功能调用,给程序员编程带来很大方便,程序员不必了解硬件操作的具体细节,直接用指令设置参数,然后中断调用BIOS中的子功能,所以利用BIOS功能编写的程序简洁,可读性好,
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月13日.
4-9 Timer/Counter 控制七段速度
第5章 循环与分支程序设计  循环程序设计  分支程序设计.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年12月17日.
虚拟机加密,是把源程序的X86指令变成自定义的伪指令,执行时内置在保护程序中的VM就会启动,读取伪指令,然后解析执行
四、手工汇编 完成汇编的方法有两种:手工汇编和汇编程序汇编 1.手工汇编步骤 A
利用HT66F50 SIM模組單元中PCK腳位輸出特性 控制speaker 發聲 SIM 串列界面模組
4.11 ADC.
期末報告第一題 通訊四甲 B 湯智瑋.
第6章 子程序结构 在程序设计中,我们会发现一些多次无规律重复的程序段或语句序列。解决此类问题一个行之有效的方法就是将它们设计成可供反复调用的独立的子程序结构,以便在需要时调用。在汇编语言中,子程序又称过程。 调用子程序的程序称为主调程序或主程序。 2019/7/20 ch6.
微机原理与接口技术 第5章 汇编语言程序设计 西安邮电大学计算机学院 王 钰.
大数据搜索挖掘实验室 第五章 子程序设计 张华平 副教授 博士 Website: 大数据搜索挖掘实验室
第4章 MCS-51汇编语言程序设计 教学基本要求: (1)、了解MCS-51汇编语言程序设计的特点;
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
講師:劉俊民(金剛) Idea 創意應用科技有限公司
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
Presentation transcript:

動畫程式 撰寫流程與範例

動畫程式待處理問題(1) 定義分析問題 以文字模式產生8*8之行人原地蹋步動畫 功能分項列表 動畫分解動作分析, 1~N張分解動作 8*8點圖型之產生與顯示 動畫分解動作之控制 動畫(4)顯示位置與軌跡(原地踏步故無移動軌跡)

動畫程式待處理問題(2) 動畫分解動作分析, 1~N張分解動作 8*8點圖型之產生與顯示 動畫分解動作之控制 圖案資料,(1)顯示輸出 動畫分解動作之控制 圖片(2)轉換與顯示(1~N依序), (3)動作速度控制 動畫模式: 循環1~N~1~N…, 一次1~N 動畫(4)顯示位置與軌跡(原地踏步故無移動軌跡) 概念與資料部份 處理功能 流程規劃 問題分類

範例:動畫模式 一次1~N程式流程規劃 開始 (4)設定顯示位置 圖形資料設定 設定顯示圖片I=1 (2)切換下一張圖片 (1)顯示圖片I 是最後一張? (3)顯示速度控制 end

分析功能(1)顯示圖片 文字模式產生8*8圖形, 於特定位置顯示 如何顯示符號? 以字串顯示一次8字元 如何定位? 定義顯示位址座標X,Y, 使用GOTOXY 圖形資料如何設定呢? 以8行8字元字串設定 根據上述設定撰寫display副程式

分析功能(2)圖片轉換 8*8圖形轉換 如何清除舊圖案? 在原位置顯示8*8空白鍵(space)資料 如何讀取新圖案資料? 透過連續定義之資料區每一圖片為8*(8+1(字串結束0))=72 之長度, 每改一次分解動作圖片位置加72 顯示位置(是否改變)? 根據座標X,Y顯示

分析功能(3)動作速度控制 分解動作之速度控制 動作速率=圖片切換速率 每次切換圖片, 會有圖片移動之感覺(圖形有變動) 於顯示後 延遲 數 ms, 再顯示下一圖形 如何計時? 使用delay,延遲 數 ms

分析功能(4)顯示位置與軌跡 動畫之顯示位置與軌跡 顯示位置之設定 改變位址座標X,Y 軌跡隨時間改變之軌跡

程式功能加強與改進 完整程式 movie.asm 上述程式有那些待改進? 可再加強擴充何功能?

如何顯示符號 .data pattern byte " **** ",0 byte " ** ",0 byte " ** ",0 .code mov edx, offset pattern call writestring

Display 副程式 ; eax 為顯示圖形之偏 display PROC ; 移位址 pushad mov edx, eax ; call WriteString add eax,9 loop d2 popad ret display ENDP display PROC pushad ; mov ECX, 8 d2: mov dh,y ;x mov dl,x ;y add dh,8 sub dh,cl call gotoxy

如何清除舊圖案 ; cp 為“ ”,0 clear_p PROC mov edx, offset cp pushad mov ECX, 8 d1: mov dh,y ;x mov dl,x ;y add dh,8 sub dh,cl call gotoxy ; cp 為“ ”,0 mov edx, offset cp call WriteString add eax,9 loop d2 popad ret clear_p ENDP

如何讀取新圖案資料 add ebx, 8*9 ;下一張圖位置在ebx+72 mov eax, ebx call display

動作速率=圖片切換速率 mov eax, D_time ; control display rate (3) call delay

顯示位置與軌跡 mov al, x inc al ; 每次向左移一格 mov x,al cmp al,65 ; 銀幕最左邊 jne _s2

動畫程式 TITLE (.asm) ; This program ; Last update: ; Include Irvine32.inc .data cp byte 8 DUP(' '),0 pattern byte " **** ",0 byte " ** ",0 byte " ** ",0 byte " * ** ",0 byte " ** ** ",0 byte " *** ",0 byte " ** * ",0 byte "* * ",0 p1 byte " **** ",0 byte " ** * ",0 byte " * * ",0 byte " * * ",0 p2 byte " **** ",0 p3 byte " **** ",0 byte " * ",0 byte " * * ",0 p4 byte " **** ",0 pattern_no dword 5 x byte 10 y byte 10 D_time dword 500 .code main PROC call clrscr _start: ; setup the patten parameter mov ecx, pattern_no mov ebx, OFFSET pattern _s1: ; draw the pattern (1) mov eax, ebx call display mov eax, D_time ; control display rate (3) call delay ; clear previous pattern (1) call clear_p ; change to next pattern (2) add ebx,8*9 ; calculate positioin (4) mov al, x inc al mov x,al cmp al,65 jne _s2 mov al,10 mov x,al _s2: loop _s1 jmp _start exit main ENDP clear_p PROC pushad mov ECX, 8 d1: mov dh,y ;x mov dl,x ;y add dh,8 sub dh,cl call gotoxy mov edx,OFFSET cp call WriteString loop d1 popad ret clear_p ENDP display PROC d2: mov edx, eax add eax,9 loop d2 display ENDP ; END main 動畫程式