📄 output.lis
字号:
0068 0000 .byte 0,0
.area data(ram, con, rel)
006A .dbfile D:\excersize\output.h
006A .blkb 2
.area idata
006A 000C .byte 0,12
.area data(ram, con, rel)
006C .dbfile D:\excersize\output.h
006C .blkb 2
.area idata
006C 0000 .byte 0,0
.area data(ram, con, rel)
006E .dbfile D:\excersize\output.h
006E .blkb 2
.area idata
006E 0030 .byte 0,48
.area data(ram, con, rel)
0070 .dbfile D:\excersize\output.h
0070 .blkb 2
.area idata
0070 0000 .byte 0,0
.area data(ram, con, rel)
0072 .dbfile D:\excersize\output.h
0072 .blkb 2
.area idata
0072 00C0 .byte 0,192
.area data(ram, con, rel)
0074 .dbfile D:\excersize\output.h
0074 .dbsym e InputTable _InputTable A[64:16:4]c
0074 _TestIOSp::
0074 .blkb 1
.area idata
0074 00 .byte 0
.area data(ram, con, rel)
0075 .dbfile D:\excersize\output.h
0075 .dbsym e TestIOSp _TestIOSp c
0075 _T0Count0::
0075 .blkb 2
.area idata
0075 0000 .word 0
.area data(ram, con, rel)
0077 .dbfile D:\excersize\output.h
0077 .dbsym e T0Count0 _T0Count0 i
0077 _RxLoadSp0::
0077 .blkb 1
.area idata
0077 00 .byte 0
.area data(ram, con, rel)
0078 .dbfile D:\excersize\output.h
0078 .dbsym e RxLoadSp0 _RxLoadSp0 c
0078 _RxOperateSp0::
0078 .blkb 1
.area idata
0078 00 .byte 0
.area data(ram, con, rel)
0079 .dbfile D:\excersize\output.h
0079 .dbsym e RxOperateSp0 _RxOperateSp0 c
0079 _IOErrorFlag::
0079 .blkb 1
.area idata
0079 00 .byte 0
.area data(ram, con, rel)
007A .dbfile D:\excersize\output.h
007A .dbsym e IOErrorFlag _IOErrorFlag c
007A _Rx0Counter0::
007A .blkb 1
.area idata
007A 00 .byte 0
.area data(ram, con, rel)
007B .dbfile D:\excersize\output.h
007B .dbsym e Rx0Counter0 _Rx0Counter0 c
.area text(rom, con, rel)
0000 .dbfile D:\excersize\output.h
0000 .dbfile D:\excersize\output.c
0000 .dbfunc e mapping_init _mapping_init fV
.even
0000 _mapping_init::
0000 .dbline -1
0000 .dbline 12
0000 ; //======================================================调机自动化控车程序
0000 ; //ICC-AVR application builder : 2006-9-2 0:12:00
0000 ; // Target : M128
0000 ; // Crystal: 16.000Mhz
0000 ; //======================================================包含文件
0000 ; #include <iom128v.h>
0000 ; #include <macros.h>
0000 ; #include <D:\excersize\output.h>
0000 ; //======================================================定义外部固定地址变量CAN,IO
0000 ; //define mappings
0000 ; void mapping_init(void)
0000 ; {
0000 .dbline 13
0000 ; asm(
.area memory(abs)
.org 0xD000
D000 _CAN0Addr:: .blkb 50
.org 0xE000
E000 _CAN1Addr:: .blkb 50
.org 0xF000
F000 _IOAddr:: .blkb 50
.text
0000 .dbline -2
0000 L1:
0000 .dbline 0 ; func end
0000 0895 ret
0002 .dbend
0002 .dbfunc e port_init _port_init fV
.even
0002 _port_init::
0002 .dbline -1
0002 .dbline 26
0002 ; ".area memory(abs)\n"
0002 ; ".org 0xD000\n"
0002 ; " _CAN0Addr:: .blkb 50\n"
0002 ; ".org 0xE000\n"
0002 ; " _CAN1Addr:: .blkb 50\n"
0002 ; ".org 0xF000\n"
0002 ; " _IOAddr:: .blkb 50\n"
0002 ; ".text\n"
0002 ; );
0002 ; }
0002 ; //======================================================控制器IO口定义
0002 ; void port_init(void)
0002 ; {
0002 .dbline 27
0002 ; PORTA = 0x00;
0002 2224 clr R2
0004 2BBA out 0x1b,R2
0006 .dbline 28
0006 ; DDRA = 0x00;
0006 2ABA out 0x1a,R2
0008 .dbline 29
0008 ; PORTB = 0xFF;
0008 8FEF ldi R24,255
000A 88BB out 0x18,R24
000C .dbline 30
000C ; DDRB = 0xFF;
000C 87BB out 0x17,R24
000E .dbline 31
000E ; PORTC = 0xFF; //m103 output only
000E 85BB out 0x15,R24
0010 .dbline 32
0010 ; DDRC = 0xFF;
0010 84BB out 0x14,R24
0012 .dbline 33
0012 ; PORTD = 0xFF;
0012 82BB out 0x12,R24
0014 .dbline 34
0014 ; DDRD = 0xF0;
0014 80EF ldi R24,240
0016 81BB out 0x11,R24
0018 .dbline 35
0018 ; PORTE = 0xFF;
0018 8FEF ldi R24,255
001A 83B9 out 0x3,R24
001C .dbline 36
001C ; DDRE = 0x08;
001C 88E0 ldi R24,8
001E 82B9 out 0x2,R24
0020 .dbline 37
0020 ; PORTF = 0xFC;
0020 8CEF ldi R24,252
0022 80936200 sts 98,R24
0026 .dbline 38
0026 ; DDRF = 0x0C;
0026 8CE0 ldi R24,12
0028 80936100 sts 97,R24
002C .dbline 39
002C ; PORTG = 0x1F;
002C 8FE1 ldi R24,31
002E 80936500 sts 101,R24
0032 .dbline 40
0032 ; DDRG = 0x00;
0032 20926400 sts 100,R2
0036 .dbline -2
0036 L2:
0036 .dbline 0 ; func end
0036 0895 ret
0038 .dbend
0038 .dbfunc e watchdog_init _watchdog_init fV
.even
0038 _watchdog_init::
0038 .dbline -1
0038 .dbline 46
0038 ; }
0038 ; //======================================================内部看门狗初始化
0038 ; //Watchdog initialisation
0038 ; // prescale: 2048K cycles
0038 ; void watchdog_init(void)
0038 ; {
0038 .dbline 47
0038 ; WDR(); //this prevents a timout on enabling//
0038 A895 wdr
003A .dbline 48
003A ; WDTCR = 0x0F; //WATCHDOG ENABLED - dont forget to issue WDRs
003A 8FE0 ldi R24,15
003C 81BD out 0x21,R24
003E .dbline -2
003E L3:
003E .dbline 0 ; func end
003E 0895 ret
0040 .dbend
0040 .dbfunc e uart0_init _uart0_init fV
.even
0040 _uart0_init::
0040 .dbline -1
0040 .dbline 60
0040 ; }
0040 ;
0040 ;
0040 ; //======================================================串口初始化
0040 ; //UART0 initialisation
0040 ; // desired baud rate:38400
0040 ; // actual baud rate:38462 (0.2%)
0040 ; // char size: 8 bit
0040 ; // parity: Disabled
0040 ;
0040 ; void uart0_init(void)
0040 ; {
0040 .dbline 61
0040 ; UCSR0B = 0x00; //disable while setting baud rate
0040 2224 clr R2
0042 2AB8 out 0xa,R2
0044 .dbline 62
0044 ; UCSR0A = 0x00;
0044 2BB8 out 0xb,R2
0046 .dbline 63
0046 ; UCSR0C = 0x06;
0046 86E0 ldi R24,6
0048 80939500 sts 149,R24
004C .dbline 64
004C ; UBRR0L = 0x19; //set baud rate lo
004C 89E1 ldi R24,25
004E 89B9 out 0x9,R24
0050 .dbline 65
0050 ; UBRR0H = 0x00; //set baud rate hi
0050 20929000 sts 144,R2
0054 .dbline 66
0054 ; UCSR0B = 0xB8;
0054 88EB ldi R24,184
0056 8AB9 out 0xa,R24
0058 .dbline -2
0058 L4:
0058 .dbline 0 ; func end
0058 0895 ret
005A .dbend
.area vector(rom, abs)
.org 76
004C 0C942D00 jmp _uart0_udre_isr
.area text(rom, con, rel)
005A .dbfile D:\excersize\output.c
005A .dbfunc e uart0_udre_isr _uart0_udre_isr fV
.even
005A _uart0_udre_isr::
005A 2A92 st -y,R2
005C 3A92 st -y,R3
005E 8A93 st -y,R24
0060 9A93 st -y,R25
0062 EA93 st -y,R30
0064 FA93 st -y,R31
0066 2FB6 in R2,0x3f
0068 2A92 st -y,R2
006A .dbline -1
006A .dbline 72
006A ; }
006A ;
006A ;
006A ; //======================================================串口0发送中断
006A ; #pragma interrupt_handler uart0_udre_isr:20
006A ; void uart0_udre_isr(void){
006A .dbline 73
006A ; if(TxOperateSp0!=TxLoadSp0){
006A 20900101 lds R2,_TxLoadSp0
006E 30900001 lds R3,_TxOperateSp0
0072 3214 cp R3,R2
0074 71F0 breq L6
0076 .dbline 73
0076 .dbline 74
0076 ; UDR0=TxBuffer0[TxLoadSp0++];
0076 3324 clr R3
0078 822D mov R24,R2
007A 8F5F subi R24,255 ; addi 1
007C 80930101 sts _TxLoadSp0,R24
0080 80E0 ldi R24,<_TxBuffer0
0082 90E0 ldi R25,>_TxBuffer0
0084 E22D mov R30,R2
0086 FF27 clr R31
0088 E80F add R30,R24
008A F91F adc R31,R25
008C 2080 ldd R2,z+0
008E 2CB8 out 0xc,R2
0090 .dbline 75
0090 ; }
0090 03C0 xjmp L7
0092 L6:
0092 .dbline 76
0092 .dbline 76
0092 8AB1 in R24,0xa
0094 8F7D andi R24,223
0096 8AB9 out 0xa,R24
0098 .dbline 76
0098 L7:
0098 .dbline -2
0098 L5:
0098 2990 ld R2,y+
009A 2FBE out 0x3f,R2
009C F991 ld R31,y+
009E E991 ld R30,y+
00A0 9991 ld R25,y+
00A2 8991 ld R24,y+
00A4 3990 ld R3,y+
00A6 2990 ld R2,y+
00A8 .dbline 0 ; func end
00A8 1895 reti
00AA .dbend
00AA .dbfunc e timer0_init _timer0_init fV
.even
00AA _timer0_init::
00AA .dbline -1
00AA .dbline 86
00AA ; else{UCSR0B&=0XDF;}
00AA ;
00AA ; }
00AA ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -