📄 02-8a-1.lst
字号:
__start:
__text_start:
001A EFCF LDI R28,0xFF
001B E0D2 LDI R29,2
001C BFCD OUT 0x3D,R28
001D BFDE OUT 0x3E,R29
001E 51C0 SUBI R28,0x10
001F 40D0 SBCI R29,0
0020 EA0A LDI R16,0xAA
0021 8308 STD Y+0,R16
0022 2400 CLR R0
0023 E0E0 LDI R30,0
0024 E0F1 LDI R31,1
0025 E011 LDI R17,1
0026 30E0 CPI R30,0
0027 07F1 CPC R31,R17
0028 F011 BEQ 0x002B
0029 9201 ST R0,Z+
002A CFFB RJMP 0x0026
002B 8300 STD Z+0,R16
002C E3E4 LDI R30,0x34
002D E0F0 LDI R31,0
002E E0A0 LDI R26,0
002F E0B1 LDI R27,1
0030 E010 LDI R17,0
0031 33E4 CPI R30,0x34
0032 07F1 CPC R31,R17
0033 F021 BEQ 0x0038
0034 95C8 LPM
0035 9631 ADIW R30,1
0036 920D ST R0,X+
0037 CFF9 RJMP 0x0031
0038 D009 RCALL _main
_exit:
0039 CFFF RJMP _exit
FILE: D:\xij\demo\demo_diy02-8a\1\C语言\02-8a-1\1.c
(0001) #include "iom48v.h"
(0002)
(0003) void port_init()
(0004) {
(0005) PORTC = 0XFF;DDRC = 0XFE;//设置pc0输入
_port_init:
003A EF8F LDI R24,0xFF
003B B988 OUT 0x08,R24
003C EF8E LDI R24,0xFE
003D B987 OUT 0x07,R24
(0006) PORTB=0XFF;DDRB=0XFF;//设置PB输出
003E EF8F LDI R24,0xFF
003F B985 OUT 0x05,R24
0040 B984 OUT 0x04,R24
0041 9508 RET
(0007) }
(0008)
(0009) void main()
(0010) {
(0011) unsigned char i;
(0012) port_init(); //端口初始化
_main:
i --> R20
0042 DFF7 RCALL _port_init
0043 C008 RJMP 0x004C
(0013) while(1){
(0014) i=PINC&0x01; //读出PC0口状态
0044 B146 IN R20,0x06
0045 7041 ANDI R20,1
(0015) if(i==0)
0046 F419 BNE 0x004A
(0016) PORTB=0xfE;
0047 EF8E LDI R24,0xFE
0048 B985 OUT 0x05,R24
0049 C002 RJMP 0x004C
(0017) else
(0018) PORTB=0XFF;
FILE: <library>
004A EF8F LDI R24,0xFF
004B B985 OUT 0x05,R24
004C CFF7 RJMP 0x0044
004D 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -