Post Reply 
Observation about the HP-15C roll up and roll down microcode
02-22-2024, 08:21 AM
Post: #2
RE: Observation about the HP-15C roll up and roll down microcode
(02-21-2024 09:35 AM)brouhaha Wrote:  In the course of getting the HP-15C working in the in-development Nonpareil II, I encountered a problem with the 15C roll down and roll up functions accessing non-existent data memory.
...
So of course to do that, they add an offset of -1 to the address of R02. If the complex stack is not allocated, this will access the last register of the SOLVE/INTEGRATE BUFFER, but if _that_ also isn't allocated, then it reads from address 0xbf, which is nonexistent. (Lower addresses with expanded-memory 15C firmware.)

This vaguely reminds me something...
Let me think. Humm ... (some research) ... Oh yes, here:
thread-233230-post-233452 in the archives of the old forum.

[ How can it be that I remember such obscure detail one decade later, when I can't always remember what I eat for lunch last Sunday. And how can I find it so easily - A mystery. ]

Thanks for the analysis ! So worst case is the SM DM15/M1B version: the existing location 1A is actually read ! From your analysis it seems it doesn't harm.


Quote:On the Saturn, they have a similar mechanism, but they specifically defined the opcode 00 (two consecutive zero nibbles) as the RTNSXM instruction, which always executes a return, but also sets the processor's nonexistent memory flag in the hardware status register. That way they don't have to special-case a NOP instruction. In fact, the only NOP instructions on the Saturn are actually GOTO instructions; there is no explicit NOP.

The RTNSXM was indeed designed as a way to flag calls to non-existing locations.
However, the software engineers later used the XM flag for many other purposes, such as indicating an exception in the math code by returning with RTNSXM instead of RTN.

J-F
Visit this user's website Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: Observation about the HP-15C roll up and roll down microcode - J-F Garnier - 02-22-2024 08:21 AM



User(s) browsing this thread: 1 Guest(s)