程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 微機接口雙色點陣-- 變化的表情動畫

微機接口雙色點陣-- 變化的表情動畫

編輯:C++入門知識

微機接口雙色點陣-- 變化的表情動畫


使用匯編語言通過雙色點陣實現一個動畫,這裡是表情的變化。

基本思路就是分別編寫不同的幀,然後依次顯示。 顏色的變化是 290h:黃色 288h: 紅色。

data      segment
buff1    db 00h,00h,00h,18h,18h,00h,00h,00h
         db 00h,00h,18h,24h,24h,18h,00h,00h
         db 00h,3ch,42h,5ah,5ah,42h,3ch,00h
         db 7eh,81h,81h,81h,81h,81h,81h,7eh
         db 7eh,81h,0a5h,81h,81h,0a5h,81h,7eh;
         db 7eh,81h,0a5h,89h,89h,0a5h,81h,7eh;
         db 7eh,81h,0a9h,89h,89h,0a9h,81h,7eh;
         db 7eh,81h,0a9h,81h,81h,0a9h,81h,7eh;笑臉
         db 7eh,91h,0a5h,85h,85h,0a5h,91h,7eh
         db 7eh,91h,0a7h,85h,85h,0a7h,91h,7eh 

buff2    db 7eh,91h,0a7h,85h,85h,0a7h,91h,7eh
 
data      ends
;-----------------------------------------------
code      segment
assume    cs:code,ds:data
;-----------------------------------------------
start:    mov   ax,data
          mov   ds,ax
;-----------------------------------------------
LLL:  mov    cx,10                   ;buff1幀數
      mov    bx,00h
L:    push   cx
      mov    cx,20h         
D:    mov    ah,01h
      push   cx
      mov    cx,8
      mov    si,0
next: mov    al,[buff1+si+bx]
      mov    dx,280h
      out    dx,al
      mov    al,ah
      mov    dx,288h
      out    dx,al
      mov    al,0
      out    dx,al 
;---------------------------

;-----------------------------    
      shl    ah,01h            
      inc    si
      call   delay
      loop   next
      pop    cx
      call   delay ;顯示後延遲
      loop   D
      mov    al,0
      mov    dx,288h
      out    dx,al
      add    bx,8
      pop    cx
      call   delay
      loop   L
      ;jmp    LLL
 
LLL1:  mov    cx,1                  ;
      mov    bx,00h
L1:    push   cx
      mov    cx,20h         
D1:    mov    ah,01h
      push   cx
      mov    cx,8
      mov    si,0
next1:
;---------------------------
      mov    al,[buff2+si+bx]      ;buff2黃色
      mov    dx,280h
      out    dx,al
      mov    al,ah
      mov    dx,290h
      out    dx,al
      mov    al,0
      out    dx,al 
;-----------------------------    
      shl    ah,01h            
      inc    si
      call   delay
      loop   next1
      pop    cx
      call   delay
      loop   D1
      mov    al,0
      mov    dx,288h
      out    dx,al
      add    bx,8
      pop    cx
      call   delay
      loop   L1
      jmp    LLL
      
      
;--------------------------------------------------------    
delay proc    near                         ;延遲子程序
      push    cx
      mov     cx,0ffh
ccc:  loop    ccc
      pop     cx
      ret
delay      endp      
code  ends
end  start
\ \ \ \\\

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved