Please paste small asm-listing of:

Roger, you have two very religious people here laughing. It's very excellently written. Is that original? (I had to explain some of the technical terms to my wife, but she liked the piece, too.)

Thanks.

--
Robert Riches 
spamtrap42@jacob21819.net 
(Yes, that is one of my email addresses.)
Reply to
Robert Riches
Loading thread data ...

Yes. Original and off-the-cuff.

--
roger ivie 
rivie@ridgenet.net
Reply to
Roger Ivie

No. They don't.

The Cambridge Uni code examples are loaded from the SD card into ARM RAM by the GPU code (something like a PC's "BIOS"). Then the ARM is started and the code runs. The code is effectively the "OS".

You can include debug statements in your code - from simple things like a blinking LED sequence, to driving a small LCD character display, to dumping messages on the screen (once you have written code to initialise it and display text - not too hard).

If you want to read/write to the SD card you will need to write a driver for it. The SD card protocol (can't imagine how you thought you could you'd not need that) is available on line and the interface locations are given in a PDF that has been released by the Foundation.

Reply to
Dom

Roger Ivie wrote

And let there be light. Thanks for the above. I have copied it to form the opening paragraph of pi notes.

John

Foot it featly here and there And, sweet sprites, the burden bear. WS

Reply to
John Rickman Iyonix

---snip---

No one spotted how ABSURD my idea was!

SD is not a memory-chip, which you can address-directly via a machine instruction. it's a complete file-system which FIRST needs the whole OS to be running before it can be accessed. So how could it possibly be used for code to debug at the lowest level: before the OS is running ?!

That's why I didn't want to look into the trivial details. First the basic idea must be valid.

--
I was misled/fooled by the CambUni Tutorials. 
Altho' they do manipulate bytes to/from specific registers, 
they do it via a fully functional OS.  
And can't be used for debugging, 'cos they won't work 
unless the system/OS is fully functional. 
=== 
You can debug a person: 
 by checking if he's breathing, to know it he's dead. 
 The CambUniv take a live person, and asks him if he's breathing. 
 When the subject answers "no" [because it's being interogated by 
 a fully operational OS] they declare that logically he's 'dead'. 
 ==  
 Nigerian 4-1 scams work by distracting your attention. 
 CambUniv unintionally distracted my intention by going-off 
 about binary arithmetic [most annoying]. 
 That's my excuse for being led to absurd conclusions.
Reply to
Avoid9Pdf

Ask yourself : how is it possible to boot an OS from a file system?

Reply to
Bob Martin

He doesn't ask himself anything other than how can I keep trolling these fools on the newsgroups.

Reply to
mm0fmf

=== No! I wantED a listing of the bytes; whithout looking into asm; to make a VM, which would eg: #4 -> r0 r0 -> memoryM r1 r0` would need to be achieved by a block of bytes, and `#BC -> r0` is expected to differ by only '04 BC'.

What I overlooked is that this is NOT a uProc, where I can put bytes at the reset vector to debug at the very lowest level.

ABSURDLY, I was thinking of 'shell: dd - ing' the P-code to . But that's like saying "you can test if a person is alive; by noticing if they are breathing; so ask that bloke if he's breathing".

Reply to
Unknown

An assembler is a tool that does that for you - tell it your assembly language code and it will give you the machine code.

Running an assembler on your own computer is significantly more efficient than posting your code on a newsgroup and having someone else feed it through theirs.

Of course you need valid assembly language as an input which people have attempted to help you with, but you're obviously too much of a moron (or troll) to read any of that.

Reply to
Guesser

OMG, it's next year already!!

There are 2 separate issues:

  1. what I mean by "it's been OPTIMIZED!"
  2. whether is HAS been optimised/made-irregular.

English is optimised/irregular by eg. 'a' becomes 'an' before a vowel.

A quick look at your listing below seems to be regular. Perhaps: Byte:Operand Nyble:Reg 20Bits:0A0E3 is the direct translation of Operand -> Reg:r for all byteOperands and all registers?

orr

orr

Hex & registers are universal. Like mathematics. The particular asm, is just another syntax. I don't want to know ANOTHER syntax.

Perhaps you've heard of Pseudo-code running on virtual-machines, which was popular in the 70s ? Shells are a bit like that: abstracting-out the in-essential.

Reply to
Unknown

Yeah, well if you would bother to *read* the rest of the thread, you just might find an explanation for the encoding difference.

Once again, I urge you to learn about the processor you're trying to program.

--
roger ivie 
rivie@ridgenet.net
Reply to
Roger Ivie

On 2014-01-31, Unknown wrote: [[snippage]]

Ok, let me try it this way:

It is very odd that you sit there and complain that folks are not willing to collaborate with you when

*you* refuse to collaborate with the folks who wrote the fine manuals that have been pointed out to you several times.
--
roger ivie 
rivie@ridgenet.net
Reply to
Roger Ivie

Does that explain your previous question: "what do I MEAN by

Shouldn't that be: ByteOperand (RegNo shl 4) a0 e3 ?

I wantED to make a stack-based VirtualMachine, so 1 or 2 regs would suffice.

Reply to
Unknown

Why not look at someone elses?

ghostscript and gforth are available.

--
For a good time: install ntp
Reply to
Jasen Betts

No! If you're a student, you may want to also 'learn about' the physics of the underlying semiconductors. But after you've done a dozen languages, you don't want to KNOW the irrelevant peculiar details.

You want to see the BIG picture. Like a better explanation of what I meant by "optimised": IF (NextInstruction=SpredJamOnToast) AND (InHand(Teaspoon)=TRUE) THEN JamToToast(Teaspoon) END;

So it seems that the [one that I used] ARM compiler, doesn't just do a one-to-one mapping from symbolic to bytes. But I'm not particularly bothered. And yes, the Camb Univ tut material needed to assume hex..etc. knowledge. But IMO it was inappropriate to introduce it "while driving".

The tut came accross as an unplanned, too enthusiatic, ad-lib thing. Which by it's noise, misled me into thinking I could just 'run the bytes' from the start vector-adr, like we did with the old 8-bit uProcs.

Reply to
Unknown

If you want a simple 8-bit processor, get one.

The ARM is not at all like a simple 8-bit processor, and all your wishing is not going to make it one.

The days of simple, deterministic, sequential execution of instructions are gone. Caches, multiple-issue, out-of-order execution are the standard fare today.

I love simple 8-bit machines, too, so I use one for my recreation. They are readily available (still!) on eBay, for example.

--
-michael - NadaNet 3.1 and AppleCrate II: http://home.comcast.net/~mjmahon
Reply to
Michael J. Mahon

If you're trying to *build* a VM, the instruction set of the machine on which you're trying to run the VM is *not* an irrelevent peculiar detail.

It is *not* an optimization! The assembler is *still* just doing a one-to-one mapping from symbolic to bytes.

There are several ways that many constants can be represented in an ARM instruction. There is no particular reason for the assembler to choose one over the other. *Same* instruction, different encoding of the constant. Same *number* of instructions, different encoding of the constant.

*Nothing* is being optimized.
--
roger ivie 
rivie@ridgenet.net
Reply to
Roger Ivie

On Fri, 07 Feb 2014 02:16:26 -0600, Michael J. Mahon declaimed the following:

Heh, I just went through my parts box... I still have the Intel sample kit (it was $20 in my college days).

1 8080A 5 8212 buffers 8 2102 static RAM 1 8224 clock generator if memory doesn't fail 4 1702 UV EPROM reference manual

and I'd added a UART, 20-key decoder, 8228 system controller (replaces most of the 8212s), 2-digit 7-segment LED display driver, and an S-100 wirewrap card {My college digital electronics course had intended to build a working system, so many of us bought the sample box}

A really nice, simple, instruction set processor (especially in Octal, as many instructions were 2bit opcode, 3-bit source, 3-bit destination -- I once spent a day writing a definition file for Xerox Sigma-6 Meta-Symbol that would generate absolute addressed 8080 object files). Problem -- it needed a ton of chips to interface to memory (the data bus and half the address bus were shared, so one had to latch the address using 8212s, then use another set of 8212 for the in/out data directions -- the 8228 managed all of that [yes, the support chip was nearly bigger than the main processor])

[for the OP] Practically all RISC processors end up needing very smart /assembler/ languages even -- as they tend to re-order instructions based on decode&execute time (so a register-register add may be moved to /after/ an instruction the retrieves a value from memory, as the memory fetch will still be ongoing when the r-r instruction has completed)
--
	Wulfraed                 Dennis Lee Bieber         AF6VN 
    wlfraed@ix.netcom.com    HTTP://wlfraed.home.netcom.com/
Reply to
Dennis Lee Bieber

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.