General > General Technical Chat

ASM programming is FASCINATING!

<< < (16/24) > >>

MK14:

--- Quote from: ebastler on July 30, 2020, 06:57:24 pm ---We seem to have lost the OP a while ago. More specifically, we lost him right after his original post. Maybe the fascination didn't last.  ::)

--- End quote ---

I noticed this as well, a long while ago. But decided, the thread is of general interest, and seems to be a fun and educational experience. I'm pleased with the information in it, and have enjoyed participating and reading it.
We were at least a bit off-topic as well. (Opinion dependent!).
So, if they had sticked around, it may have taken a completely different course.

I suspect, in a number of cases, you get the following:
[I'm really revving to go, and want to do assembly language programming, it must/will be great fun]
..
>>>Tries their first assembly program, 8 lines long, takes 38 minutes, to get rid of 5 assembly errors, then runs it and it crashes for no apparent reason.
..
[Gives up and moves on to something else]

KL27x:
At least the title of the thread is appropo. I wonder how long the active oscope thread on the forum will be "what scope for a woman passionate about electronics."

Everytime I see that thread, I imagine an oscilloscope that is strong enough for a man, but is purple and vibrates and discreetly slips into a purse.

T3sl4co1l:

--- Quote from: tggzzz on July 30, 2020, 09:19:04 am ---True, but "modern processor" != "embedded MCU", any more than all black birds are crows.

I remember seeing a C compiler get around the limitations of an instruction set by building a subroutine on the stack, and then execute it.

--- End quote ---

Fascinating, compiled ROP?

Or was the stack somehow executable? (Is this not a ROM/Harvard machine as context would suggest?)

A note about Harvard architecture: it won, but really, both (+ Von Neumann) won: all you need is an MMU with r/w/x tagging.  If w and x are exclusive, then you have a Harvard machine at any given point in time, but you can always ask the kernel to toggle it back and write some more data.  Which can be code or data, doesn't matter until re-tagging it again.  (And perhaps this change could also trigger a cache flush or something, I don't know.)

Tim

tggzzz:

--- Quote from: T3sl4co1l on July 30, 2020, 09:38:33 pm ---
--- Quote from: tggzzz on July 30, 2020, 09:19:04 am ---True, but "modern processor" != "embedded MCU", any more than all black birds are crows.

I remember seeing a C compiler get around the limitations of an instruction set by building a subroutine on the stack, and then execute it.

--- End quote ---

Fascinating, compiled ROP?

Or was the stack somehow executable? (Is this not a ROM/Harvard machine as context would suggest?)

A note about Harvard architecture: it won, but really, both (+ Von Neumann) won: all you need is an MMU with r/w/x tagging.  If w and x are exclusive, then you have a Harvard machine at any given point in time, but you can always ask the kernel to toggle it back and write some more data.  Which can be code or data, doesn't matter until re-tagging it again.  (And perhaps this change could also trigger a cache flush or something, I don't know.)

Tim

--- End quote ---

It was the Whitesmiths C crosscompiler for a Z80 processor, possibly the 8080 subset. After 40 years the details are, fortunately, hazy. The long-term lessons are not!

MK14:

--- Quote from: T3sl4co1l on July 30, 2020, 09:38:33 pm ---If w and x are exclusive, then you have a Harvard machine at any given point in time

--- End quote ---

If the computer/processor system, has got only one single, shared memory, for instructions and data. (Von Neumann Architecture).
Then, it will still only have one shared memory bus, for instructions and data, even if you start messing with MMU tags and things.
It's the multiple, separate, non-shared memory buses. Which give Harvard Architecture, its potential performance benefits, because of having multiple bus systems, running in parallel.

You could simulate it the way you described. But, it would give little or no speed improvement, and wouldn't really change much. if you needed the extra bandwidth/performance from Harvard's extra bus system(s).

These days, the distinctions, seem to be getting blurry. So, even a Von Neumann Architecture, can achieve huge performance. E.g. Modern PCs.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

There was an error while thanking
Thanking...
Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod