Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
00000071 IN R24,0x01 In from I/O location
00000072 CPI R24,0x28 Compare with immediate
00000073 BRNE PC+0x02 Branch if not equal
00000074 RJMP PC+0x0045 Relative jump
00000075 BRCC PC+0x10 Branch if carry cleared
00000076 CPI R24,0x10 Compare with immediate
00000077 BREQ PC+0x26 Branch if equal
00000078 BRCC PC+0x07 Branch if carry cleared
00000079 TST R24 Test for Zero or Minus
0000007A BREQ PC+0x20 Branch if equal
0000007B CPI R24,0x08 Compare with immediate
0000007C BREQ PC+0x02 Branch if equal
0000007D RJMP PC+0x0090 Relative jump
0000007E RJMP PC+0x001F Relative jump
0000007F CPI R24,0x18 Compare with immediate
00000080 BREQ PC+0x39 Branch if equal
00000081 CPI R24,0x20 Compare with immediate
00000082 BREQ PC+0x02 Branch if equal
00000083 RJMP PC+0x008A Relative jump
00000084 RJMP PC+0x0054 Relative jump
00000085 CPI R24,0x40 Compare with immediate
00000086 BRNE PC+0x02 Branch if not equal
00000087 RJMP PC+0x005A Relative jump
00000088 BRCC PC+0x08 Branch if carry cleared
00000089 CPI R24,0x30 Compare with immediate
0000008A BRNE PC+0x02 Branch if not equal
0000008B RJMP PC+0x0050 Relative jump
0000008C CPI R24,0x38 Compare with immediate
0000008D BREQ PC+0x02 Branch if equal
0000008E RJMP PC+0x007F Relative jump
0000008F RJMP PC+0x004F Relative jump
00000090 CPI R24,0x50 Compare with immediate
00000091 BRNE PC+0x02 Branch if not equal
00000092 RJMP PC+0x005C Relative jump
00000093 CPI R24,0x58 Compare with immediate
00000094 BRNE PC+0x02 Branch if not equal
00000095 RJMP PC+0x0070 Relative jump
00000096 CPI R24,0x48 Compare with immediate
00000097 BREQ PC+0x02 Branch if equal
00000098 RJMP PC+0x0075 Relative jump
00000099 RJMP PC+0x0052 Relative jump
0000008C IN R30,0x01 In from I/O location
0000008D LSR R30 Logical shift right
0000008E LSR R30 Logical shift right
0000008F LSR R30 Logical shift right
00000090 LDI R31,0x00 Load immediate
00000091 LSL R30 Logical Shift Left
00000092 ROL R31 Rotate Left Through Carry
00000093 SUBI R30,0xAC Subtract immediate
00000094 SBCI R31,0xFF Subtract immediate with carry
00000095 LPM R24,Z+ Load program memory and postincrement
00000096 LPM R25,Z Load program memory
00000097 PUSH R24 Push register on stack
00000098 PUSH R25 Push register on stack
00000099 RET Subroutine return
PT_THREAD(GetAllRegisters(struct pt *pt))
{
PT_BEGIN(pt);
PT_WAIT_UNTIL(pt,BusReady);
GetData(Reg1);
PT_WAIT_UNTIL(pt,BusReady);
GetData(Reg2);
PT_WAIT_UNTIL(pt,BusReady);
GetData(Reg3);
PT_END(pt);
}
Реализация мьютекса вне ОС на примере микроконтроллера AVR и шины TWI