gpio part back to ASM