Re: [Tack-devel] back-end tables, assemblers, and front-ends
Moved to https://github.com/davidgiven/ack
Brought to you by:
dtrg
From: Gregory T. (t. K. <gt...@di...> - 2006-07-20 23:57:24
|
I had a chance to review the em assembly code stuff. Sort of like Forth,= possibly easier to read, keeping track of stack contents always makes my= head hurt. I always had Open Firmware to show the stack contents after= each step. Like I said, I'm slow on the uptake. Partially optimised em assembler: ---snip--- use word size 4 bytes and pointer size 4 bytes mes 2,4,4 function name: exp $count function name, eight bytes of local variables: pro $count,8 two 4 byte variables directly referenced, looks like parameters: mes 3,4,4,0,1 mes 3,0,4,0,1 two 4 byte local variables: mes 3,-8,4,0,5 mes 3,-4,4,0,4 and something that isn't correctly formed, it appears: mes 3 (missing non-optional parameters? end of variables information?) eight bytes of parameters are accessed: mes 9,8 <snip> Conceptually the rest isn't that different from Forth, so I can work on the= particulars offline. Seems to me the em code indicates two parameters, two= local variables, almost certainly gets the general loop correct, and= returns the total. I don't see any problems with this portion of the code = generation. tim Gregory T. (tim) Kelly Owner Dialectronics.com P.O. Box 606 Newberry, SC 29108 "Anything war can do, peace can do better." -- Bishop Desmond Tutu |