EPROM DATA in a I960 Microcontroller system

Thread Starter

brettsrt

Joined May 9, 2019
50
That's getting closer, but what we need is usually a document by itself called: "Instruction Set Reference", so we can identify the hexadecimal value of a teturn from subroutine instruction.
Here is the section that is considered the instruction set reference, i am trying to find the return from subroutine, i searched and have not found it, check it out let me know if you think i missed it? or perhaps i need a different reference
 

Attachments

Papabravo

Joined Feb 24, 2006
22,116
Here is the section that is considered the instruction set reference, i am trying to find the return from subroutine, i searched and have not found it, check it out let me know if you think i missed it? or perhaps i need a different reference
Sorry cant open that file format
 

Papabravo

Joined Feb 24, 2006
22,116
Hello,

@Papabravo , What problems do you have with the PDF document format?
I can read it perfectly on my machine.

Bertus
I tried to read the document on my phone. I'll try it again if the message would be helpful
Sorry but that instruction set reference is completely useless because it contains no encoding for the instructions. Since the i960 uses a "Branch and Link" mechanism for subroutine and function calls ist stands to reason that the return would be executed via a branch indirect thru g14 (general register 14).
 
Last edited:

Thread Starter

brettsrt

Joined May 9, 2019
50
I tried to read the document on my phone. I'll try it again if the message would be helpful
Sorry but that instruction set reference is completely useless because it contains no encoding for the instructions. Since the i960 uses a "Branch and Link" mechanism for subroutine and function calls ist stands to reason that the return would be executed via a branch indirect thru g14 (general register 14).
Ok so your saying you were able to read this file and it won’t work because it doesn’t show the hex values for instructions?
 

Papabravo

Joined Feb 24, 2006
22,116
Ok so your saying you were able to read this file and it won’t work because it doesn’t show the hex values for instructions?
I was not able to read the file on my phone. When I had access to a desktop I was able to read it and discovered that no hex encoding information was included. This is typical for a chapter from another document.

I quote:

The information in this chapter is oriented toward programmers who are writing assembly language code for the 80960KB processor.

This is because the assembler normally provides that service. We need the document that would be used by the guy writing the 80960 Assembler.
 

Thread Starter

brettsrt

Joined May 9, 2019
50
I was not able to read the file on my phone. When I had access to a desktop I was able to read it and discovered that no hex encoding information was included. This is typical for a chapter from another document.

I quote:

The information in this chapter is oriented toward programmers who are writing assembly language code for the 80960KB processor.

This is because the assembler normally provides that service. We need the document that would be used by the guy writing the 80960 Assembler.
hi papabravo, do you think this information is out there? i am not having luck finding it, i keep finding similar stuff when searching instruction set reference 80960, thanks
 

Papabravo

Joined Feb 24, 2006
22,116
hi papabravo, do you think this information is out there? i am not having luck finding it, i keep finding similar stuff when searching instruction set reference 80960, thanks
I know it is out there because I had it once upon a time. I spent a great deal of time investigating the part only to see general interest in it evaporate like summer rain. I disposed of all my hardware and docs when I moved to Florida about 5 years ago.
 

joeyd999

Joined Jun 6, 2011
6,450
hi papabravo, do you think this information is out there? i am not having luck finding it, i keep finding similar stuff when searching instruction set reference 80960, thanks
I think you are on a fool's errand. Even if you are able to disassemble the hex code into .asm, you will still have to interpret code that was generated by a C compiler -- not a human being.

If you already have an idea of what the code is doing -- when, why, and how -- you may have a chance to understand the .asm and how all the codes fit in the application. But I give infinite odds on this.

In any case, it seems there is a commercial disassembler available for the i960. I don't know how much your time is worth, but you may consider purchasing it.

Hope this helps. Good luck.
 

Papabravo

Joined Feb 24, 2006
22,116
I think you are on a fool's errand. Even if you are able to disassemble the hex code into .asm, you will still have to interpret code that was generated by a C compiler -- not a human being.

If you already have an idea of what the code is doing -- when, why, and how -- you may have a chance to understand the .asm and how all the codes fit in the application. But I give infinite odds on this.

In any case, it seems there is a commercial disassembler available for the i960. I don't know how much your time is worth, but you may consider purchasing it.

Hope this helps. Good luck.
I largely agree with @joeyd999 on this point. This part is not a simple or straightforward part. It has complexities that were difficult to get my head around when I had all the documentation. There were several variations that had different peripherals. The memory management part would make understanding what was happening in a random piece of code extraordinarily difficult. The handling of interrupts (exceptions) was also less than straightforward so I would not undertake this process for curiosity -- I would only do it if I was getting paid. I believe that after being away from this sort of activity for 5+ years, that my skills are considerably diminished.
 

Thread Starter

brettsrt

Joined May 9, 2019
50
Appendix D&E of the following document is what I was referring to for instruction encodings.

http://datasheets.chipdb.org/Intel/80960/manuals/27071003.pdf
Ok so this is what you were asking for? what’s your thoughts on the disassembler program?
I think you are on a fool's errand. Even if you are able to disassemble the hex code into .asm, you will still have to interpret code that was generated by a C compiler -- not a human being.

If you already have an idea of what the code is doing -- when, why, and how -- you may have a chance to understand the .asm and how all the codes fit in the application. But I give infinite odds on this.

In any case, it seems there is a commercial disassembler available for the i960. I don't know how much your time is worth, but you may consider purchasing it.

Hope this helps. Good luck.
that disassembler works for 80960? i didn’t see it under the list
 

Thread Starter

brettsrt

Joined May 9, 2019
50
A disassembler would be most helpful if you have one available.
Ok so i am using the IDA dissassembler, have a few options to start i assume i should pick the default 960 (see attached pic), but a far as the ram, & rom start address and size what should i enter? Also what about the input file address, offset, and size?
processor type.jpg

ida.jpg
 

Papabravo

Joined Feb 24, 2006
22,116
You need to dump you memory devices into a file. Have you done that yet? I guess it is expecting binary files but I have no idea what format they might be in.
 
Top