📄 3.lis
字号:
.module _3.c
.area text(rom, con, rel)
0000 .dbfile D:\xij\demo\diy02-8\02-8A-3\3.c
0000 .dbfunc e port_init _port_init fV
.even
0000 _port_init::
0000 .dbline -1
0000 .dbline 4
0000 ; #include "iom48v.h"
0000 ;
0000 ; void port_init()
0000 ; {
0000 .dbline 5
0000 ; PORTB=0XFF;DDRB=0XFF;//设置PB口输出
0000 8FEF ldi R24,255
0002 85B9 out 0x5,R24
0004 .dbline 5
0004 84B9 out 0x4,R24
0006 .dbline 6
0006 ; PORTD=0XFF;DDRD=0X00;//设置pd口输入
0006 8BB9 out 0xb,R24
0008 .dbline 6
0008 2224 clr R2
000A 2AB8 out 0xa,R2
000C .dbline -2
000C L1:
000C .dbline 0 ; func end
000C 0895 ret
000E .dbend
000E .dbfunc e main _main fV
000E ; i -> R20
.even
000E _main::
000E .dbline -1
000E .dbline 10
000E ; }
000E ;
000E ; void main()
000E ; {
000E .dbline 12
000E ; unsigned char i;
000E ; port_init(); //端口初始化
000E F8DF rcall _port_init
0010 08C0 rjmp L4
0012 L3:
0012 .dbline 13
0012 ; while(1){
0012 .dbline 14
0012 ; i=PIND&0x04; //读出PD2口状态
0012 49B1 in R20,0x9
0014 4470 andi R20,4
0016 .dbline 15
0016 ; if(i==0)
0016 19F4 brne L6
0018 .dbline 16
0018 ; PORTB=0xf8;
0018 88EF ldi R24,248
001A 85B9 out 0x5,R24
001C 02C0 rjmp L7
001E L6:
001E .dbline 18
001E ; else
001E ; PORTB=0XFF;
001E 8FEF ldi R24,255
0020 85B9 out 0x5,R24
0022 L7:
0022 .dbline 19
0022 L4:
0022 .dbline 13
0022 F7CF rjmp L3
0024 X0:
0024 .dbline -2
0024 L2:
0024 .dbline 0 ; func end
0024 0895 ret
0026 .dbsym r i 20 c
0026 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -