keil - C51 C compiler inline assembly to SDCC inline assembly -


i'm not assembly project have modify few lines of assembly code c51 c compiler sdcc.

this code c51

setb    t1run setb    t0run  setb    idle jnb     t0full, $ 

which, compiled sdcc produces

?aslink-warning-undefined global 'idle' referenced module 'com_func'  ?aslink-warning-undefined global '$' referenced module 'com_func'  ?aslink-warning-undefined global 't0run' referenced module 'com_func'  ?aslink-warning-undefined global 't1run' referenced module 'com_func'  ?aslink-warning-byte pcr relocation error symbol  $          file              module            area              offset   refby  ./com_func.rel    com_func          cseg                     004a   defin  ./com_func.rel    com_func          cabs                     0000 

as compiler errors/warnings.

  • i know $-symbol replaced actual address of instruction assembler - sdcc equivalent?
  • how can resolve warnings t0run etc.?

i think replace $ label defined on same line.

00001$:    jnb     t0full, 00001$ 

note according sdcc compiler user guide:

all labels defined within inline assembler code have of form nnnnn$ nnnnn number less 100 (which implies limit of utmost 100 inline assembler labels per function).

as other compiler warnings, symbols assumedly haven't been defined anywhere. how defined in original c51 code?


Comments

Popular posts from this blog

javascript - DIV "hiding" when changing dropdown value -

Does Firefox offer AppleScript support to get URL of windows? -

android - How to install packaged app on Firefox for mobile? -