?? main.lss
字號:
77e: cb 01 movw r24, r22
780: 89 8b std Y+17, r24 ; 0x11
782: 9a 8b std Y+18, r25 ; 0x12
784: ab 8b std Y+19, r26 ; 0x13
786: bc 8b std Y+20, r27 ; 0x14
788: 20 e0 ldi r18, 0x00 ; 0
78a: 30 e0 ldi r19, 0x00 ; 0
78c: 40 e8 ldi r20, 0x80 ; 128
78e: 5f e3 ldi r21, 0x3F ; 63
790: 69 89 ldd r22, Y+17 ; 0x11
792: 7a 89 ldd r23, Y+18 ; 0x12
794: 8b 89 ldd r24, Y+19 ; 0x13
796: 9c 89 ldd r25, Y+20 ; 0x14
798: 0e 94 f8 21 call 0x43f0 ; 0x43f0 <__eqsf2>
79c: 88 23 and r24, r24
79e: 0c f0 brlt .+2 ; 0x7a2 <xReadCH375Data+0xf2>
7a0: 03 c0 rjmp .+6 ; 0x7a8 <xReadCH375Data+0xf8>
7a2: 81 e0 ldi r24, 0x01 ; 1
7a4: 88 8b std Y+16, r24 ; 0x10
7a6: 18 c0 rjmp .+48 ; 0x7d8 <xReadCH375Data+0x128>
7a8: 20 e0 ldi r18, 0x00 ; 0
7aa: 30 e0 ldi r19, 0x00 ; 0
7ac: 4f e7 ldi r20, 0x7F ; 127
7ae: 53 e4 ldi r21, 0x43 ; 67
7b0: 69 89 ldd r22, Y+17 ; 0x11
7b2: 7a 89 ldd r23, Y+18 ; 0x12
7b4: 8b 89 ldd r24, Y+19 ; 0x13
7b6: 9c 89 ldd r25, Y+20 ; 0x14
7b8: 0e 94 fb 21 call 0x43f6 ; 0x43f6 <__gesf2>
7bc: 18 16 cp r1, r24
7be: 0c f0 brlt .+2 ; 0x7c2 <xReadCH375Data+0x112>
7c0: 02 c0 rjmp .+4 ; 0x7c6 <xReadCH375Data+0x116>
7c2: 18 8a std Y+16, r1 ; 0x10
7c4: 09 c0 rjmp .+18 ; 0x7d8 <xReadCH375Data+0x128>
7c6: 69 89 ldd r22, Y+17 ; 0x11
7c8: 7a 89 ldd r23, Y+18 ; 0x12
7ca: 8b 89 ldd r24, Y+19 ; 0x13
7cc: 9c 89 ldd r25, Y+20 ; 0x14
7ce: 0e 94 dd 21 call 0x43ba ; 0x43ba <__fixsfsi>
7d2: dc 01 movw r26, r24
7d4: cb 01 movw r24, r22
7d6: 88 8b std Y+16, r24 ; 0x10
7d8: 88 89 ldd r24, Y+16 ; 0x10
7da: 8b 87 std Y+11, r24 ; 0x0b
7dc: 8b 85 ldd r24, Y+11 ; 0x0b
7de: 8a 95 dec r24
7e0: f1 f7 brne .-4 ; 0x7de <xReadCH375Data+0x12e>
7e2: 8b 87 std Y+11, r24 ; 0x0b
7e4: 80 e0 ldi r24, 0x00 ; 0
7e6: 90 e0 ldi r25, 0x00 ; 0
7e8: a0 e8 ldi r26, 0x80 ; 128
7ea: bf e3 ldi r27, 0x3F ; 63
7ec: 8a 83 std Y+2, r24 ; 0x02
7ee: 9b 83 std Y+3, r25 ; 0x03
7f0: ac 83 std Y+4, r26 ; 0x04
7f2: bd 83 std Y+5, r27 ; 0x05
7f4: 2a ef ldi r18, 0xFA ; 250
7f6: 3d ee ldi r19, 0xED ; 237
7f8: 4b e6 ldi r20, 0x6B ; 107
7fa: 50 e4 ldi r21, 0x40 ; 64
7fc: 6a 81 ldd r22, Y+2 ; 0x02
7fe: 7b 81 ldd r23, Y+3 ; 0x03
800: 8c 81 ldd r24, Y+4 ; 0x04
802: 9d 81 ldd r25, Y+5 ; 0x05
804: 0e 94 48 22 call 0x4490 ; 0x4490 <__mulsf3>
808: dc 01 movw r26, r24
80a: cb 01 movw r24, r22
80c: 8f 83 std Y+7, r24 ; 0x07
80e: 98 87 std Y+8, r25 ; 0x08
810: a9 87 std Y+9, r26 ; 0x09
812: ba 87 std Y+10, r27 ; 0x0a
814: 20 e0 ldi r18, 0x00 ; 0
816: 30 e0 ldi r19, 0x00 ; 0
818: 40 e8 ldi r20, 0x80 ; 128
81a: 5f e3 ldi r21, 0x3F ; 63
81c: 6f 81 ldd r22, Y+7 ; 0x07
81e: 78 85 ldd r23, Y+8 ; 0x08
820: 89 85 ldd r24, Y+9 ; 0x09
822: 9a 85 ldd r25, Y+10 ; 0x0a
824: 0e 94 f8 21 call 0x43f0 ; 0x43f0 <__eqsf2>
828: 88 23 and r24, r24
82a: 0c f0 brlt .+2 ; 0x82e <xReadCH375Data+0x17e>
82c: 03 c0 rjmp .+6 ; 0x834 <xReadCH375Data+0x184>
82e: 81 e0 ldi r24, 0x01 ; 1
830: 8e 83 std Y+6, r24 ; 0x06
832: 18 c0 rjmp .+48 ; 0x864 <xReadCH375Data+0x1b4>
834: 20 e0 ldi r18, 0x00 ; 0
836: 30 e0 ldi r19, 0x00 ; 0
838: 4f e7 ldi r20, 0x7F ; 127
83a: 53 e4 ldi r21, 0x43 ; 67
83c: 6f 81 ldd r22, Y+7 ; 0x07
83e: 78 85 ldd r23, Y+8 ; 0x08
840: 89 85 ldd r24, Y+9 ; 0x09
842: 9a 85 ldd r25, Y+10 ; 0x0a
844: 0e 94 fb 21 call 0x43f6 ; 0x43f6 <__gesf2>
848: 18 16 cp r1, r24
84a: 0c f0 brlt .+2 ; 0x84e <xReadCH375Data+0x19e>
84c: 02 c0 rjmp .+4 ; 0x852 <xReadCH375Data+0x1a2>
84e: 1e 82 std Y+6, r1 ; 0x06
850: 09 c0 rjmp .+18 ; 0x864 <xReadCH375Data+0x1b4>
852: 6f 81 ldd r22, Y+7 ; 0x07
854: 78 85 ldd r23, Y+8 ; 0x08
856: 89 85 ldd r24, Y+9 ; 0x09
858: 9a 85 ldd r25, Y+10 ; 0x0a
85a: 0e 94 dd 21 call 0x43ba ; 0x43ba <__fixsfsi>
85e: dc 01 movw r26, r24
860: cb 01 movw r24, r22
862: 8e 83 std Y+6, r24 ; 0x06
864: 8e 81 ldd r24, Y+6 ; 0x06
866: 89 83 std Y+1, r24 ; 0x01
868: 89 81 ldd r24, Y+1 ; 0x01
86a: 8a 95 dec r24
86c: f1 f7 brne .-4 ; 0x86a <xReadCH375Data+0x1ba>
86e: 89 83 std Y+1, r24 ; 0x01
mDelay1uS( );
mDelay1uS( ); /* 至少延時1.2uS */
/*
DDRA = 0x00; // 數(shù)據(jù)輸入
PORTB &= 0xF2; // 輸出有效讀控制信號, 讀CH375芯片的數(shù)據(jù)端口, A0=0; CS=0; WR=1; RD=0;
DDRA = 0x00; // 該操作無意義,僅作延時,CH375要求讀寫脈沖寬度大于100nS
mData = PINA; // 從CH375的并口PA輸入數(shù)據(jù)
PORTB |= 0x07; // 輸出無效的控制信號, 完成操作CH375芯片, A0=0; CS=1; WR=1; RD=1;
*/
mDelay1uS( );
return( mData );
870: 8f 8d ldd r24, Y+31 ; 0x1f
872: 99 27 eor r25, r25
874: 6f 96 adiw r28, 0x1f ; 31
876: 0f b6 in r0, 0x3f ; 63
878: f8 94 cli
87a: de bf out 0x3e, r29 ; 62
87c: 0f be out 0x3f, r0 ; 63
87e: cd bf out 0x3d, r28 ; 61
880: df 91 pop r29
882: cf 91 pop r28
884: 08 95 ret
00000886 <mDelaymS>:
}
/* 延時指定毫秒時間,根據(jù)單片機主頻調(diào)整,不精確 */
void mDelaymS( UINT8 ms )
{
886: cf 93 push r28
888: df 93 push r29
88a: cd b7 in r28, 0x3d ; 61
88c: de b7 in r29, 0x3e ; 62
88e: 23 97 sbiw r28, 0x03 ; 3
890: 0f b6 in r0, 0x3f ; 63
892: f8 94 cli
894: de bf out 0x3e, r29 ; 62
896: 0f be out 0x3f, r0 ; 63
898: cd bf out 0x3d, r28 ; 61
89a: 8b 83 std Y+3, r24 ; 0x03
UINT16 i;
while ( ms -- ) for ( i = 2600; i != 0; i -- );
89c: 0e c0 rjmp .+28 ; 0x8ba <mDelaymS+0x34>
89e: 88 e2 ldi r24, 0x28 ; 40
8a0: 9a e0 ldi r25, 0x0A ; 10
8a2: 9a 83 std Y+2, r25 ; 0x02
8a4: 89 83 std Y+1, r24 ; 0x01
8a6: 05 c0 rjmp .+10 ; 0x8b2 <mDelaymS+0x2c>
8a8: 89 81 ldd r24, Y+1 ; 0x01
8aa: 9a 81 ldd r25, Y+2 ; 0x02
8ac: 01 97 sbiw r24, 0x01 ; 1
8ae: 9a 83 std Y+2, r25 ; 0x02
8b0: 89 83 std Y+1, r24 ; 0x01
8b2: 89 81 ldd r24, Y+1 ; 0x01
8b4: 9a 81 ldd r25, Y+2 ; 0x02
8b6: 00 97 sbiw r24, 0x00 ; 0
8b8: b9 f7 brne .-18 ; 0x8a8 <mDelaymS+0x22>
8ba: 8b 81 ldd r24, Y+3 ; 0x03
8bc: 81 50 subi r24, 0x01 ; 1
8be: 8b 83 std Y+3, r24 ; 0x03
8c0: 8b 81 ldd r24, Y+3 ; 0x03
8c2: 8f 3f cpi r24, 0xFF ; 255
8c4: 61 f7 brne .-40 ; 0x89e <mDelaymS+0x18>
8c6: 23 96 adiw r28, 0x03 ; 3
8c8: 0f b6 in r0, 0x3f ; 63
8ca: f8 94 cli
8cc: de bf out 0x3e, r29 ; 62
8ce: 0f be out 0x3f, r0 ; 63
8d0: cd bf out 0x3d, r28 ; 61
8d2: df 91 pop r29
8d4: cf 91 pop r28
8d6: 08 95 ret
000008d8 <mStopIfError>:
}
/* 檢查操作狀態(tài),如果錯誤則顯示錯誤代碼 */
void mStopIfError( UINT8 iError )
{
8d8: cf 93 push r28
8da: df 93 push r29
8dc: cd b7 in r28, 0x3d ; 61
8de: de b7 in r29, 0x3e ; 62
8e0: 21 97 sbiw r28, 0x01 ; 1
8e2: 0f b6 in r0, 0x3f ; 63
8e4: f8 94 cli
8e6: de bf out 0x3e, r29 ; 62
8e8: 0f be out 0x3f, r0 ; 63
8ea: cd bf out 0x3d, r28 ; 61
8ec: 89 83 std Y+1, r24 ; 0x01
if ( iError == ERR_SUCCESS )
8ee: 89 81 ldd r24, Y+1 ; 0x01
8f0: 88 23 and r24, r24
8f2: 71 f0 breq .+28 ; 0x910 <mStopIfError+0x38>
return; /* 操作成功 */
printf( "Error: %02X\n", (UINT16)iError ); /* 顯示錯誤 */
8f4: 89 81 ldd r24, Y+1 ; 0x01
8f6: 99 27 eor r25, r25
8f8: 9f 93 push r25
8fa: 8f 93 push r24
8fc: 80 e0 ldi r24, 0x00 ; 0
8fe: 91 e0 ldi r25, 0x01 ; 1
900: 9f 93 push r25
902: 8f 93 push r24
904: 0e 94 6f 1e call 0x3cde ; 0x3cde <printf>
908: 0f 90 pop r0
90a: 0f 90 pop r0
90c: 0f 90 pop r0
90e: 0f 90 pop r0
910: 21 96 adiw r28, 0x01 ; 1
912: 0f b6 in r0, 0x3f ; 63
914: f8 94 cli
916: de bf out 0x3e, r29 ; 62
918: 0f be out 0x3f, r0 ; 63
91a: cd bf out 0x3d, r28 ; 61
91c: df 91 pop r29
91e: cf 91 pop r28
920: 08 95 ret
00000922 <uart_putchar>:
}
/* 為printf和getkey輸入輸出初始化串口 */
int uart_putchar( char c, FILE *stream )
{
922: cf 93 push r28
924: df 93 push r29
926: cd b7 in r28, 0x3d ; 61
928: de b7 in r29, 0x3e ; 62
92a: 23 97 sbiw r28, 0x03 ; 3
92c: 0f b6 in r0, 0x3f ; 63
92e: f8 94 cli
930: de bf out 0x3e, r29 ; 62
932: 0f be out 0x3f, r0 ; 63
934: cd bf out 0x3d, r28 ; 61
936: 89 83 std Y+1, r24 ; 0x01
938: 7b 83 std Y+3, r23 ; 0x03
93a: 6a 83 std Y+2, r22 ; 0x02
if (c == '\n') uart_putchar( '\r', stream );
93c: 89 81 ldd r24, Y+1 ; 0x01
93e: 8a 30 cpi r24, 0x0A ; 10
940: 31 f4 brne .+12 ; 0x94e <uart_putchar+0x2c>
942: 8a 81 ldd r24, Y+2 ; 0x02
944: 9b 81 ldd r25, Y+3 ; 0x03
946: bc 01 movw r22, r24
948: 8d e0 ldi r24, 0x0D ; 13
94a: 0e 94 91 04 call 0x922 ; 0x922 <uart_putchar>
while ( ( UCSR0A & ( 1 << UDRE ) ) == 0 );
94e: eb e2 ldi r30, 0x2B ; 43
950: f0 e0 ldi r31, 0x00 ; 0
952: 80 81 ld r24, Z
954: 99 27 eor r25, r25
956: 80 72 andi r24, 0x20 ; 32
958: 90 70 andi r25, 0x00 ; 0
95a: 00 97 sbiw r24, 0x00 ; 0
95c: c1 f3 breq .-16 ; 0x94e <uart_putchar+0x2c>
UDR0 = c;
95e: ec e2 ldi r30, 0x2C ; 44
960: f0 e0 ldi r31, 0x00 ; 0
962: 89 81 ldd r24, Y+1 ; 0x01
964: 80 83 st Z, r24
return 0;
966: 80 e0 ldi r24, 0x00 ; 0
968: 90 e0 ldi r25, 0x00 ; 0
96a: 23 96 adiw r28, 0x03 ; 3
96c: 0f b6 in r0, 0x3f ; 63
96e: f8 94 cli
970: de bf out 0x3e, r29 ; 62
972: 0f be out 0x3f, r0 ; 63
974: cd bf out 0x3d, r28 ; 61
976: df 91 pop r29
978: cf 91 pop r28
97a: 08 95 ret
0000097c <mInitSTDIO>:
}
FILE uart_str = FDEV_SETUP_STREAM( uart_putch
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -