Бит-банг через адреса пинов, прописанные в таблице:
168 for (uint8_t i = 0; i < sizeof(Pca9555emul_Io)/sizeof(Pca9555emul_Io[0]); i++, mask<<=1)
\ 00000078 0x2100 MOVS R1,#+0
169 {
170 if (regs.output & mask)
\ ??Cmd_12:
\ 0000007A 0xEB08 0x02C1 ADD R2,R8,R1, LSL #+3
\ 0000007E 0x4238 TST R0,R7
\ 00000080 0xBF14 ITE NE
\ 00000082 0x2301 MOVNE R3,#+1
\ 00000084 0xF44F 0x3380 MOVEQ R3,#+65536
171 {
172 PinSet(&Pca9555emul_Io[i]);
173 }
174 else // ыюу. 0
175 {
176 PinClr(&Pca9555emul_Io[i]);
\ 00000088 0x6856 LDR R6,[R2, #+4]
\ 0000008A 0x40B3 LSLS R3,R3,R6
\ 0000008C 0x6812 LDR R2,[R2, #+0]
\ 0000008E 0x6113 STR R3,[R2, #+16]
177 }
178 }
\ 00000090 0x1C49 ADDS R1,R1,#+1
\ 00000092 0x007F LSLS R7,R7,#+1
\ 00000094 0x2910 CMP R1,#+16
\ 00000096 0xD3F0 BCC.N ??Cmd_12