summaryrefslogtreecommitdiff
path: root/demo/keypad_display.asm
diff options
context:
space:
mode:
Diffstat (limited to 'demo/keypad_display.asm')
-rw-r--r--demo/keypad_display.asm624
1 files changed, 0 insertions, 624 deletions
diff --git a/demo/keypad_display.asm b/demo/keypad_display.asm
deleted file mode 100644
index a216cbe..0000000
--- a/demo/keypad_display.asm
+++ /dev/null
@@ -1,624 +0,0 @@
-;--------------------------------------------------------
-; File Created by SDCC : free open source ANSI-C Compiler
-; Version 2.9.0 #5416 (Oct 6 2009) (UNIX)
-; This file was generated Tue Oct 27 23:03:55 2009
-;--------------------------------------------------------
- .module keypad_display
- .optsdcc -mmcs51 --model-small
-
-;--------------------------------------------------------
-; Public variables in this module
-;--------------------------------------------------------
- .globl _main
- .globl _CY
- .globl _AC
- .globl _F0
- .globl _RS1
- .globl _RS0
- .globl _OV
- .globl _F1
- .globl _P
- .globl _PS
- .globl _PT1
- .globl _PX1
- .globl _PT0
- .globl _PX0
- .globl _RD
- .globl _WR
- .globl _T1
- .globl _T0
- .globl _INT1
- .globl _INT0
- .globl _TXD
- .globl _RXD
- .globl _P3_7
- .globl _P3_6
- .globl _P3_5
- .globl _P3_4
- .globl _P3_3
- .globl _P3_2
- .globl _P3_1
- .globl _P3_0
- .globl _EA
- .globl _ES
- .globl _ET1
- .globl _EX1
- .globl _ET0
- .globl _EX0
- .globl _P2_7
- .globl _P2_6
- .globl _P2_5
- .globl _P2_4
- .globl _P2_3
- .globl _P2_2
- .globl _P2_1
- .globl _P2_0
- .globl _SM0
- .globl _SM1
- .globl _SM2
- .globl _REN
- .globl _TB8
- .globl _RB8
- .globl _TI
- .globl _RI
- .globl _P1_7
- .globl _P1_6
- .globl _P1_5
- .globl _P1_4
- .globl _P1_3
- .globl _P1_2
- .globl _P1_1
- .globl _P1_0
- .globl _TF1
- .globl _TR1
- .globl _TF0
- .globl _TR0
- .globl _IE1
- .globl _IT1
- .globl _IE0
- .globl _IT0
- .globl _P0_7
- .globl _P0_6
- .globl _P0_5
- .globl _P0_4
- .globl _P0_3
- .globl _P0_2
- .globl _P0_1
- .globl _P0_0
- .globl _B
- .globl _ACC
- .globl _PSW
- .globl _IP
- .globl _P3
- .globl _IE
- .globl _P2
- .globl _SBUF
- .globl _SCON
- .globl _P1
- .globl _TH1
- .globl _TH0
- .globl _TL1
- .globl _TL0
- .globl _TMOD
- .globl _TCON
- .globl _PCON
- .globl _DPH
- .globl _DPL
- .globl _SP
- .globl _P0
- .globl _row
- .globl _state
-;--------------------------------------------------------
-; special function registers
-;--------------------------------------------------------
- .area RSEG (DATA)
-G$P0$0$0 == 0x0080
-_P0 = 0x0080
-G$SP$0$0 == 0x0081
-_SP = 0x0081
-G$DPL$0$0 == 0x0082
-_DPL = 0x0082
-G$DPH$0$0 == 0x0083
-_DPH = 0x0083
-G$PCON$0$0 == 0x0087
-_PCON = 0x0087
-G$TCON$0$0 == 0x0088
-_TCON = 0x0088
-G$TMOD$0$0 == 0x0089
-_TMOD = 0x0089
-G$TL0$0$0 == 0x008a
-_TL0 = 0x008a
-G$TL1$0$0 == 0x008b
-_TL1 = 0x008b
-G$TH0$0$0 == 0x008c
-_TH0 = 0x008c
-G$TH1$0$0 == 0x008d
-_TH1 = 0x008d
-G$P1$0$0 == 0x0090
-_P1 = 0x0090
-G$SCON$0$0 == 0x0098
-_SCON = 0x0098
-G$SBUF$0$0 == 0x0099
-_SBUF = 0x0099
-G$P2$0$0 == 0x00a0
-_P2 = 0x00a0
-G$IE$0$0 == 0x00a8
-_IE = 0x00a8
-G$P3$0$0 == 0x00b0
-_P3 = 0x00b0
-G$IP$0$0 == 0x00b8
-_IP = 0x00b8
-G$PSW$0$0 == 0x00d0
-_PSW = 0x00d0
-G$ACC$0$0 == 0x00e0
-_ACC = 0x00e0
-G$B$0$0 == 0x00f0
-_B = 0x00f0
-;--------------------------------------------------------
-; special function bits
-;--------------------------------------------------------
- .area RSEG (DATA)
-G$P0_0$0$0 == 0x0080
-_P0_0 = 0x0080
-G$P0_1$0$0 == 0x0081
-_P0_1 = 0x0081
-G$P0_2$0$0 == 0x0082
-_P0_2 = 0x0082
-G$P0_3$0$0 == 0x0083
-_P0_3 = 0x0083
-G$P0_4$0$0 == 0x0084
-_P0_4 = 0x0084
-G$P0_5$0$0 == 0x0085
-_P0_5 = 0x0085
-G$P0_6$0$0 == 0x0086
-_P0_6 = 0x0086
-G$P0_7$0$0 == 0x0087
-_P0_7 = 0x0087
-G$IT0$0$0 == 0x0088
-_IT0 = 0x0088
-G$IE0$0$0 == 0x0089
-_IE0 = 0x0089
-G$IT1$0$0 == 0x008a
-_IT1 = 0x008a
-G$IE1$0$0 == 0x008b
-_IE1 = 0x008b
-G$TR0$0$0 == 0x008c
-_TR0 = 0x008c
-G$TF0$0$0 == 0x008d
-_TF0 = 0x008d
-G$TR1$0$0 == 0x008e
-_TR1 = 0x008e
-G$TF1$0$0 == 0x008f
-_TF1 = 0x008f
-G$P1_0$0$0 == 0x0090
-_P1_0 = 0x0090
-G$P1_1$0$0 == 0x0091
-_P1_1 = 0x0091
-G$P1_2$0$0 == 0x0092
-_P1_2 = 0x0092
-G$P1_3$0$0 == 0x0093
-_P1_3 = 0x0093
-G$P1_4$0$0 == 0x0094
-_P1_4 = 0x0094
-G$P1_5$0$0 == 0x0095
-_P1_5 = 0x0095
-G$P1_6$0$0 == 0x0096
-_P1_6 = 0x0096
-G$P1_7$0$0 == 0x0097
-_P1_7 = 0x0097
-G$RI$0$0 == 0x0098
-_RI = 0x0098
-G$TI$0$0 == 0x0099
-_TI = 0x0099
-G$RB8$0$0 == 0x009a
-_RB8 = 0x009a
-G$TB8$0$0 == 0x009b
-_TB8 = 0x009b
-G$REN$0$0 == 0x009c
-_REN = 0x009c
-G$SM2$0$0 == 0x009d
-_SM2 = 0x009d
-G$SM1$0$0 == 0x009e
-_SM1 = 0x009e
-G$SM0$0$0 == 0x009f
-_SM0 = 0x009f
-G$P2_0$0$0 == 0x00a0
-_P2_0 = 0x00a0
-G$P2_1$0$0 == 0x00a1
-_P2_1 = 0x00a1
-G$P2_2$0$0 == 0x00a2
-_P2_2 = 0x00a2
-G$P2_3$0$0 == 0x00a3
-_P2_3 = 0x00a3
-G$P2_4$0$0 == 0x00a4
-_P2_4 = 0x00a4
-G$P2_5$0$0 == 0x00a5
-_P2_5 = 0x00a5
-G$P2_6$0$0 == 0x00a6
-_P2_6 = 0x00a6
-G$P2_7$0$0 == 0x00a7
-_P2_7 = 0x00a7
-G$EX0$0$0 == 0x00a8
-_EX0 = 0x00a8
-G$ET0$0$0 == 0x00a9
-_ET0 = 0x00a9
-G$EX1$0$0 == 0x00aa
-_EX1 = 0x00aa
-G$ET1$0$0 == 0x00ab
-_ET1 = 0x00ab
-G$ES$0$0 == 0x00ac
-_ES = 0x00ac
-G$EA$0$0 == 0x00af
-_EA = 0x00af
-G$P3_0$0$0 == 0x00b0
-_P3_0 = 0x00b0
-G$P3_1$0$0 == 0x00b1
-_P3_1 = 0x00b1
-G$P3_2$0$0 == 0x00b2
-_P3_2 = 0x00b2
-G$P3_3$0$0 == 0x00b3
-_P3_3 = 0x00b3
-G$P3_4$0$0 == 0x00b4
-_P3_4 = 0x00b4
-G$P3_5$0$0 == 0x00b5
-_P3_5 = 0x00b5
-G$P3_6$0$0 == 0x00b6
-_P3_6 = 0x00b6
-G$P3_7$0$0 == 0x00b7
-_P3_7 = 0x00b7
-G$RXD$0$0 == 0x00b0
-_RXD = 0x00b0
-G$TXD$0$0 == 0x00b1
-_TXD = 0x00b1
-G$INT0$0$0 == 0x00b2
-_INT0 = 0x00b2
-G$INT1$0$0 == 0x00b3
-_INT1 = 0x00b3
-G$T0$0$0 == 0x00b4
-_T0 = 0x00b4
-G$T1$0$0 == 0x00b5
-_T1 = 0x00b5
-G$WR$0$0 == 0x00b6
-_WR = 0x00b6
-G$RD$0$0 == 0x00b7
-_RD = 0x00b7
-G$PX0$0$0 == 0x00b8
-_PX0 = 0x00b8
-G$PT0$0$0 == 0x00b9
-_PT0 = 0x00b9
-G$PX1$0$0 == 0x00ba
-_PX1 = 0x00ba
-G$PT1$0$0 == 0x00bb
-_PT1 = 0x00bb
-G$PS$0$0 == 0x00bc
-_PS = 0x00bc
-G$P$0$0 == 0x00d0
-_P = 0x00d0
-G$F1$0$0 == 0x00d1
-_F1 = 0x00d1
-G$OV$0$0 == 0x00d2
-_OV = 0x00d2
-G$RS0$0$0 == 0x00d3
-_RS0 = 0x00d3
-G$RS1$0$0 == 0x00d4
-_RS1 = 0x00d4
-G$F0$0$0 == 0x00d5
-_F0 = 0x00d5
-G$AC$0$0 == 0x00d6
-_AC = 0x00d6
-G$CY$0$0 == 0x00d7
-_CY = 0x00d7
-;--------------------------------------------------------
-; overlayable register banks
-;--------------------------------------------------------
- .area REG_BANK_0 (REL,OVR,DATA)
- .ds 8
-;--------------------------------------------------------
-; internal ram data
-;--------------------------------------------------------
- .area DSEG (DATA)
-G$state$0$0==.
-_state::
- .ds 1
-G$row$0$0==.
-_row::
- .ds 2
-;--------------------------------------------------------
-; overlayable items in internal ram
-;--------------------------------------------------------
- .area OSEG (OVR,DATA)
-;--------------------------------------------------------
-; Stack segment in internal ram
-;--------------------------------------------------------
- .area SSEG (DATA)
-__start__stack:
- .ds 1
-
-;--------------------------------------------------------
-; indirectly addressable internal ram data
-;--------------------------------------------------------
- .area ISEG (DATA)
-;--------------------------------------------------------
-; absolute internal ram data
-;--------------------------------------------------------
- .area IABS (ABS,DATA)
- .area IABS (ABS,DATA)
-;--------------------------------------------------------
-; bit data
-;--------------------------------------------------------
- .area BSEG (BIT)
-;--------------------------------------------------------
-; paged external ram data
-;--------------------------------------------------------
- .area PSEG (PAG,XDATA)
-;--------------------------------------------------------
-; external ram data
-;--------------------------------------------------------
- .area XSEG (XDATA)
-;--------------------------------------------------------
-; absolute external ram data
-;--------------------------------------------------------
- .area XABS (ABS,XDATA)
-;--------------------------------------------------------
-; external initialized ram data
-;--------------------------------------------------------
- .area XISEG (XDATA)
- .area HOME (CODE)
- .area GSINIT0 (CODE)
- .area GSINIT1 (CODE)
- .area GSINIT2 (CODE)
- .area GSINIT3 (CODE)
- .area GSINIT4 (CODE)
- .area GSINIT5 (CODE)
- .area GSINIT (CODE)
- .area GSFINAL (CODE)
- .area CSEG (CODE)
-;--------------------------------------------------------
-; interrupt vector
-;--------------------------------------------------------
- .area HOME (CODE)
-__interrupt_vect:
- ljmp __sdcc_gsinit_startup
-;--------------------------------------------------------
-; global & static initialisations
-;--------------------------------------------------------
- .area HOME (CODE)
- .area GSINIT (CODE)
- .area GSFINAL (CODE)
- .area GSINIT (CODE)
- .globl __sdcc_gsinit_startup
- .globl __sdcc_program_startup
- .globl __start__stack
- .globl __mcs51_genXINIT
- .globl __mcs51_genXRAMCLEAR
- .globl __mcs51_genRAMCLEAR
- .area GSFINAL (CODE)
- ljmp __sdcc_program_startup
-;--------------------------------------------------------
-; Home
-;--------------------------------------------------------
- .area HOME (CODE)
- .area HOME (CODE)
-__sdcc_program_startup:
- lcall _main
-; return from main will lock up
- sjmp .
-;--------------------------------------------------------
-; code
-;--------------------------------------------------------
- .area CSEG (CODE)
-;------------------------------------------------------------
-;Allocation info for local variables in function 'main'
-;------------------------------------------------------------
-;------------------------------------------------------------
- G$main$0$0 ==.
- C$keypad_display.c$38$0$0 ==.
-; keypad_display.c:38: int main()
-; -----------------------------------------
-; function main
-; -----------------------------------------
-_main:
- ar2 = 0x02
- ar3 = 0x03
- ar4 = 0x04
- ar5 = 0x05
- ar6 = 0x06
- ar7 = 0x07
- ar0 = 0x00
- ar1 = 0x01
- C$keypad_display.c$40$1$1 ==.
-; keypad_display.c:40: while(1) {
-00123$:
- C$keypad_display.c$41$2$2 ==.
-; keypad_display.c:41: for(row=0; row<4; row++) {
- clr a
- mov _row,a
- mov (_row + 1),a
-00118$:
- clr c
- mov a,_row
- subb a,#0x04
- mov a,(_row + 1)
- xrl a,#0x80
- subb a,#0x80
- jnc 00123$
- C$keypad_display.c$42$3$3 ==.
-; keypad_display.c:42: P1=keypad[row];
- mov a,_row
- add a,#_keypad
- mov dpl,a
- mov a,(_row + 1)
- addc a,#(_keypad >> 8)
- mov dph,a
- clr a
- movc a,@a+dptr
- mov _P1,a
- C$keypad_display.c$48$3$3 ==.
-; keypad_display.c:48: _endasm;
-
- mov _state, P1
-
- C$keypad_display.c$53$3$3 ==.
-; keypad_display.c:53: state&=0x0f;
- anl _state,#0x0F
- C$keypad_display.c$54$3$3 ==.
-; keypad_display.c:54: state^=0x0f;
- xrl _state,#0x0F
- C$keypad_display.c$56$3$3 ==.
-; keypad_display.c:56: if(state & 1) {
- mov a,_state
- jnb acc.0,00111$
- C$keypad_display.c$57$4$4 ==.
-; keypad_display.c:57: state=0;
- mov _state,#0x00
- sjmp 00112$
-00111$:
- C$keypad_display.c$58$3$3 ==.
-; keypad_display.c:58: } else if(state & 2) {
- mov a,_state
- jnb acc.1,00108$
- C$keypad_display.c$59$4$5 ==.
-; keypad_display.c:59: state=1;
- mov _state,#0x01
- sjmp 00112$
-00108$:
- C$keypad_display.c$60$3$3 ==.
-; keypad_display.c:60: } else if(state & 4) {
- mov a,_state
- jnb acc.2,00105$
- C$keypad_display.c$61$4$6 ==.
-; keypad_display.c:61: state=2;
- mov _state,#0x02
- sjmp 00112$
-00105$:
- C$keypad_display.c$62$3$3 ==.
-; keypad_display.c:62: } else if(state & 8) {
- mov a,_state
- jb acc.3,00142$
- ljmp 00120$
-00142$:
- C$keypad_display.c$63$4$7 ==.
-; keypad_display.c:63: state=3;
- mov _state,#0x03
- C$keypad_display.c$65$3$3 ==.
-; keypad_display.c:65: continue;
-00112$:
- C$keypad_display.c$68$3$3 ==.
-; keypad_display.c:68: switch(row) {
- clr a
- cjne a,_row,00143$
- clr a
- cjne a,(_row + 1),00143$
- sjmp 00113$
-00143$:
- mov a,#0x01
- cjne a,_row,00144$
- clr a
- cjne a,(_row + 1),00144$
- sjmp 00114$
-00144$:
- mov a,#0x02
- cjne a,_row,00145$
- clr a
- cjne a,(_row + 1),00145$
- sjmp 00115$
-00145$:
- mov a,#0x03
- cjne a,_row,00146$
- clr a
- cjne a,(_row + 1),00146$
- sjmp 00116$
-00146$:
- C$keypad_display.c$69$4$9 ==.
-; keypad_display.c:69: case 0:
- sjmp 00120$
-00113$:
- C$keypad_display.c$70$4$9 ==.
-; keypad_display.c:70: P3=display_0[state];
- mov a,_state
- mov dptr,#_display_0
- movc a,@a+dptr
- mov _P3,a
- C$keypad_display.c$71$4$9 ==.
-; keypad_display.c:71: break;
- C$keypad_display.c$72$4$9 ==.
-; keypad_display.c:72: case 1:
- sjmp 00120$
-00114$:
- C$keypad_display.c$73$4$9 ==.
-; keypad_display.c:73: P3=display_1[state];
- mov a,_state
- mov dptr,#_display_1
- movc a,@a+dptr
- mov _P3,a
- C$keypad_display.c$74$4$9 ==.
-; keypad_display.c:74: break;
- C$keypad_display.c$75$4$9 ==.
-; keypad_display.c:75: case 2:
- sjmp 00120$
-00115$:
- C$keypad_display.c$76$4$9 ==.
-; keypad_display.c:76: P3=display_2[state];
- mov a,_state
- mov dptr,#_display_2
- movc a,@a+dptr
- mov _P3,a
- C$keypad_display.c$77$4$9 ==.
-; keypad_display.c:77: break;
- C$keypad_display.c$78$4$9 ==.
-; keypad_display.c:78: case 3:
- sjmp 00120$
-00116$:
- C$keypad_display.c$79$4$9 ==.
-; keypad_display.c:79: P3=display_3[state];
- mov a,_state
- mov dptr,#_display_3
- movc a,@a+dptr
- mov _P3,a
- C$keypad_display.c$81$2$2 ==.
-; keypad_display.c:81: }
-00120$:
- C$keypad_display.c$41$2$2 ==.
-; keypad_display.c:41: for(row=0; row<4; row++) {
- inc _row
- clr a
- cjne a,_row,00147$
- inc (_row + 1)
-00147$:
- C$keypad_display.c$84$1$1 ==.
- XG$main$0$0 ==.
- ljmp 00118$
- .area CSEG (CODE)
- .area CONST (CODE)
-Fkeypad_display$keypad$0$0 == .
-_keypad:
- .db #0xEF
- .db #0xDF
- .db #0xBF
- .db #0x7F
-Fkeypad_display$display_0$0$0 == .
-_display_0:
- .db #0xF9
- .db #0x64
- .db #0x70
- .db #0x48
-Fkeypad_display$display_1$0$0 == .
-_display_1:
- .db #0x59
- .db #0x52
- .db #0x42
- .db #0x40
-Fkeypad_display$display_2$0$0 == .
-_display_2:
- .db #0xF8
- .db #0x40
- .db #0x50
- .db #0xC6
-Fkeypad_display$display_3$0$0 == .
-_display_3:
- .db #0x79
- .db #0xC0
- .db #0x49
- .db #0xC0
- .area XINIT (CODE)
- .area CABS (ABS,CODE)