As a result, people must use descipline to write everything in
Assembly instead of these higher level langauges.
but it will be post-collapse when there is no massive corporation
left to manufacture the powerful computers that no single human
could possibly understand or afford to make,
There is zero reason to do *everything* in Assembly. Just imagine
yourself being told you can't use a car or other transporation method
to do your shopping miles away, you *must* always walk.
There is zero reason to do *everything* in Assembly. Just
imagine yourself being told you can't use a car or other
transporation method to do your shopping miles away, you
*must* always walk.
As with walking, novelty and exercise are reasons!
People use to write everything in Assembly because it was necessary toyes this could happen, because languages not scale well...
meet computational limitations.
Now most people write in high level langauges because the computers are >powerful enough to permit a lot of wasted bytes. As a result, people
must use descipline to write everything in Assembly instead of these
higher level langauges.
The unsustainability of writing in high level languages might not be
obvious now, but it will be post-collapse when there is no massive >corporation left to manufacture the powerful computers that no single
human could possibly understand or afford to make, making Assembly once
again necessary for the small 4-bit computers a single human /could/
afford to make.
Even in good times (when lots of computational resources are--- Synchronet 3.21d-Linux NewsLink 1.2
available), a squirrel will hide his nuts because winter time (the
return to limited computational resources) is coming.
There is zero reason to do *everything* in Assembly. Just imagine yourself being told you can't use a car or other transporation method to do your shopping miles away, you *must* always walk. Following that suggestion would be a waste of your time and energy.
There are good reasons to use high(er)-level languages, just as there are good reasons to use a pocket calculator instead of depending on our (feeble) minds.
But I'm afraid that in that case computers will rapidly become the last thing on our minds. Locally growing our food, using pointed sticks to open the earth to sow seeds for next-years harvest, will be prevalent in our minds.
I agree. I think it's also important to write Forth.
It's interesting you made that analogy, though, because just...
yesterday I walked a total of 15 miles to visit a few stores
around the city,
it forces me to think how to make the trip worth the effort by
adding multiple stores along the route, and to make sure I make
the most of each visit
So to make a large program in Assembly or Forth, I must be sure
the program I'm building is valuable enough to justify the effort.
But a computer programmer could still use a bean computer, that
require nothing but beans and a floor.
I'm sorry, but I simply don't like high(er)-level languages. :-)
But to be honest, I have no idea what about that language appeals to you, so I can't say if it would be important.
Personally I would suggest to pick up a small microcontroller (low on memory and speed) and program it(s risk based language) using Assembly. You will find all kinds of interresting/weird things forcing you to think to find solutions.
Added bonus : adressing an output pin gives, with a LED or buzzer on it, a direct, visible/audible result - making it less than a purely mental exercise.
I have no idea what a "bean computer" is - other than something predating an abacus - and a quick websearch did not turn up anything either.
But if you mean an early form of abacus you do realize that you've than become a literal "bean counter" ? :-)
Its also a very environmental-concious use of resources though : if your "computer" crashes you can always eat the beans ...
I'm sorry, but I simply don't like high(er)-level languages. :-)
I'm sorry, but I simply don't like high(er)-level languages. :-)
me too, I hate detouring bloatware producing HLL.
welcome to the world where things are made from real things :)
I even discarded almost all ASM tools because they all got restrictions
and are of limited use because they think to be smarter than a human but
may compile lots of unwanted lines or need ~20 directives to behave.
SO, my way was/still is bare metal coding in byte-wise hexadecimal.
THIS IS absolutely free of any restrictions and I've done it for a vast amount of different 4/8/16/32-bit MCU's and finally also for 64-bit CPU's. All I had to do was to create my own tools [on Z80 and AMD86..]
All I had to do was to create my own tools [on Z80 and AMD86..]
I even discarded almost all ASM tools because they all got restrictions
and are of limited use because they think to be smarter than a human but
may compile lots of unwanted lines or need ~20 directives to behave.
I'm assuming the ASM in the above was ment to be C{something} .(?)
I'm assuming the ASM in the above was ment to be C{something} .(?)
No, I never used C and never ever will use that crap.
I meant inline ASM, like these stupid variations in Power-Basic and
friends.
I also meant MASM,TASM,NASM,BASM,QASM,etc...
I liked early RosAsm for 32 bit windoze because it allowed me to enter DB
xx xx ... hex-lines anywhere in between other assembler lines.
I'm assuming the ASM in the above was ment to be C{something} .(?)No, I never used C and never ever will use that crap.
I've used several versions of it, including on a RPi (GCC). Not much mind you, but enough to get a bit of a feeling for it.
I meant inline ASM, like these stupid variations in Power-Basic and
friends.
I've never used that. I did use QBasic (which came free with my thanwhile DOS version), where you had to do a bit of work to "load" the program data and call it. It allowed me to add mouse (and other) stuff.
I also meant MASM,TASM,NASM,BASM,QASM,etc...
Oh whait a minute there : you're not going to trash-talk my Borlands Tasm
(16 and 32 versions), are you now ? :-)
I liked early RosAsm for 32 bit windoze because it allowed me to enter DB
xx xx ... hex-lines anywhere in between other assembler lines.
I took the avalailability of DB and DW as a given. I can't remember an assembler (X86 or otherwise) which refused them when encountered in a code block.
Yeah DB were available on almost all assemblers, but (I don't remember
which ones) some couldn't work on DB blocks and had to use single byte DB per line while others "embraced" every DB with push/pop or destroyed
(ax/dx) registers.
just try this on your TASM_16:
DB 0x66
MOV ax,0x0001
DW 0x8000
I've worked with an Atmel Mega32, ...
just try this on your TASM_16:
DB 0x66
MOV ax,0x0001
DW 0x8000
Doesn't that 0x66 cause EAX to be loaded instead of just AX, with the 0x8000 becoming the higher part of the constant ?
I've worked with an Atmel Mega32, ...
AMtel ?
yeah it should compile to:
66 b8 01 00 00 80 mov eax,0x08000_0001
but I doubt that ye olde TASM would do that :)
I could tell funny things about my solutions on 1802, 2650 and 6201 MCs.
This one :I've worked with an Atmel Mega32, ...AMtel ?
https://www.alldatasheet.com/datasheet-pdf/pdf/77378/ATMEL/ATMEGA32.html
yeah it should compile to:*Assemble* if you please ! :-)
66 b8 01 00 00 80 mov eax,0x08000_0001
but I doubt that ye olde TASM would do that :)
I just checked, and my Borlands Tasm v1.01 from 1989 as well as Tasm32 v5 1998 does that. I guess my assemblers do exactly as they are told ? :-)
https://www.alldatasheet.com/datasheet-pdf/pdf/77378/ATMEL/ATMEGA32.html
thx I never heard of it before.
*Assemble* if you please ! :-)
:) assembler tools "compile" what the programmer ass samples.
seems I checked on it some years earlier (~1984)
it just didn't compile it (source error).
I'll be out for a while ...
| Sysop: | Amessyroom |
|---|---|
| Location: | Fayetteville, NC |
| Users: | 65 |
| Nodes: | 6 (0 / 6) |
| Uptime: | 02:50:39 |
| Calls: | 862 |
| Files: | 1,311 |
| D/L today: |
10 files (20,373K bytes) |
| Messages: | 264,422 |