📄 output.s
字号:
.module output.c
.area data(ram, con, rel)
_InputByte0Reg::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.dbsym e InputByte0Reg _InputByte0Reg c
_InputByte1Reg::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.dbsym e InputByte1Reg _InputByte1Reg c
_InputByte2Reg::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.dbsym e InputByte2Reg _InputByte2Reg c
_InputByte3Reg::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.dbsym e InputByte3Reg _InputByte3Reg c
_OutputTable::
.blkb 2
.area idata
.byte 1,0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 2,0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 1
.area idata
.byte 15
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 4,0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 8,0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 1
.area idata
.byte 15
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 16,0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 32,0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 1
.area idata
.byte 15
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 64,0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 128,0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 1
.area idata
.byte 15
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 0,1
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 0,2
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 1
.area idata
.byte 15
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 0,4
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 0,8
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 1
.area idata
.byte 15
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 0,16
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 0,32
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 1
.area idata
.byte 15
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 0,64
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 0,128
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 1
.area idata
.byte 15
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.dbsym e OutputTable _OutputTable A[48:16:3]c
_InputTable::
.blkb 2
.area idata
.byte 3,0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 0,0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 12,0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 0,0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 48,0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 0,0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 192,0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 0,0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 0,3
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 0,0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 0,12
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 0,0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 0,48
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 0,0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 0,192
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 0,0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 0,0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 3,0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 0,0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 12,0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 0,0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 48,0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 0,0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 192,0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 0,0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 0,3
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 0,0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 0,12
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 0,0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 0,48
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 0,0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.blkb 2
.area idata
.byte 0,192
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.dbsym e InputTable _InputTable A[64:16:4]c
_TestIOSp::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.dbsym e TestIOSp _TestIOSp c
_T0Count0::
.blkb 2
.area idata
.word 0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.dbsym e T0Count0 _T0Count0 i
_RxLoadSp0::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.dbsym e RxLoadSp0 _RxLoadSp0 c
_RxOperateSp0::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.dbsym e RxOperateSp0 _RxOperateSp0 c
_IOErrorFlag::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.dbsym e IOErrorFlag _IOErrorFlag c
_Rx0Counter0::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\excersize\output.h
.dbsym e Rx0Counter0 _Rx0Counter0 c
.area text(rom, con, rel)
.dbfile D:\excersize\output.h
.dbfile D:\excersize\output.c
.dbfunc e mapping_init _mapping_init fV
.even
_mapping_init::
.dbline -1
.dbline 12
; //======================================================调机自动化控车程序
; //ICC-AVR application builder : 2006-9-2 0:12:00
; // Target : M128
; // Crystal: 16.000Mhz
; //======================================================包含文件
; #include <iom128v.h>
; #include <macros.h>
; #include <D:\excersize\output.h>
; //======================================================定义外部固定地址变量CAN,IO
; //define mappings
; void mapping_init(void)
; {
.dbline 13
; asm(
.area memory(abs)
.org 0xD000
_CAN0Addr:: .blkb 50
.org 0xE000
_CAN1Addr:: .blkb 50
.org 0xF000
_IOAddr:: .blkb 50
.text
.dbline -2
L1:
.dbline 0 ; func end
ret
.dbend
.dbfunc e port_init _port_init fV
.even
_port_init::
.dbline -1
.dbline 26
; ".area memory(abs)\n"
; ".org 0xD000\n"
; " _CAN0Addr:: .blkb 50\n"
; ".org 0xE000\n"
; " _CAN1Addr:: .blkb 50\n"
; ".org 0xF000\n"
; " _IOAddr:: .blkb 50\n"
; ".text\n"
; );
; }
; //======================================================控制器IO口定义
; void port_init(void)
; {
.dbline 27
; PORTA = 0x00;
clr R2
out 0x1b,R2
.dbline 28
; DDRA = 0x00;
out 0x1a,R2
.dbline 29
; PORTB = 0xFF;
ldi R24,255
out 0x18,R24
.dbline 30
; DDRB = 0xFF;
out 0x17,R24
.dbline 31
; PORTC = 0xFF; //m103 output only
out 0x15,R24
.dbline 32
; DDRC = 0xFF;
out 0x14,R24
.dbline 33
; PORTD = 0xFF;
out 0x12,R24
.dbline 34
; DDRD = 0xF0;
ldi R24,240
out 0x11,R24
.dbline 35
; PORTE = 0xFF;
ldi R24,255
out 0x3,R24
.dbline 36
; DDRE = 0x08;
ldi R24,8
out 0x2,R24
.dbline 37
; PORTF = 0xFC;
ldi R24,252
sts 98,R24
.dbline 38
; DDRF = 0x0C;
ldi R24,12
sts 97,R24
.dbline 39
; PORTG = 0x1F;
ldi R24,31
sts 101,R24
.dbline 40
; DDRG = 0x00;
sts 100,R2
.dbline -2
L2:
.dbline 0 ; func end
ret
.dbend
.dbfunc e watchdog_init _watchdog_init fV
.even
_watchdog_init::
.dbline -1
.dbline 46
; }
; //======================================================内部看门狗初始化
; //Watchdog initialisation
; // prescale: 2048K cycles
; void watchdog_init(void)
; {
.dbline 47
; WDR(); //this prevents a timout on enabling//
wdr
.dbline 48
; WDTCR = 0x0F; //WATCHDOG ENABLED - dont forget to issue WDRs
ldi R24,15
out 0x21,R24
.dbline -2
L3:
.dbline 0 ; func end
ret
.dbend
.dbfunc e uart0_init _uart0_init fV
.even
_uart0_init::
.dbline -1
.dbline 60
; }
;
;
; //======================================================串口初始化
; //UART0 initialisation
; // desired baud rate:38400
; // actual baud rate:38462 (0.2%)
; // char size: 8 bit
; // parity: Disabled
;
; void uart0_init(void)
; {
.dbline 61
; UCSR0B = 0x00; //disable while setting baud rate
clr R2
out 0xa,R2
.dbline 62
; UCSR0A = 0x00;
out 0xb,R2
.dbline 63
; UCSR0C = 0x06;
ldi R24,6
sts 149,R24
.dbline 64
; UBRR0L = 0x19; //set baud rate lo
ldi R24,25
out 0x9,R24
.dbline 65
; UBRR0H = 0x00; //set baud rate hi
sts 144,R2
.dbline 66
; UCSR0B = 0xB8;
ldi R24,184
out 0xa,R24
.dbline -2
L4:
.dbline 0 ; func end
ret
.dbend
.area vector(rom, abs)
.org 76
jmp _uart0_udre_isr
.area text(rom, con, rel)
.dbfile D:\excersize\output.c
.dbfunc e uart0_udre_isr _uart0_udre_isr fV
.even
_uart0_udre_isr::
st -y,R2
st -y,R3
st -y,R24
st -y,R25
st -y,R30
st -y,R31
in R2,0x3f
st -y,R2
.dbline -1
.dbline 72
; }
;
;
; //======================================================串口0发送中断
; #pragma interrupt_handler uart0_udre_isr:20
; void uart0_udre_isr(void){
.dbline 73
; if(TxOperateSp0!=TxLoadSp0){
lds R2,_TxLoadSp0
lds R3,_TxOperateSp0
cp R3,R2
breq L6
.dbline 73
.dbline 74
; UDR0=TxBuffer0[TxLoadSp0++];
clr R3
mov R24,R2
subi R24,255 ; addi 1
sts _TxLoadSp0,R24
ldi R24,<_TxBuffer0
ldi R25,>_TxBuffer0
mov R30,R2
clr R31
add R30,R24
adc R31,R25
ldd R2,z+0
out 0xc,R2
.dbline 75
; }
xjmp L7
L6:
.dbline 76
.dbline 76
in R24,0xa
andi R24,223
out 0xa,R24
.dbline 76
L7:
.dbline -2
L5:
ld R2,y+
out 0x3f,R2
ld R31,y+
ld R30,y+
ld R25,y+
ld R24,y+
ld R3,y+
ld R2,y+
.dbline 0 ; func end
reti
.dbend
.dbfunc e timer0_init _timer0_init fV
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -