This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Manipulating Standard Libraries (C51S.LIB)

So I want to replace a standard function in the C51S library. Shouldn't be too hard, right?

I rewrote the function (?C?LMUL to be specific) in assembly and compiled it using the A51 assembler. (processes it without complaint) The code looks like this:

; Segment Definition
?C?LMUL	SEGMENT	CODE

; Module Start
RSEG	?C?LMUL
MOV	...
...
END

I fire up the LIB51 from the command line...
LIB51 DELETE C51S.LIB (?C?LMUL)
A check using LIB51 LIST confirms that I squashed the old ?C?LMUL. Now to put mine back in.
LIB51 ADD NEW_LMUL.OBJ (?C?LMUL) TO C51S.LIB
>> ERR 223 CANNOT FIND MODULE
So I tried to add the whole thing...
LIB51 ADD NEW_LMUL.OBJ TO C51S.LIB
LIB51 LIST C51S.LIB
This listing show that "NEW_LMUL" is in there, but ?C?IMUL is not...

Can anyone help me on this one? Thanks.

Parents
  • Thanks to all of you for your help and suggestions - I now have it working seamlessly. (The linking process at least - I'll have to finish debuging my new LMUL code tomorrow.)

    For posterity (as well as the purpose of science) I figured it best if I posted back the solution to the problem.

    The source code eneded up looking like this...

    ; Going Public
    PUBLIC ?C?LMUL
    
    ; Segment Definition
    ?PR?LMUL	SEGMENT	CODE
    
    ; Module Start
    RSEG	?PR?LMUL
    ?C?LMUL:
    MOV	...
    ...
    END
    
    As you can see, I had to throw a label in there at the top of the routine and declare THAT as public at the start of the file.

    This ASM file was added to my source group and uV2 substitutes it for the STDF without complaint. What a great tool.

    Like I said, this links perfectly - I checked the machine code. As for why my new rounine not working, I don't think that problem is associated with the topic of this thread, but if in the end it is - I will be back to correct myself for anyone else reading for sure.

    Thanks again for everyone's input.

Reply
  • Thanks to all of you for your help and suggestions - I now have it working seamlessly. (The linking process at least - I'll have to finish debuging my new LMUL code tomorrow.)

    For posterity (as well as the purpose of science) I figured it best if I posted back the solution to the problem.

    The source code eneded up looking like this...

    ; Going Public
    PUBLIC ?C?LMUL
    
    ; Segment Definition
    ?PR?LMUL	SEGMENT	CODE
    
    ; Module Start
    RSEG	?PR?LMUL
    ?C?LMUL:
    MOV	...
    ...
    END
    
    As you can see, I had to throw a label in there at the top of the routine and declare THAT as public at the start of the file.

    This ASM file was added to my source group and uV2 substitutes it for the STDF without complaint. What a great tool.

    Like I said, this links perfectly - I checked the machine code. As for why my new rounine not working, I don't think that problem is associated with the topic of this thread, but if in the end it is - I will be back to correct myself for anyone else reading for sure.

    Thanks again for everyone's input.

Children
No data