What's the frequency of the letter "b" in:
Here are some notes on my thoughts so far about 32-bit RISC OS.
with no in between state.
bit mode, an added complication.
currently, and the same restrictions on 32-bit code will apply as now.
be 26-bit. Anything running on an ARM 9/10 etc will have to be 32-bit.
Shared C Library will be required to support 32-bit programs on old systems.
that uses MSR which will work on ARM6 onwards.
it can be the same 32-bit binary - it will just run in a 26-bit mode.
version of the documented processor mode.
notably SWI handling.
for SWIs in C or BASIC, for example.
{}^ to LDM {} is sufficient to achieve 32-bit compatibility.
preserve flags, you will probably be forced to use MRS and MSR instructions.
keep ARM2 compatibility.
disable interrupts around SPSR manipulations.
Unchanged. Flag preservation not required - only V on exit is looked at.
Unchanged. Flags on exit ignored.
to text case.
clear). Thus you can simply read, modify and preserve the caller's flags.
NZC and V flags you exit with will be returned to the caller.
running on a 26 or 32 bit system.
achieves this, assuming you always want NZ preserved on a 26-bit system.
R14, would impose a permanent carbuncle on the 32-bit API.
Non 32-bit compatible modules will not be loaded by a 32-bit RISC OS.
If no flags word is present, the module is assumed to be 26-bit compatible.
32 bit system: Now called in UND32 mode. No preveneer.
32 bit system: Now called in ABT32 mode. No preveneer.
32 bit system: USR32 mode. PC contains no PSR flags.
26 bit: as before - PC contains PSR flags, but may not be reliable.
32 bit system: register block must be 17 words long.
Handlers can check format by looking at mode on entry to handler.
26 bit system: called in SVC26 mode.
as the caller's (except V clear).
32 bit system: block must be 17 words long.
passed in in R14, and the claimant's flags on exit would be passed back.
not visible. Again, exit flags are passed back.
exit flags have never had significance, for example KeyV, EventV and TickerV.
C and V flags only.
to any mode/address.
still save R14+SPSR separately to simplify the state of assembly switches.
26-bit R14s when about to call environment handlers.
Such code will not need altering between 26 and 32-bit versions.
With abort handlers now being called in Abort mode, an Abort stack is required.
unmapped, to cause an abort.
may not be in the lower 64MB in future.
If called in a 26-bit mode, takes you into SVC26, else into SVC32.
= " copies the given area of memory to the named file."
= " <filename> <start addr>"
; faultcode flag from fiq_regs.
; 04 Apr 00 KJB 2.30 Converted to run in 32-bit mode always.
DontShowProgressColours	SETL	{TRUE} :LAND: STB	; Do not show the progress colour screens.
; executed by host thro' vector table.
; where mmmm is memory size in hex Kbytes, pp is page size in hex Kbytes.
user
The passage contains 79 "b"s.
assistant