TIP: Click on subject to list as thread! ANSI
echo: rberrypi
to: RICHARD KETTLEWELL
from: THE NATURAL PHILOSOPHER
date: 2018-03-09 09:30:00
subject: Re: Compile Assembly and

On 09/03/18 09:17, Richard Kettlewell wrote:
> The Natural Philosopher  writes:
>> On 08/03/18 17:33, mm0fmf wrote:
>>> On 08/03/2018 15:27, Martin Gregorie wrote:
>>>> On Thu, 08 Mar 2018 13:34:57 +0000, The Natural Philosopher wrote:
>>>>> I would at least put in a bit more
>>>>>
>>>>> int myfunction(int bufflth, char* buff)
>>>>>       {
>>>>>          return (int)buff[bufflth-1];
>>>>>       }
>>>>>
>>>>> So you know where on the stack buff and bufflth are...
>>>>
>>>> Why would you want to know that? All the assembler operations using the
>>>> arguments will be inside myfunction() and, unless the code is calculating
>>>> a result to be returned and used elsewhere, the returned value is
>>>> probably to report success or failure.
>>>>
>>>
>>> If it returns success or failure, why return 1 of 4 billion possible
>>> values?
>>
>> Another personm who has never coded assmebler for C..
>>
>> It not what you are rurining, its how to access (bufflth, char* buff)
>> which are LOCAL stack based variables.
>
> The first few args are passed in registers on many modern systems. See
> e.g.
http://infocenter.arm.com/help/topic/com.arm.doc.ihi0042f/IHI0042F_aapcs.pdf
> for instance.
>

Even so, the method still reveals WHICH registers

But it is not a feature of the ARM per se, merely a convention.

I assume gcc follows it, but there is no gurantee






--
"If you don’t read the news paper, you are un-informed. If you read the
news paper, you are mis-informed."

Mark Twain

--- SoupGate-Win32 v1.05
* Origin: Agency HUB, Dunedin - New Zealand | FidoUsenet Gateway (3:770/3)

SOURCE: echomail via QWK@docsplace.org

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.