📄 2.lis
字号:
.module _2.c
.area data(ram, con, rel)
0000 _second::
0000 .blkb 1
.area idata
0000 00 .byte 0
.area data(ram, con, rel)
0001 .dbfile E:\ATMEGA~1\万年历实验\2.c
0001 .dbsym e second _second c
0001 _minute::
0001 .blkb 1
.area idata
0001 00 .byte 0
.area data(ram, con, rel)
0002 .dbfile E:\ATMEGA~1\万年历实验\2.c
0002 .dbsym e minute _minute c
0002 _hour::
0002 .blkb 1
.area idata
0002 00 .byte 0
.area data(ram, con, rel)
0003 .dbfile E:\ATMEGA~1\万年历实验\2.c
0003 .dbsym e hour _hour c
0003 _day::
0003 .blkb 1
.area idata
0003 04 .byte 4
.area data(ram, con, rel)
0004 .dbfile E:\ATMEGA~1\万年历实验\2.c
0004 .dbsym e day _day c
0004 _days::
0004 .blkb 1
.area idata
0004 0B .byte 11
.area data(ram, con, rel)
0005 .dbfile E:\ATMEGA~1\万年历实验\2.c
0005 .dbsym e days _days c
0005 _month::
0005 .blkb 1
.area idata
0005 08 .byte 8
.area data(ram, con, rel)
0006 .dbfile E:\ATMEGA~1\万年历实验\2.c
0006 .dbsym e month _month c
0006 _year::
0006 .blkb 2
.area idata
0006 D507 .word 2005
.area data(ram, con, rel)
0008 .dbfile E:\ATMEGA~1\万年历实验\2.c
0008 .dbsym e year _year i
0008 _flag::
0008 .blkb 1
.area idata
0008 00 .byte 0
.area data(ram, con, rel)
0009 .dbfile E:\ATMEGA~1\万年历实验\2.c
0009 .dbsym e flag _flag c
0009 _lcd_buff::
0009 .blkb 2
.area idata
0009 0000 .byte 0,0
.area data(ram, con, rel)
000B .dbfile E:\ATMEGA~1\万年历实验\2.c
000B .blkb 2
.area idata
000B 0000 .byte 0,0
.area data(ram, con, rel)
000D .dbfile E:\ATMEGA~1\万年历实验\2.c
000D .dbsym e lcd_buff _lcd_buff A[4:4]c
000D _lcd_buff1::
000D .blkb 2
.area idata
000D 0000 .byte 0,0
.area data(ram, con, rel)
000F .dbfile E:\ATMEGA~1\万年历实验\2.c
000F .blkb 2
.area idata
000F 0000 .byte 0,0
.area data(ram, con, rel)
0011 .dbfile E:\ATMEGA~1\万年历实验\2.c
0011 .blkb 2
.area idata
0011 0000 .byte 0,0
.area data(ram, con, rel)
0013 .dbfile E:\ATMEGA~1\万年历实验\2.c
0013 .blkb 2
.area idata
0013 0000 .byte 0,0
.area data(ram, con, rel)
0015 .dbfile E:\ATMEGA~1\万年历实验\2.c
0015 .blkb 1
.area idata
0015 00 .byte 0
.area data(ram, con, rel)
0016 .dbfile E:\ATMEGA~1\万年历实验\2.c
0016 .dbsym e lcd_buff1 _lcd_buff1 A[9:9]c
.area lit(rom, con, rel)
0000 _biao1::
0000 3216 .byte 50,22
0002 282B .byte 40,43
0004 2E21 .byte 46,33
0006 2830 .byte 40,48
0008 2624 .byte 38,36
000A 3428 .byte 52,40
000C .dbsym e biao1 _biao1 A[12:12]kc
000C _biao2::
000C 1B5E .byte 27,94
000E 5D24 .byte 93,36
0010 4559 .byte 'E,'Y
0012 3527 .byte 53,39
0014 3A4A .byte 58,'J
0016 2235 .byte 34,53
0018 .dbsym e biao2 _biao2 A[12:12]kc
0018 _table::
0018 3031 .byte 48,49
001A 3233 .byte 50,51
001C 3435 .byte 52,53
001E 3637 .byte 54,55
0020 3839 .byte 56,57
0022 4142 .byte 'A,'B
0024 4344 .byte 'C,'D
0026 4546 .byte 'E,'F
0028 .dbsym e table _table A[16:16]kc
.area text(rom, con, rel)
0000 .dbfile E:\ATMEGA~1\万年历实验\2.c
0000 .dbfunc e delay _delay fV
0000 ; k -> R20,R21
0000 ; x -> R16,R17
.even
0000 _delay::
0000 0E940000 xcall push_gset1
0004 .dbline -1
0004 .dbline 24
0004 ; //李伟于9月3号完成
0004 ; #include<iom128v.h>
0004 ; /*定义OCMJ4X8端口*/
0004 ; //DATA_PORT=PORTA
0004 ; #define data_port PORTA
0004 ; //ASK=PORTE.6
0004 ; #define ask (PINE&0x40)
0004 ; //ANSWER=PORTE.7
0004 ; #define set_answer asm("sbi 0x03,7")
0004 ; #define clr_answer asm("cbi 0x03,7")
0004 ; //RESTE=PORTC.3
0004 ; #define set_reset asm("sbi 0x15,3")
0004 ; #define clr_reset asm("cbi 0x15,3")
0004 ; #define wait asm("nop\n nop")
0004 ; unsigned char second=0,minute=0,hour=0,day=4,days=11,month=8;
0004 ; unsigned int year=2005;
0004 ; unsigned char flag=0;
0004 ; unsigned char lcd_buff[4]={0,0,0,0};//放小时,分钟
0004 ; unsigned char lcd_buff1[9]={0,0,0,0,0,0,0,0,0};//相当与一个地址,存放月,日
0004 ; const unsigned char biao1[]={50,22,40,43,46,33,40,48,38,36,52,40};
0004 ; const unsigned char biao2[]={27,94,93,36,69,89,53,39,58,74,34,53};
0004 ; const unsigned char table[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x41,0x42,0x43,0x44,0x45,0x46};
0004 ; void delay(unsigned int x)
0004 ; {
0004 .dbline 26
0004 ; unsigned int k;
0004 ; for(k=0;k<x;k++)
0004 4427 clr R20
0006 5527 clr R21
0008 02C0 xjmp L5
000A L2:
000A .dbline 27
000A L3:
000A .dbline 26
000A 4F5F subi R20,255 ; offset = 1
000C 5F4F sbci R21,255
000E L5:
000E .dbline 26
000E 4017 cp R20,R16
0010 5107 cpc R21,R17
0012 D8F3 brlo L2
0014 .dbline -2
0014 L1:
0014 0E940000 xcall pop_gset1
0018 .dbline 0 ; func end
0018 0895 ret
001A .dbsym r k 20 i
001A .dbsym r x 16 i
001A .dbend
001A .dbfunc e ocmj_init _ocmj_init fV
.even
001A _ocmj_init::
001A .dbline -1
001A .dbline 30
001A ; ;
001A ; }
001A ; void ocmj_init(void)
001A ; {
001A .dbline 31
001A ; MCUCR=0;
001A 2224 clr R2
001C 25BE out 0x35,R2
001E .dbline 32
001E ; DDRA=0xff;
001E 8FEF ldi R24,255
0020 8ABB out 0x1a,R24
0022 .dbline 33
0022 ; PORTA=0xff;
0022 8BBB out 0x1b,R24
0024 .dbline 34
0024 ; DDRE=0b10000000;
0024 80E8 ldi R24,128
0026 82B9 out 0x2,R24
0028 .dbline 35
0028 ; PORTE=0xff;
0028 8FEF ldi R24,255
002A 83B9 out 0x3,R24
002C .dbline 36
002C ; clr_reset;//LCD复位
002C AB98 cbi 0x15,3
002E .dbline 37
002E ; delay(10);
002E 0AE0 ldi R16,10
0030 10E0 ldi R17,0
0032 E6DF xcall _delay
0034 .dbline 38
0034 ; set_reset;
0034 AB9A sbi 0x15,3
0036 .dbline 39
0036 ; clr_answer;
0036 1F98 cbi 0x03,7
0038 .dbline 40
0038 ; delay(2);
0038 02E0 ldi R16,2
003A 10E0 ldi R17,0
003C E1DF xcall _delay
003E .dbline -2
003E L6:
003E .dbline 0 ; func end
003E 0895 ret
0040 .dbend
0040 .dbfunc e ocmj_write _ocmj_write fV
0040 ; data -> R16
.even
0040 _ocmj_write::
0040 .dbline -1
0040 .dbline 46
0040 ; }
0040 ; /**********************************************/
0040 ; /* 写数据到LCD */
0040 ; /**********************************************/
0040 ; void ocmj_write(unsigned char data)
0040 ; {
0040 L8:
0040 .dbline 48
0040 L9:
0040 .dbline 47
0040 ; while(ask!=0)
0040 0E99 sbic 0x1,6
0042 FECF rjmp L8
0044 .dbline 49
0044 ; ;
0044 ; data_port=data;
0044 0BBB out 0x1b,R16
0046 .dbline 50
0046 ; wait;
0046 0000 nop
0048 0000 nop
004A .dbline 51
004A ; set_answer;
004A 1F9A sbi 0x03,7
004C .dbline 52
004C ; wait;
004C 0000 nop
004E 0000 nop
0050 L11:
0050 .dbline 54
0050 L12:
0050 .dbline 53
0050 ; while(ask==0)
0050 0E9B sbis 0x1,6
0052 FECF rjmp L11
0054 .dbline 55
0054 ; ;
0054 ; clr_answer;
0054 1F98 cbi 0x03,7
0056 .dbline -2
0056 L7:
0056 .dbline 0 ; func end
0056 0895 ret
0058 .dbsym r data 16 c
0058 .dbend
0058 .dbfunc e write_ASCII _write_ASCII fV
0058 ; data -> y+6
0058 ; yy -> y+4
0058 ; xx -> R20,R21
0058 ; type -> R22,R23
.even
0058 _write_ASCII::
0058 0E940000 xcall push_gset2
005C A901 movw R20,R18
005E B801 movw R22,R16
0060 .dbline -1
0060 .dbline 61
0060 ; }
0060 ; /**********************************************/
0060 ; /* 写ASCII码初始化 */
0060 ; /**********************************************/
0060 ; void write_ASCII(unsigned type,unsigned xx,unsigned yy,unsigned data)
0060 ; {
0060 .dbline 62
0060 ; ocmj_write(type);
0060 062F mov R16,R22
0062 EEDF xcall _ocmj_write
0064 .dbline 63
0064 ; ocmj_write(xx);
0064 042F mov R16,R20
0066 ECDF xcall _ocmj_write
0068 .dbline 64
0068 ; ocmj_write(yy);
0068 0C81 ldd R16,y+4
006A 1D81 ldd R17,y+5
006C E9DF xcall _ocmj_write
006E .dbline 65
006E ; ocmj_write(data);
006E 0E81 ldd R16,y+6
0070 1F81 ldd R17,y+7
0072 E6DF xcall _ocmj_write
0074 .dbline -2
0074 L14:
0074 0E940000 xcall pop_gset2
0078 .dbline 0 ; func end
0078 0895 ret
007A .dbsym l data 6 i
007A .dbsym l yy 4 i
007A .dbsym r xx 20 i
007A .dbsym r type 22 i
007A .dbend
007A .dbfunc e write_hazi _write_hazi fV
007A ; data2 -> y+6
007A ; data1 -> y+4
007A ; yy -> R20,R21
007A ; xx -> R22,R23
.even
007A _write_hazi::
007A 0E940000 xcall push_gset2
007E A901 movw R20,R18
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -