Is it a lost cause?

The Raspberry Pi in all its invocations was conceived as a filip for education about computer systems but looking at some of the recent posts in these NGs, it seems to have got stuck in a blind alley; the alley of Linux, whereas the real education about computers and how they work is down at a much lower level.

This lamentable state of affairs seems to be extant in recent so-called "computer science" graduates who have no inkling about how a computer works and could not design from scratch themselves a computer because thinking, as they do, that the world of computing is made up from Linux, C and C++.

An acadaemic education should not be about current commercial convenience lest you end up with degrees with no acadaemic characteristics such as sports science and tourism management.

Reply to
gareth G4SDW GQRP #3339
Loading thread data ...

What's wrong with good old x86? There are plenty of bootloaders for a start...

Reply to
Melzzzzz

I would agree, but with the caveat that I did 6502 assembler in the late 70's as part of my career studies and it is about as much use to me these days as a chocolate kettle. Technology rapidly overtakes learning.

Reply to
Rambo

Generic "school machine" assembler is enough. I learned one such... One get to know principles.

Reply to
Melzzzzz

Classic troll: 0/20

--
Bah, and indeed, Humbug
Reply to
Kerr Mudd-John

Some architectures are easier for a student to understand. The more orthogonal it is the better otherwise the student can get frustrated with apparently arbitrary limitations on which address modes can be used with what opcode.

I've never written Intel assembler, but have a lot of time working with

6800 and 6809 assembled as well as with PL/9 (essentially a re- implementation of PL/M for the 6809). However, I remember hearing people cursing over lack of orthogonality when writing code for the early Intel chips and the Zilog Z80. This was almost never a problem with Motorola 68xx and 68xxx chips and we had some lovely development packages, such as an MACE, an integrated editor/assembler/debugger that would run in 48 Kb of RAM.
--
martin@   | Martin Gregorie 
gregorie. | Essex, UK 
 Click to see the full signature
Reply to
Martin Gregorie

In college I wrote an assembler for the IBM 360 instruction set. It was a semester project. We programmed this on a Univac 1100/40 which only had some 64 kW of memory, lol. The professors and grad students used the 1108, older, but more memory.

The IBM instruction set had a lot of "features" but was fairly orthogonal. The Univac was a lot more ad hoc.

--

Rick C
Reply to
rickman

For schools a X86 would probably have to have Microsoft Windows as its operating system. Below the OS interface is degree level computer science.

Reply to
Andrew Swallow

This is where the ARM2 and ARM3 processors really shone (I don't know the later ones).

Instruction set so short you could easily memorise it. You could do anything on any register except R14 and PC - and you could do some quite heavy manipulation on those if you were careful!

--
W J G
Reply to
Folderol

Since ARM is used in many embedded applications an Assembler for the ARM instruction set with an emulator that runs on the Raspberry Pi could be a useful teaching aid.

Reply to
Andrew Swallow

Would you need an emulator? MACE didn't have one. Instead it let you set breakpoints by temporarily replacing target opcodes with (IIRC) a software interrupt (SWI). Thus is neat because when a breakpoint is hit the program's state gets saved by the SWI where it can be inspected/ modified by the debugger and control switches to the debugger. The debugger's 'continue' command replaced the original instruction and issued an RTI (return from interrupt) which restored the program state and jumped to the restored instruction. Would something like this work with ARM code?

BTW, the other nice feature of MACE was speed. It maintained the source you were developing in RAM for editing, saving and assembling. Assembly left the binary in RAM too (unless you asked for it to be written to disk), so even on a 2MHz 6809 both editing and assembly were very fast. Surprisingly, this put very few limits on program size since the in- memory source module could pull in other source from disk (this was assumed to be debugged so didn't have an in-RAM presence).

I'd think an ARM assembler with this type of integrated editor and debugger could be an excellent teaching tool since it would be fast to use and would avoid the student having to learn much apart from its own edit/assemble/debug commands.

--
martin@   | Martin Gregorie 
gregorie. | Essex, UK 
 Click to see the full signature
Reply to
Martin Gregorie

More nonsense in both sentences.

Reply to
Scott Lurndal

On Mon, 13 Jun 2016 21:02:20 +0200, Melzzzzz declaimed the following:

And Intel Edison and Galileo modules (Running Linux variants though).

Though does anyone still teach "much lower level"? Many modern processors are so convoluted that naive linear assembly could be slower than some out-of-order instruction sequencing. So-Called RISC instruction sets that have more addressing options to keep track of than a reasonable CISC architecture.

"Much lower level" feels like something one would find in an advanced theory class on writing optimizing assemblers and peep-hole optimizers.

--
	Wulfraed                 Dennis Lee Bieber         AF6VN 
    wlfraed@ix.netcom.com    HTTP://wlfraed.home.netcom.com/
Reply to
Dennis Lee Bieber

On Mon, 13 Jun 2016 21:25:48 -0000 (UTC), Martin Gregorie declaimed the following:

Interesting... I found the 8080/Z80 chips clean and direct. Maybe because my college mainframe was a Xerox Sigma 6 with its "LD" and "ST" instructions (LD, vs ST, -- though 0..15 mapped to the registers).

>
--
	Wulfraed                 Dennis Lee Bieber         AF6VN 
    wlfraed@ix.netcom.com    HTTP://wlfraed.home.netcom.com/
Reply to
Dennis Lee Bieber

Programming in assembly language is sophomore level in a "traditional" computer science curriculum.

Reply to
J. Clarke

The 6502 was easy to hand assemble, though one reason is that we tended to stick to the same old handful of opcodes. But when I moved to the 6809, I had no choice but to get an assembler, the instruction set was more consistent, but it was too hard to keep track of the opcodes.

Michael

Reply to
Michael Black

Possibly unavailable as a set of blueprints to blow your own silicon?

Reply to
gareth G4SDW GQRP #3339

Much the same as the PDP8 which formed the teaching example of electronics at Essex in 69 - 72. Not much call these days to design core stores. Half-select noise, anyone?

Reply to
gareth G4SDW GQRP #3339

Speaking for yourself, as usual, complaining about threads and yet prolonging them?

Reply to
gareth G4SDW GQRP #3339

Direct access to PC not available on ARM64, so you push a calculated result and return from sub!

Reply to
gareth G4SDW GQRP #3339

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.