Path: csiph.com!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: Matthew Phillips Newsgroups: comp.sys.acorn.programmer Subject: Re: File type of machine code? Where does it start? Date: Sat, 21 Jun 2025 08:20:28 +0100 Organization: A noiseless patient Spider Lines: 34 Message-ID: References: <5c294dfd2cbavariasound@chiemgau-net.de> <5c29d67fbebavariasound@chiemgau-net.de> <5c2f4363e6bavariasound@chiemgau-net.de> <5c2f5bb58bNews03@avisoft.f9.co.uk> <5c2ffe1635bavariasound@chiemgau-net.de> Injection-Date: Sat, 21 Jun 2025 09:18:33 +0200 (CEST) Injection-Info: dont-email.me; posting-host="55ad017d2fec1e9c94a38b8805f1da66"; logging-data="1000139"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+fmV5ft2LVw2Tbro3pdFVw0hyZAhI9yWA=" User-Agent: Messenger-Pro/9.00 (MsgServe/9.00S) (RISC-OS/5.16) NewsHound/v1.54 Cancel-Lock: sha1:bwusWfEFy4Ac2oZXv04M2Z9fLc4= X-Editor: EmailEdit 2.04 Xref: csiph.com comp.sys.acorn.programmer:6527 In message <5c2ffe1635bavariasound@chiemgau-net.de> on 20 Jun 2025 Alexander Ausserstorfer wrote: >>> An application will always be loaded and started by RISC OS on >>> address &08000. This is a bit strange because RISC OS can hold >>> different applications at the same time in the RAM. Normally, the >>> programs would be overwritten when all are loaded at the same >>> location of memory. But between the ARM and the RAM you have the >>> MEMC (this I grab from the PRMs 3 - is that still the case today?). >>> The MEMC maps the memory for the applications and moves it to >>> elsewhere, to a place where is free memory. >> Applications do always appear to start at &8000, but this is just a >> 'virtual' address. It will actually be at a physical real address, and >> the translation is done for you by RISC OS so you always deal with the >> virtual addresses. There is no longer a MEMC chip involved. > Thanks. Let do that task RISC OS means doing it by software. Isn't that > a brake for the performance? The functions of the separate MEMC are now integrated into the processor, so it is done in hardware. RISC OS manages that for you. > What about the program counter? Was there any changes to it since the > release of the PRMs for RISC OS 3? The main change is the 32-bit addressing, so the flags are no longer found in the program counter, they are in the CPSR (Current Program Status Register) instead. The MRS and MSR opcodes allow you to copy this to or from an ordinary register, but this is rarely needed. -- Matthew Phillips Durham