Subject:
|
RE: H8/300 Assembler/C interface
|
Newsgroups:
|
lugnet.robotics.rcx
|
Date:
|
Sat, 21 Apr 2001 02:13:54 GMT
|
Viewed:
|
1527 times
|
| |
| |
> 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 caller cleans up the stack as with GCC.
> There are no 32-bit parameters to worry about.
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 one place soon...
Cheers, Ralph
|
|
Message has 1 Reply: | | 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 (...) (24 years ago, 21-Apr-01, to lugnet.robotics.rcx)
|
Message is in Reply To:
| | 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 (...) (24 years ago, 20-Apr-01, to lugnet.robotics.rcx)
|
20 Messages in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
This Message and its Replies on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
|