📄 main.lis
字号:
.module main.c
.area text(rom, con, rel)
0000 .dbfile E:\ICCAVR\project\afa-1\icc\afa-002\main.c
0000 .dbfunc e main _main fV
.even
0000 _main::
0000 .dbline -1
0000 .dbline 7
0000 ; /*
0000 ; 内部1 M晶振。
0000 ; I/O口实验,按键输入,发光二极管显示。
0000 ; */
0000 ; #include "iom16v.h"
0000 ;
0000 ; void main(void) {
0000 .dbline 9
0000 ;
0000 ; DDRA = 0x00; /*方向输入*/
0000 2224 clr R2
0002 2ABA out 0x1a,R2
0004 .dbline 10
0004 ; PORTA = 0xFF; /*打开上拉*/
0004 8FEF ldi R24,255
0006 8BBB out 0x1b,R24
0008 .dbline 11
0008 ; DDRB = 0xFF; /*方向输出*/
0008 87BB out 0x17,R24
000A .dbline 12
000A ; PORTB = 0xFF; /*高电平*/
000A 88BB out 0x18,R24
000C .dbline 13
000C ; DDRC = 0x00;
000C 24BA out 0x14,R2
000E .dbline 14
000E ; PORTC = 0xFF;
000E 85BB out 0x15,R24
0010 .dbline 15
0010 ; DDRD = 0x00;
0010 21BA out 0x11,R2
0012 .dbline 16
0012 ; PORTD = 0xFF;
0012 82BB out 0x12,R24
0014 21C0 xjmp L3
0016 L2:
0016 .dbline 18
0016 ;
0016 ; while (1) {
0016 .dbline 19
0016 ; if ((PINA & (1 << PA0)) == 0) { /*判断是否按下*/
0016 C899 sbic 0x19,0
0018 02C0 rjmp L5
001A .dbline 19
001A .dbline 20
001A ; PORTB = ~(1 << PB0); /*点亮指示灯*/
001A 8EEF ldi R24,254
001C 88BB out 0x18,R24
001E .dbline 21
001E ; }
001E L5:
001E .dbline 22
001E ; if ((PINA & (1 << PA1)) == 0) {
001E C999 sbic 0x19,1
0020 02C0 rjmp L7
0022 .dbline 22
0022 .dbline 23
0022 ; PORTB = ~(1 << PB1);
0022 8DEF ldi R24,253
0024 88BB out 0x18,R24
0026 .dbline 24
0026 ; }
0026 L7:
0026 .dbline 25
0026 ; if ((PINA & (1 << PA2)) == 0) {
0026 CA99 sbic 0x19,2
0028 02C0 rjmp L9
002A .dbline 25
002A .dbline 26
002A ; PORTB = ~(1 << PB2);
002A 8BEF ldi R24,251
002C 88BB out 0x18,R24
002E .dbline 27
002E ; }
002E L9:
002E .dbline 28
002E ; if ((PINA & (1 << PA3)) == 0) {
002E CB99 sbic 0x19,3
0030 02C0 rjmp L11
0032 .dbline 28
0032 .dbline 29
0032 ; PORTB = ~(1 << PB3);
0032 87EF ldi R24,247
0034 88BB out 0x18,R24
0036 .dbline 30
0036 ; }
0036 L11:
0036 .dbline 31
0036 ; if ((PINA & (1 << PA4)) == 0) {
0036 CC99 sbic 0x19,4
0038 02C0 rjmp L13
003A .dbline 31
003A .dbline 32
003A ; PORTB = ~(1 << PB4);
003A 8FEE ldi R24,239
003C 88BB out 0x18,R24
003E .dbline 33
003E ; }
003E L13:
003E .dbline 34
003E ; if ((PINA & (1 << PA5)) == 0) {
003E CD99 sbic 0x19,5
0040 02C0 rjmp L15
0042 .dbline 34
0042 .dbline 35
0042 ; PORTB = ~(1 << PB5);
0042 8FED ldi R24,223
0044 88BB out 0x18,R24
0046 .dbline 36
0046 ; }
0046 L15:
0046 .dbline 37
0046 ; if ((PINA & (1 << PA6)) == 0) {
0046 CE99 sbic 0x19,6
0048 02C0 rjmp L17
004A .dbline 37
004A .dbline 38
004A ; PORTB = ~(1 << PB6);
004A 8FEB ldi R24,191
004C 88BB out 0x18,R24
004E .dbline 39
004E ; }
004E L17:
004E .dbline 40
004E ; if ((PINA & (1 << PA7)) == 0) {
004E CF99 sbic 0x19,7
0050 03C0 rjmp L19
0052 .dbline 40
0052 .dbline 41
0052 ; PORTB = ~(1 << PB7);
0052 8FE7 ldi R24,-129
0054 9FEF ldi R25,-1
0056 88BB out 0x18,R24
0058 .dbline 42
0058 ; }
0058 L19:
0058 .dbline 43
0058 L3:
0058 .dbline 18
0058 DECF xjmp L2
005A X0:
005A .dbline -2
005A L1:
005A .dbline 0 ; func end
005A 0895 ret
005C .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -