I still have a project that's still using sdcc, although it's an older
rev (2.6) and I haven't been following possible syntax shifts in later
releases. That said, it looks like you need
_asm
<stuff>
_endasm;
as in this example from the 2.6 manual:
void to_buffer( unsigned char c )
{
c; // to avoid warning: unreferenced function argument
_asm
; save used registers here.
; If we were still using r2,r3 we would have to push them here.
; if( head != (unsigned char)(tail-1) )
mov a,_tail
dec a
xrl a,_head
; we could do an ANL a,#0x0f here to use a smaller buffer (see below)
jz t_b_end$
;
; buf[ head++ ] = c;
mov a,dpl ; dpl holds lower byte of function argument
mov dpl,_head ; buf is 0x100 byte aligned so head can be used directly
mov dph,#(_buf> >8)
movx @dptr,a
inc _head
; we could do an ANL _head,#0x0f here to use a smaller buffer (see
above)
t_b_end$:
; restore used registers here
_endasm;
}
--
Rich Webb Norfolk, VA