📄 8515portbledshift.lis
字号:
.module .8515PortbLedShift.c
.area text
0000 .dbfile E:\grc\licc\例子10.3.4\8515PortbLedShift.c
0000 .dbfunc s delay _delay fI
; i -> R16
; j -> R18
.even
0000 _delay::
0000 .dbline 4{
; #include <io8515.h>
; #define BIT(x) (1<<(x))
; void delay(void)
; {
0000 .dbline 6
; unsigned char i,j;
; for (i=1;i;i++)
0000 01E0 ldi R16,1
0002 06C0 rjmp L5
0004 L2:
0004 .dbline 7
0004 21E0 ldi R18,1
0006 01C0 rjmp L9
0008 L6:
0008 .dbline 7
0008 L7:
0008 .dbline 7
0008 2395 inc R18
000A L9:
000A .dbline 7
000A 2223 tst R18
000C E9F7 brne L6
000E L3:
000E .dbline 6
000E 0395 inc R16
0010 L5:
0010 .dbline 6
0010 0023 tst R16
0012 C1F7 brne L2
0014 .dbline 8}
; for(j=1;j;j++);
; }
0014 L1:
0014 0895 ret
0016 .dbsym r i 16 c
0016 .dbsym r j 18 c
0016 .dbfunc s led_pb _led_pb fI
; i -> R20
.even
0016 _led_pb::
0016 00D0 rcall push_gset1
0018 .dbline 10{
; void led_pb(void)
; {
0018 .dbline 12
; unsigned char i;
; DDRB=0xff;
0018 8FEF ldi R24,255
001A 87BB out 0x17,R24
001C .dbline 13
; for (i=0;i<8;i++)
001C 4427 clr R20
001E 08C0 rjmp L14
0020 L11:
0020 .dbline 14
0020 .dbline 15
0020 01E0 ldi R16,1
0022 142F mov R17,R20
0024 00D0 rcall lsl8
0026 202E mov R2,R16
0028 2094 com R2
002A 28BA out 0x18,R2
002C .dbline 16
002C E9DF rcall _delay
002E .dbline 17
002E L12:
002E .dbline 13
002E 4395 inc R20
0030 L14:
0030 .dbline 13
0030 4830 cpi R20,8
0032 B0F3 brlo L11
0034 .dbline 18}
; {
; PORTB=~BIT(i);
; delay();
; }
; }
0034 L10:
0034 00D0 rcall pop_gset1
0036 0895 ret
0038 .dbsym r i 20 c
0038 .dbfunc s main _main fI
.even
0038 _main::
0038 .dbline 20{
; void main (void)
; {
0038 01C0 rjmp L17
003A L16:
003A .dbline 22
003A EDDF rcall _led_pb
003C L17:
003C .dbline 21
; while (1)
003C FECF rjmp L16
003E X0:
003E .dbline 23}
; led_pb();
; }
003E L15:
003E 0895 ret
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -