Gast
#161098
Ich habe hier ein Assemblercode-Beispiel füreinen 8051, welcher die Nutzung eines Autopointers zur Übertragung eines 8-Byte Datenblocks vom Endpunkt 4 OUT Buffer in den internen 8051 Speicher. Init: mov dptr,#AUTOPTRH mov a,#HIGH(OUT4BUF) ; High portion of OUT4BUF buffer movx @dptr,a ; Load OUTOPTRH mov dptr,#AUTOPTRL mov a,#LOW(OUT4BUF) ; Low portion of OUT4BUF buffer address movx @dptr,a ; Load AUTOPTRL mov dptr,#AUTODATA ; point to the fifo register mov r0,#80H ; store data in upper 128 bytes of 8051 RAM mov r2,#8 ; loop counter ; loop: movx a,@dptr ; get a fifo byte mov @r0,a ; store it inc r0 ; bump destination pointer ; (NOTE: no inc dptr required here) djnz r2,loop ; do it eight times Meine Frage bezieht sich auf die 2. MOV-Anweisung.... Ich will diesen Code in C realisieren, jedoch ist mir unklar, wie ich die Anweisung in Zeile 2 "mov a, #HIGH(OUT4BUF)" in C realisieren kann, speziell die #HIGH Anweisung. Dasselbe gilt auch für #LOW in Zeile 5 des Code. Kann mir da jemand vielleicht einen Tipp geben, wie das mit C realisiert werden kann.? Vielen Dank im Voraus.... MFg Christian Wiemann