TIP: Click on subject to list as thread! ANSI
echo: rberrypi
to: THE NATURAL PHILOSOPHER
from: TAUNO VOIPIO
date: 2018-03-09 15:56:00
subject: Re: Compile Assembly and

On 9.3.18 11:30, The Natural Philosopher wrote:
> 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

GCC follows the ARM EABI specification:

  - stack on 8 byte boundaries,
  - arguments in r0 - r3
  - return value in r0

I still suspect that the OP does not have a clue of the assembly
code he's attempting to link in.

--

-TV

--- 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™.