?? mapdrawleftshift.a51
字號:
; MapDrawLeftShift.a51 generated from: Map.c
; COMPILER INVOKED BY:
; C:\Keil\C51\BIN\C51.exe Map.c LARGE OPTIMIZE(9,SPEED) NOAREGS DEBUG OBJECTEXTEND NOPRINT
$NOMOD51
NAME MAP
//#include <reg52.h>
#include "xsp.h"
sfr P0 = 0x80;
sfr P1 = 0x90;
sfr P2 = 0xA0;
sfr P3 = 0xB0;
sfr PSW = 0xD0;
sfr ACC = 0xE0;
sfr B = 0xF0;
sfr SP = 0x81;
sfr DPL = 0x82;
sfr DPH = 0x83;
sfr PCON = 0x87;
sfr TCON = 0x88;
sfr TMOD = 0x89;
sfr TL0 = 0x8A;
sfr TL1 = 0x8B;
sfr TH0 = 0x8C;
sfr TH1 = 0x8D;
sfr IE = 0xA8;
sfr IP = 0xB8;
sfr SCON = 0x98;
sfr SBUF = 0x99;
/* 8052 Extensions */
sfr T2CON = 0xC8;
sfr T2MOD = 0xC9;
sfr RCAP2L = 0xCA;
sfr RCAP2H = 0xCB;
sfr TL2 = 0xCC;
sfr TH2 = 0xCD;
/* BIT Registers */
/* PSW */
sbit CY = PSW^7;
sbit AC = PSW^6;
sbit F0 = PSW^5;
sbit RS1 = PSW^4;
sbit RS0 = PSW^3;
sbit OV = PSW^2;
sbit P = PSW^0; //8052 only
/* TCON */
sbit TF1 = TCON^7;
sbit TR1 = TCON^6;
sbit TF0 = TCON^5;
sbit TR0 = TCON^4;
sbit IE1 = TCON^3;
sbit IT1 = TCON^2;
sbit IE0 = TCON^1;
sbit IT0 = TCON^0;
/* IE */
sbit EA = IE^7;
sbit ET2 = IE^5; //8052 only
sbit ES = IE^4;
sbit ET1 = IE^3;
sbit EX1 = IE^2;
sbit ET0 = IE^1;
sbit EX0 = IE^0;
/* IP */
sbit PT2 = IP^5;
sbit PS = IP^4;
sbit PT1 = IP^3;
sbit PX1 = IP^2;
sbit PT0 = IP^1;
sbit PX0 = IP^0;
/* P3 */
sbit RD = P3^7;
sbit WR = P3^6;
sbit T1 = P3^5;
sbit T0 = P3^4;
sbit INT1 = P3^3;
sbit INT0 = P3^2;
sbit TXD = P3^1;
sbit RXD = P3^0;
/* SCON */
sbit SM0 = SCON^7;
sbit SM1 = SCON^6;
sbit SM2 = SCON^5;
sbit REN = SCON^4;
sbit TB8 = SCON^3;
sbit RB8 = SCON^2;
sbit TI = SCON^1;
sbit RI = SCON^0;
/* P1 */
sbit T2EX = P1^1; // 8052 only
sbit T2 = P1^0; // 8052 only
/* T2CON */
sbit TF2 = T2CON^7;
sbit EXF2 = T2CON^6;
sbit RCLK = T2CON^5;
sbit TCLK = T2CON^4;
sbit EXEN2 = T2CON^3;
sbit TR2 = T2CON^2;
sbit C_T2 = T2CON^1;
sbit CP_RL2 = T2CON^0;
?PR?MapDrawLeftShift?MAP SEGMENT CODE
?DT?MapDrawLeftShift?MAP SEGMENT DATA OVERLAYABLE
;?PR?MAP SEGMENT CODE
EXTRN DATA (LeftShiftDelayCount)
EXTRN DATA (DisplayHangShu)
EXTRN XDATA (DispBuf)
EXTRN BIT (UartEnd)
EXTRN XDATA (DispYingXiangBuf)
EXTRN CODE (WDT_RESET)
PUBLIC MapDrawLeftShift
RSEG ?DT?MapDrawLeftShift?MAP
i?040: DS 1
RSEG ?DT?MapDrawLeftShift?MAP
j?041: DS 1
RSEG ?DT?MapDrawLeftShift?MAP
k?042: DS 1
RSEG ?DT?MapDrawLeftShift?MAP
h?043: DS 1
RSEG ?DT?MapDrawLeftShift?MAP
temp?044: DS 1
RSEG ?DT?MapDrawLeftShift?MAP
temp1?045: DS 1
RSEG ?DT?MapDrawLeftShift?MAP
DispBufAddrtemp?046: DS 2
RSEG ?DT?MapDrawLeftShift?MAP
DispYingXiangAddrtemp?047: DS 2
; #pragma src(MapDrawLeftShift.a51) large //LARGE
; #include <reg52.h>
; //#include <string.h>
; //#include <intrins.h>
;
; /***************************************************************************/
; /***************************************************************************/
;
; #define ChangJia_ShangHaiKaiLun "上海凱倫"
; //#define ChangJia_HangZhouJianFeng "杭州尖峰"
;
;#ifdef ChangJia_ShangHaiKaiLun
; #define LIEBYTE 18
; #define HANGSHU 16
; #endif
;
; #ifdef ChangJia_HangZhouJianFeng
; #define LIEBYTE 10
; #define HANGSHU 16
; #endif
;
; #define TRUE 1
; #define FALSE 0
;
; #define DUBEG 0
;
; #define SUCCESS TRUE
; #define ERROR (!SUCCESS)
;
; extern xdata unsigned char DispBuf[HANGSHU][LIEBYTE]; //_at_ 0x00; //16*80點陣顯示屏 顯示緩沖區(qū)
; extern xdata unsigned char DispYingXiangBuf[HANGSHU][LIEBYTE]; //_at_ 1000; //16*80點陣顯示屏 映像顯示緩沖區(qū)
; extern data unsigned char LeftShiftDelayCount;
;
; //data unsigned char UartEnd=0;
; extern bit UartEnd;
; extern void WDT_RESET();
; sbit p5045CS=P1^0;
; void MapDrawLeftShift();
;
;
; /***************************************************************************/
;
; //#pragma asm
; void MapDrawLeftShift(){
RSEG ?PR?MapDrawLeftShift?MAP
MapDrawLeftShift:
USING 0
; SOURCE LINE # 44
; data unsigned char i;
; data unsigned char j;
; data signed char k;
; data signed char h;
; data unsigned char temp;
; data unsigned char temp1;
; data unsigned int DispBufAddrtemp=&DispBuf;
; SOURCE LINE # 51
ZUOYI: MOV R3,#8
ZUO1: MOV R5,#2
MOV DispYingXiangAddrtemp?047+01H,#LOW (DispYingXiangBuf)
MOV R7,DispYingXiangAddrtemp?047+01H
ZUOYI10: MOV R2,#LIEBYTE*8/2
ZUOYI4: MOV R4,#HANGSHU
MOV DispYingXiangAddrtemp?047,#HIGH (DispYingXiangBuf)
; MOV DispBufAddrtemp?046,#H1MG
; MOV DispYingXiangAddrtemp?047+01H,#H1MD
MOV DispBufAddrtemp?046,#HIGH (DispBuf+LIEBYTE-1)
MOV DispBufAddrtemp?046+01H,#LOW (DispBuf+LIEBYTE-1)
LCALL ZUOYI6
DJNZ R3,ZUOYI7
INC R7
MOV R3,#8
ZUOYI7: MOV DispYingXiangAddrtemp?047+01H,R7
; CLR pOE
MOV LeftShiftDelayCount,#ZuoYiSuDu
?C0015:
; while(LeftShiftDelayCount);
; SOURCE LINE # 72
MOV A,LeftShiftDelayCount
JNZ ?C0015
; SETB pOE
?C0111:
MOV A,DisplayHangShu
JNZ ?C0111
LCALL WDT_RESET
JB UartEnd,?C0014
DJNZ R2,ZUOYI4
DJNZ R5,ZUOYI10
RET
; ZUOYI1: MOV R1,#1
ZUOYI6: MOV DPH,DispYingXiangAddrtemp?047
MOV DPL,DispYingXiangAddrtemp?047+01H
MOVX A,@DPTR
RLC A
MOVX @DPTR,A
MOV DPL,DispBufAddrtemp?046+01H
MOV DPH,DispBufAddrtemp?046
MOV R6,#LIEBYTE
LLL1: MOVX A,@DPTR
RLC A
MOVX @DPTR,A
DEC DPL
MOV A,DPL
XRL A,#0FFH
JNZ LLL
DEC DPH
LLL: DJNZ R6,LLL1
; DJNZ R1,ZUOYI6
MOV A,#LIEBYTE
ADD A,DispYingXiangAddrtemp?047+01H
MOV DispYingXiangAddrtemp?047+01H,A
JNC ZUOYI2
INC DispYingXiangAddrtemp?047
ZUOYI2: MOV A,#LIEBYTE
ADD A,DispBufAddrtemp?046+01H
MOV DispBufAddrtemp?046+01H,A
JNC ZUOYI3
INC DispBufAddrtemp?046
ZUOYI3: DJNZ R4,ZUOYI6
?C0014:
RET
; END OF MapDrawLeftShift
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -