📄 main.lss
字号:
a54: 68 2f mov r22, r24
a56: 84 e0 ldi r24, 0x04 ; 4
a58: 0e 94 b2 03 call 0x764
a5c: 10 92 ca 02 sts 0x02CA, r1
a60: 8f e6 ldi r24, 0x6F ; 111
a62: 80 93 cb 02 sts 0x02CB, r24
a66: 85 e5 ldi r24, 0x55 ; 85
a68: 80 93 cc 02 sts 0x02CC, r24
a6c: 0e 94 3c 04 call 0x878
a70: 11 e0 ldi r17, 0x01 ; 1
a72: 10 93 ce 02 sts 0x02CE, r17
a76: 61 2f mov r22, r17
a78: 83 e1 ldi r24, 0x13 ; 19
a7a: 0e 94 b2 03 call 0x764
a7e: 10 93 d9 02 sts 0x02D9, r17
a82: 60 e2 ldi r22, 0x20 ; 32
a84: 72 ea ldi r23, 0xA2 ; 162
a86: 83 ed ldi r24, 0xD3 ; 211
a88: 99 e1 ldi r25, 0x19 ; 25
a8a: 0e 94 fb 04 call 0x9f6
a8e: 81 e0 ldi r24, 0x01 ; 1
a90: 90 e0 ldi r25, 0x00 ; 0
a92: 1f 91 pop r17
a94: 08 95 ret
00000a96 <OSH_SET_GREEN_LED_PIN>:
};
void OSH_SET_GREEN_LED_PIN(void)
{
* (volatile unsigned char *)(0x1B + 0x20) |= 1 << 1;
a96: d9 9a sbi 0x1b, 1 ; 27
a98: 08 95 ret
00000a9a <OSH_SET_YELLOW_LED_PIN>:
}
void OSH_SET_YELLOW_LED_PIN(void)
{
* (volatile unsigned char *)(0x1B + 0x20) |= 1 << 0;
a9a: d8 9a sbi 0x1b, 0 ; 27
a9c: 08 95 ret
00000a9e <OSH_SET_RED_LED_PIN>:
}
void OSH_SET_RED_LED_PIN(void)
{
* (volatile unsigned char *)(0x1B + 0x20) |= 1 << 2;
a9e: da 9a sbi 0x1b, 2 ; 27
aa0: 08 95 ret
00000aa2 <OSH_SET_FLASH_SELECT_PIN>:
}
void OSH_SET_FLASH_SELECT_PIN(void)
{
* (volatile unsigned char *)(0x1B + 0x20) |= 1 << 3;
aa2: db 9a sbi 0x1b, 3 ; 27
aa4: 08 95 ret
00000aa6 <OSH_MAKE_FLASH_CLK_OUTPUT>:
}
void OSH_MAKE_FLASH_CLK_OUTPUT(void)
{
* (volatile unsigned char *)(0x11 + 0x20) |= 1 << 5;
aa6: 8d 9a sbi 0x11, 5 ; 17
aa8: 08 95 ret
00000aaa <OSH_MAKE_FLASH_OUT_OUTPUT>:
}
void OSH_MAKE_FLASH_OUT_OUTPUT(void)
{
* (volatile unsigned char *)(0x11 + 0x20) |= 1 << 3;
aaa: 8b 9a sbi 0x11, 3 ; 17
aac: 08 95 ret
00000aae <OSH_MAKE_FLASH_SELECT_OUTPUT>:
}
void OSH_MAKE_FLASH_SELECT_OUTPUT(void)
{
* (volatile unsigned char *)(0x1A + 0x20) |= 1 << 3;
aae: d3 9a sbi 0x1a, 3 ; 26
ab0: 08 95 ret
00000ab2 <OSH_CLR_SERIAL_ID_PIN>:
}
void OSH_CLR_SERIAL_ID_PIN(void)
{
* (volatile unsigned char *)(0x1B + 0x20) &= ~(1 << 4);
ab2: dc 98 cbi 0x1b, 4 ; 27
ab4: 08 95 ret
00000ab6 <OSH_MAKE_SERIAL_ID_INPUT>:
}
void OSH_MAKE_SERIAL_ID_INPUT(void)
{
* (volatile unsigned char *)(0x1A + 0x20) &= ~(1 << 4);
ab6: d4 98 cbi 0x1a, 4 ; 26
ab8: 08 95 ret
00000aba <OSH_MAKE_SPI_OC1C_INPUT>:
}
void OSH_MAKE_SPI_OC1C_INPUT(void)
{
* (volatile unsigned char *)(0x17 + 0x20) &= ~(1 << 7);
aba: bf 98 cbi 0x17, 7 ; 23
abc: 08 95 ret
00000abe <OSH_MAKE_MISO_INPUT>:
}
void OSH_MAKE_MISO_INPUT(void)
{
* (volatile unsigned char *)(0x17 + 0x20) &= ~(1 << 3);
abe: bb 98 cbi 0x17, 3 ; 23
ac0: 08 95 ret
00000ac2 <OSH_MAKE_CC_PCLK_OUTPUT>:
}
void OSH_MAKE_CC_PCLK_OUTPUT(void)
{
* (volatile unsigned char *)(0x11 + 0x20) |= 1 << 6;
ac2: 8e 9a sbi 0x11, 6 ; 17
ac4: 08 95 ret
00000ac6 <OSH_MAKE_CC_PDATA_OUTPUT>:
}
void OSH_MAKE_CC_PDATA_OUTPUT(void)
{
* (volatile unsigned char *)(0x11 + 0x20) |= 1 << 7;
ac6: 8f 9a sbi 0x11, 7 ; 17
ac8: 08 95 ret
00000aca <OSH_MAKE_CC_PALE_OUTPUT>:
}
void OSH_MAKE_CC_PALE_OUTPUT(void)
{
* (volatile unsigned char *)(0x11 + 0x20) |= 1 << 4;
aca: 8c 9a sbi 0x11, 4 ; 17
acc: 08 95 ret
00000ace <OSH_MAKE_PW0_OUTPUT>:
}
void OSH_MAKE_PW0_OUTPUT(void)
{
* (volatile unsigned char *)(0x14 + 0x20) |= 1 << 0;
ace: a0 9a sbi 0x14, 0 ; 20
ad0: 08 95 ret
00000ad2 <OSH_MAKE_PW1_OUTPUT>:
}
void OSH_MAKE_PW1_OUTPUT(void)
{
* (volatile unsigned char *)(0x14 + 0x20) |= 1 << 1;
ad2: a1 9a sbi 0x14, 1 ; 20
ad4: 08 95 ret
00000ad6 <OSH_MAKE_PW2_OUTPUT>:
}
void OSH_MAKE_PW2_OUTPUT(void)
{
* (volatile unsigned char *)(0x14 + 0x20) |= 1 << 2;
ad6: a2 9a sbi 0x14, 2 ; 20
ad8: 08 95 ret
00000ada <OSH_MAKE_PW3_OUTPUT>:
}
void OSH_MAKE_PW3_OUTPUT(void)
{
* (volatile unsigned char *)(0x14 + 0x20) |= 1 << 3;
ada: a3 9a sbi 0x14, 3 ; 20
adc: 08 95 ret
00000ade <OSH_MAKE_PW4_OUTPUT>:
}
void OSH_MAKE_PW4_OUTPUT(void)
{
* (volatile unsigned char *)(0x14 + 0x20) |= 1 << 4;
ade: a4 9a sbi 0x14, 4 ; 20
ae0: 08 95 ret
00000ae2 <OSH_MAKE_PW5_OUTPUT>:
}
void OSH_MAKE_PW5_OUTPUT(void)
{
* (volatile unsigned char *)(0x14 + 0x20) |= 1 << 5;
ae2: a5 9a sbi 0x14, 5 ; 20
ae4: 08 95 ret
00000ae6 <OSH_MAKE_PW6_OUTPUT>:
}
void OSH_MAKE_PW6_OUTPUT(void)
{
* (volatile unsigned char *)(0x14 + 0x20) |= 1 << 6;
ae6: a6 9a sbi 0x14, 6 ; 20
ae8: 08 95 ret
00000aea <OSH_MAKE_PW7_OUTPUT>:
}
void OSH_MAKE_PW7_OUTPUT(void)
{
* (volatile unsigned char *)(0x14 + 0x20) |= 1 << 7;
aea: a7 9a sbi 0x14, 7 ; 20
aec: 08 95 ret
00000aee <OSH_MAKE_CC_CHP_OUT_INPUT>:
}
void OSH_MAKE_CC_CHP_OUT_INPUT(void)
{
* (volatile unsigned char *)(0x1A + 0x20) &= ~(1 << 6);
aee: d6 98 cbi 0x1a, 6 ; 26
af0: 08 95 ret
00000af2 <OSH_MAKE_GREEN_LED_OUTPUT>:
}
void OSH_MAKE_GREEN_LED_OUTPUT(void)
{
* (volatile unsigned char *)(0x1A + 0x20) |= 1 << 1;
af2: d1 9a sbi 0x1a, 1 ; 26
af4: 08 95 ret
00000af6 <OSH_MAKE_YELLOW_LED_OUTPUT>:
}
void OSH_MAKE_YELLOW_LED_OUTPUT(void)
{
* (volatile unsigned char *)(0x1A + 0x20) |= 1 << 0;
af6: d0 9a sbi 0x1a, 0 ; 26
af8: 08 95 ret
00000afa <OSH_MAKE_RED_LED_OUTPUT>:
}
void OSH_MAKE_RED_LED_OUTPUT(void)
{
* (volatile unsigned char *)(0x1A + 0x20) |= 1 << 2;
afa: d2 9a sbi 0x1a, 2 ; 26
afc: 08 95 ret
00000afe <RandomInit>:
}
result_t RandomInit(void)
{
afe: 1f 93 push r17
uint8_t random = OS_LOCAL_ADDRESS;
b00: 10 91 db 02 lds r17, 0x02DB
{ uint8_t atomic = AtomicStart();
b04: 0e 94 73 07 call 0xee6
{
//RandomLFSR_shiftReg = (119 * 119 * (OS_LOCAL_ADDRESS + 1)&0xffff);
RandomLFSR_shiftReg = 119 * 119 * (random + 1);
b08: 41 2f mov r20, r17
b0a: 55 27 eor r21, r21
b0c: 21 e5 ldi r18, 0x51 ; 81
b0e: 37 e3 ldi r19, 0x37 ; 55
b10: 42 9f mul r20, r18
b12: b0 01 movw r22, r0
b14: 43 9f mul r20, r19
b16: 70 0d add r23, r0
b18: 52 9f mul r21, r18
b1a: 70 0d add r23, r0
b1c: 11 24 eor r1, r1
b1e: 9b 01 movw r18, r22
b20: 2f 5a subi r18, 0xAF ; 175
b22: 38 4c sbci r19, 0xC8 ; 200
b24: 30 93 60 01 sts 0x0160, r19
b28: 20 93 5f 01 sts 0x015F, r18
RandomLFSR_initSeed = RandomLFSR_shiftReg;
b2c: 30 93 62 01 sts 0x0162, r19
b30: 20 93 61 01 sts 0x0161, r18
//RandomLFSR_mask = 137 * 29 * (OS_LOCAL_ADDRESS + 1);
RandomLFSR_mask = 137 * 29 * (random + 1);
b34: 25 e8 ldi r18, 0x85 ; 133
b36: 3f e0 ldi r19, 0x0F ; 15
b38: 42 9f mul r20, r18
b3a: b0 01 movw r22, r0
b3c: 43 9f mul r20, r19
b3e: 70 0d add r23, r0
b40: 52 9f mul r21, r18
b42: 70 0d add r23, r0
b44: 11 24 eor r1, r1
b46: 9b 01 movw r18, r22
b48: 2b 57 subi r18, 0x7B ; 123
b4a: 30 4f sbci r19, 0xF0 ; 240
b4c: 30 93 64 01 sts 0x0164, r19
b50: 20 93 63 01 sts 0x0163, r18
}
AtomicEnd(atomic); }
b54: 0e 94 71 07 call 0xee2
return SUCCESS;
}
b58: 81 e0 ldi r24, 0x01 ; 1
b5a: 90 e0 ldi r25, 0x00 ; 0
b5c: 1f 91 pop r17
b5e: 08 95 ret
00000b60 <OSH_SET_CC_PCLK_PIN>:
void OSH_SET_CC_PCLK_PIN(void)
{
* (volatile unsigned char *)(0x12 + 0x20) |= 1 << 6;
b60: 96 9a sbi 0x12, 6 ; 18
b62: 08 95 ret
00000b64 <OSH_SET_CC_PDATA_PIN>:
}
void OSH_SET_CC_PDATA_PIN(void)
{
* (volatile unsigned char *)(0x12 + 0x20) |= 1 << 7;
b64: 97 9a sbi 0x12, 7 ; 18
b66: 08 95 ret
00000b68 <OSH_SET_CC_PALE_PIN>:
}
void OSH_SET_CC_PALE_PIN(void)
{
* (volatile unsigned char *)(0x12 + 0x20) |= 1 << 4;
b68: 94 9a sbi 0x12, 4 ; 18
b6a: 08 95 ret
00000b6c <OSH_MAKE_MOSI_INPUT>:
}
void OSH_MAKE_MOSI_INPUT(void)
{
* (volatile unsigned char *)(0x17 + 0x20) &= ~(1 << 2);
b6c: ba 98 cbi 0x17, 2 ; 23
b6e: 08 95 ret
00000b70 <OSH_MAKE_SPI_SCK_INPUT>:
}
void OSH_MAKE_SPI_SCK_INPUT(void)
{
* (volatile unsigned char *)(0x17 + 0x20) &= ~(1 << 1);
b70: b9 98 cbi 0x17, 1 ; 23
b72: 08 95 ret
00000b74 <OSH_CLR_CC_PALE_PIN>:
}
void OSH_CLR_CC_PALE_PIN(void)
{
* (volatile unsigned char *)(0x12 + 0x20) &= ~(1 << 4);
b74: 94 98 cbi 0x12, 4 ; 18
b76: 08 95 ret
00000b78 <OSH_CLR_CC_PDATA_PIN>:
}
void OSH_CLR_CC_PDATA_PIN(void)
{
* (volatile unsigned char *)(0x12 + 0x20) &= ~(1 << 7);
b78: 97 98 cbi 0x12, 7 ; 18
b7a: 08 95 ret
00000b7c <OSH_CLR_CC_PCLK_PIN>:
}
void OSH_CLR_CC_PCLK_PIN(void)
{
* (volatile unsigned char *)(0x12 + 0x20) &= ~(1 << 6);
b7c: 96 98 cbi 0x12, 6 ; 18
b7e: 08 95 ret
00000b80 <OSH_MAKE_CC_PDATA_INPUT>:
}
void OSH_MAKE_CC_PDATA_INPUT(void)
{
* (volatile unsigned char *)(0x11 + 0x20) &= ~(1 << 7);
b80: 8f 98 cbi 0x11, 7 ; 17
b82: 08 95 ret
00000b84 <OSH_READ_CC_PDATA_PIN>:
}
int OSH_READ_CC_PDATA_PIN(void)
{
return (* (volatile unsigned char *)(0x10 + 0x20) & (1 << 7)) != 0;
b84: 80
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -