;*****************************************************************************
; This file is a base code template for assembley code generation on the 8PE53.
;*****************************************************************************
;* TITLE :
;* REVISION :
;* AUTHOR :
;* COMPANY :
;* DATE :
;* CHIP :8PE53
;* CONFIG :
;*****************************************************************************
;---------------Include files Segment-----------------------------------------
#include <8PE53.ASH>
;---------------Custom define segment-----------------------------------------
RG_INT_ACCTMP REG 0x10 ;example register definition
RG_INT_STATMP REG 0x11 ;example register definition
RG_INT_PCHTMP REG 0x12 ;example register definition
;---
RG_TEMP REG 0x13 ;example register definition
RG_COUNT0 REG 0x15
RG_COUNT1 REG 0x16
RG_COUNT2 REG 0x17
RG_COUNT3 REG 0x18
;---------------vaule segment-------------------------------------------------
EQ_AAA EQU 0x55 ;example value definition
;---------------Program segment-----------------------------------------------
ORG 0x000
;---------------Software Interrupt Vector segment-----------------------------
ORG 0x002 ;Software INT vector
;Software interrupt program is written here.
;---------------Hardware Interrupt Vector segment-----------------------------
ORG 0x008 ;Hardware INT vector
MOVAR RG_INT_ACCTMP
SWAPR STATUS,A
MOVAR RG_INT_STATMP
SWAPR PCHBUF,A
MOVAR RG_INT_PCHTMP ;Save ACC STATUS PCHBUF template code
;---
INCR RG_COUNT0, 1;Increament RGCOUNT0
BTRSC STATUS, 2;Test STATUS Z bit
INCR RG_COUNT1, 1;If RG_COUNT0 is verflow, increse RG_COUNT1
ANDIA 0X04
;---
MOVIA 0X00 ;Hardware interrupt program is written here.
MOVAR INTFLAG;Clear interrupt FLA FLAG ;---
INT_EXIT:
SWAPR RG_INT_PCHTMP,A
MOVAR PCHBUF
SWAPR RG_INT_STATMP,A
MOVAR STATUS
SWAPR RG_INT_ACCTMP,R
SWAPR RG_INT_ACCTMP,A
RETFIE ;Restore ACC STATUS PCHBUF template code
;--------------------init---------------------
INIT:
CLRA
MOVAR PORTB
MOVIA 0X00
IOST PORTB ;Set PortB to output mode, IOB3 is input only
MOVIA 0X00
OPTION ;Use internel clock source
MOVIA 0X81
MOVAR INTEN;Enable time0 intr
CLRA
MOVAR RG_COUNT0;Init counter
MOVAR RG_COUNT1
MOVAR RG_COUNT2
MOVAR RG_COUNT3
GOTO MAIN
;---------------------main--------------------
MAIN:
BTRSS RG_COUNT0, 0
GOTO INIT
GOTO MAIN
;---------------MCU Boot/Reset Vector segment---------------------------------
ORG 0x3FF ;MCU reset vector
GOTO INIT用DDraw封装的一个GradEffect函数,初始化一个DDraw对象,CreateOffScreenSuface创建几个离屏页面,目的在于做效果,这里是800*480的,用了7个离屏页面,接着创建一个源页面和目标页面,SrcSurface和DestSurface,分别将传过来的两张要做效果的图放在这两个离屏页面上,利用
g_DDraw.DrawImageToSurface(pDDS1,&rcDest,SrcSurface,&rcSrc);
函数,将源页面缩小到rcSrc后画到离屏页面中,可以缩小三次,一次缩小(25,15),第四次将目标页面
g_DDraw.DrawImageToSurface(pDDS4,&rcMin,DestSurface,&rcDest);
从rcDest(0,0,800,480)画到rcMin区域中,这时再将源页面和离屏页面混合
g_DDraw.AlphaBltSurface(pDDS4,&rcDest,SrcSurface,&rcSrcRc,80);
这里的80就是混合值,接着把目标页面放大两次到离屏页面中,再把所有的源页面、目标页面和离屏页面恢复到800*480。
先说Tornado服务器开启gzip压缩,很简单,查阅文档http://www.tornadoweb.org/documentation/web.html?highlight=gzip可知只需配置gzip=True即可。
再来说HttpClient开启gzip压缩,网上有很多资料,经过实践都不靠谱,靠谱的做法是为HttpClient添加两个Interceptor,一个是RequestInterceptor,负责
发送数据时压缩数据,另外一个是ResponseInterceptor,负责接收数据时解压缩数据。这个靠谱的做法来自apache官方的源代码,可以直接谷歌搜索“ClientGZipContentCompression.java”。