Поначалу были проблемы с отладкой по C коду, но как то сами собой ушли.
И зачем вы запускаете asx8051 руками ? SDCC его автоматически вызывает.
Вот что делает silabs
Invoking project defined compiler.
d:\Program Files\SDCC\BIN\SDCC.EXE -c --debug --use-stdout -V --std-sdcc99 -I"C:\projects\cross\x51\f320hid\USB_INT_to_HID_2_0\Optimized\Firmware" "C:\projects\cross\x51\f320hid\USB_INT_to_HID_2_0\Optimized\Firmware\USB_Descriptor.c"
SDCC автоматически вызывает компилятор и ассемблер
+ d:\PROGRA~1\SDCC\BIN\sdcpp.exe -nostdinc -Wall -I"C:\projects\cross\x51\f320hid\USB_INT_to_HID_2_0\Optimized\Firmware" -obj-ext=.rel -DSDCC_MODEL_SMALL -DSDCC_FLOAT_REENT -DSDCC=290 -DSDCC_REVISION=5416 -DSDCC_mcs51 -D__mcs51 -isystem "d:\Program Files\SDCC\BIN\..\include\mcs51" -isystem "d:\Program Files\SDCC\BIN\..\include" "C:\projects\cross\x51\f320hid\USB_INT_to_HID_2_0\Optimized\Firmware\USB_Descriptor.c"
+ d:\PROGRA~1\SDCC\BIN\asx8051.exe -plosgffc "USB_Descriptor.asm"
после этого получаются adb, asm, lst, rel, sym файлы. rel линкуются и получается hex. Как генерируется отладочная инфа и откуда ее берет ide я не разобрался.