| | Re: H8/300 Assembler/C interface
|
|
(...) Not my GCC: 00000016 <_main>: 16: 6d f6 mov.w r6,@-e7 <-- save frame pointer 18: 0d 76 mov.w r7,r6 <-- new frame pointer 1a: 6b 00 00 00 mov.w @0x0:16,r0 <-- r0r1 is 1st long param 1e: 6b 01 00 00 mov.w @0x0:16,r1 22: 6b 02 00 00 mov.w (...) (23 years ago, 21-Apr-01, to lugnet.robotics.rcx)
|
|
| | raw touch sensor values
|
|
Hello, Can you access the raw touch sensor values in legOS? I know you can do it in NQC but I haven't figured it out in legOS. Thanks in advance, Nate Ridderman (23 years ago, 21-Apr-01, to lugnet.robotics.rcx.legos)
|
|
| | RE: H8/300 Assembler/C interface
|
|
(...) Geez Kekoa, get some sleep. The GCC makes the callee clean up the stack. My pbForth ROM interface routines assume that the caller cleans up the stack, just like your RCX library which must have been confusing for you :-) I'll post all this in (...) (23 years ago, 21-Apr-01, to lugnet.robotics.rcx)
|
|
| | Re: H8/300 Assembler/C interface
|
|
(...) A brief review of the ROM disassembly seems to indicate the routines in ROM save r0-r5 if necessary. For example, the routine at 070c saves all registers. Like you said, parameters are passed in r6 with extra parameters on the stack. The (...) (23 years ago, 20-Apr-01, to lugnet.robotics.rcx)
|
|
| | RE: H8/300 Assembler/C interface
|
|
One more question for Kekoa before I'm done... The RCX ROM routines take a parameter in r6, with additional params on the stack. Return value is in r6 too. Are all other registers considered volatile through the call, or do the ROM routines save (...) (23 years ago, 20-Apr-01, to lugnet.robotics.rcx)
|