du müsstest den übergabewert in eine extra variable in der funktion schrieben und die variable dann im asm-teil deiner funktion benutzen.
schreibe es in c und zwar folgendermasse:
void testAssembler(UINT8 *writeBlock)
{
asm(" BTFSC r0 , 0x01 ");
asm(" BCF 0x0F80 , 0x01"); /* Port A bit 1 auf 1 */
asm(" BSF 0x0F80 , 0x01"); /* Port A bit 1 auf 0 */
}
ich erhalte mit *writeBlock ja die speicheradresse von meiner variable.
Und nun müsste ich es irgendwie machen das ich diese addresse irgendwie in den assemblercode einfügen kann. kurzgesagt wo jetzt r0 steht müsste die speicheraddresse von *writeBlock stehen... aber wie???
Merci
Lesezeichen