News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

First Assembler

Started by ozzy_85, April 24, 2006, 04:21:59 AM

Previous topic - Next topic

hutch--

Roger,

You seem to be confusing the object and who operated it. A typewriter is a machine with a bunch of keys that an operator presses in order to produce print on paper. As far as computer development, a read around on Von Neuman will give you some idea of the development of what we now call computers. You will get sequential instruction operation and memory storage in this design range.

> It is not the instructions  but the mechanisms to execute the instructions that are built in hardware.

Anyone who has ever prgrammed an EPROM already knows that this statement is incorrect. Opcodes must first be constructed in hardware and this is done at the design stage of the hardware, not post production operator based usage.

> The Manchester mark 1 used base 32 not octal.

There were numerous other methods as well based on the hardware's WORD size but OCTAL was common for a very long time on successful hardware well into the 60s and many of the old fellas could work directly in octal from a numeric pad.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

Roger

Hutch,

Quote from: hutch-- on April 27, 2006, 02:37:29 AM
You seem to be confusing the object and who operated it. A typewriter is a machine with a bunch of keys that an operator presses in order to produce print on paper.
see  http://en.wikipedia.org/wiki/Typewriter  para 2
I was pointing out the difference in usage of words between then and now. In the early days of the last century a young lady could obtain employment as a typewriter. She would be expected to use a  machine with a bunch of keys that she would press in order to produce print on paper. I have no idea what she would have called the machine but I doubt that either she or her employer would have ever imagined that over 100 years later people would be arguing about naming the machine after her job title. :lol

Similarly for computers before the word was used for certain machinery in rooms full of machinery( they didn't call them boxes then!!) and so by analogy think about assemblers.

Quote
As far as computer development, a read around on Von Neuman will give you some idea of the development of what we now call computers. You will get sequential instruction operation and memory storage in this design range.
You might like http://www.kzwp.com/lyons/leo.htm

Quote
> It is not the instructions but the mechanisms to execute the instructions that are built in hardware.
Anyone who has ever prgrammed an EPROM already knows that this statement is incorrect. Opcodes must first be constructed in hardware and this is done at the design stage of the hardware, not post production operator based usage.
The set of instructions which can be used is determined at the hardware design time. The mechanism consisting of numourous registers, gates etc. which executes that instruction set is designed and the hardware is made and sold (unless you know a company that gives it away). Seperately to this programmes can be writen and then run on the hardware. I have a processor with copyright dates 1978- 1982 which was put on a circuit board in 1991. On Friday, all being well, it will run instructions in a programme that I shall write tommorow. Tell me how these unwriten instructions can be in 15 year old CPU hardware.
The fact that they will be in EPROM rather than RAM, Core, Mercury delay line or other storage media is no more relavant than putting a value into .const or .data in MASM
This is what i meant by:-
" By the 1950s the concept of stored programme has been realised and programming a computer has become a distinct  process seperate from designing a computer.""
Quote
> The Manchester mark 1 used base 32 not octal.
There were numerous other methods as well based on the hardware's WORD size but OCTAL was common for a very long time on successful hardware well into the 60s
I only mentioned it because It related to AUTOCODER.  The point I was unsucessfully trying to make was that in those days the task of coding was different to now. Now  we think in symbolic assembly language (and often expect macros to raise the level higher) and let the assembler and perhaps Linker do the clerical work of listing hex opcodes and various arguments and then counting them and substituting real addresses for simbolic ones.
Then, depending on the machine each instruction might have to include the address of the next. This being worked out from the time taken by the present instruction and the rotational speed of the storage drum to determine which address had the least latency. The early programming languages probably developed towards higher level functionality before the handling of low level clerical tasks was considersd. The high level languages would have done the clerical task of assembling.
The assembler as we know it probably came into common in the early days of microprocessors. Certainly Intel vided an assembler for the 4004 and an assembler for the 8080 (I don't remember what they had for the 8008) but even then they prefered to give programming examples writen in PL/M. (Programming Language/Microprocessor)

Regards Roger

PS
Quote
many of the old fellas could work directly in octal from a numeric pad.
Not so much of the old, young man


hutch--

Roger,

Where I live in OZ we had computers very early in the scene, the one that comes to mind is the one built in the 50s at Sydney University but I could find the link to the first one built by the CSIRO dated 1951 complete with its earlier development http://www.cip.csiro.au/History/CSIRAC1.htm

Shifting from the actual gadget by whatever technology to an abstraction based on a theory of functionality does not do the job here. Is a 2000 year old abbacus a computer ? It can certainly be used to calculate things that computer currently do but I suggest that its not the same concept. Likewise, if you ever had the joy of seeing the guts of an early 60s NCR cash register for a supermarket you would see the sum total of gears and cams that made a mechanical calculator which of course a computer can also do but its not a related concept.

Sequential opcode processing with access to stored information is the type of stuff that made a Von Neuman type computer and while the hardware has got much faster and with far greater capacity, it is still basically the same concept, crunching one instruction after another with access to common memory.

I am not old enough to have seen the stuff in the early 50s, i was born in 1948 but i did work for Readers Digest in the middle 60s when they bought an IBM System 360 with 64 k core storage, reel to reel tape for mass storage, massive HDDs and this truly stunning 6 foot wide printer that used to spit continuous rolls of invoices out the top faster than the paper folder could manage it. It was managed by a team of well dressed COBOL programmers, complete with paper flow charts and a couple of dozen punch card operators, one of whom I used to go out with.

The "old fellas" (over 40) saw them as a bunch of high level fairies floating in fantasy land and these guys could perform a core dump, modify code on the fly and get it going again, the REAL MEN[tm] worked directly in OCTAL, assembler if they were lazy and apparently Fortran if it did not matter much.

Now in relation to the idea that an abstract programming language predates the hardware that enabled it, I suggest that you have the cart pulling the horse here. Most of the early stuff was written out on paper first, then enterered manually according to a list of instructions and tested. The point I am making here is that the opcode list predated the notion of abstract language which was a later development. If I remember correctly, people like Von Neuman saw high level languages as un-necessary.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

zcoder

hutch-- ,

If something has someform of a storage device and it can be switched to do different things is this a computer?
as I have seen a very old quilt machine that will make a quilt with a picture in it and the quilt machine just needs
a disk or plate changed on it to make different pictures, this plate has cams on it that make the quilt
Machine do each diffrent pattern.

So what I was wondering is if this would fall into being the form of a programmable computer??


Zcoder...
Back in 1979, My computer ran so fine.
And there was no such thing,
As a Microsoft Crashed Machine.
http://zcoder.110mb.com
http://www.dietzel.com/partner/idevaffiliate.php?id=345_6  Free Domain Names

PBrennick

Gentlemen,
All I can say is that all the EPROMs that I programmed and it was VERY many, were programmed using OCTAL and not HEX.  As these EPROMS were used as 'hardware to hardware' the addressing made more sense to an Electrical Engineer when expressed in OCTAL than any other numer system.  Binary was a pig and hex was to archane and neither would lend itself to a schematic which is what we actually built on to the EPROM.  It was like being in the back of a console wiring hundreds of control relays and timers except they did not really physically exist.  The EPROMS were matrixed to NPN2007 transisters that drove opto-isolators to 5 volt relays which handled the higher voltages or drove the load contactors for the output section.  The input section mas memory mapped to opto-isolators for digital inputs and AtoD chips for the analog stuff.  But, definately, only OCTAL was used.

Paul
The GeneSys Project is available from:
The Repository or My crappy website

zcoder

I would like to know, just how many of us here on this forum
have build their own computer by wire wraping or etching their
own design out and building a eprom programmer and program
that eprom all without a kit, or without buying a scematic just
sat down with the pinouts drew a scematic and began building?

I have done this way back in the 80's at that time I did not know
any language, but after I build it I played with the assembly from
a op code sheet for the z80 and got it to give me a sign that
it was working. from there I kept writing stuff into the eprom
to allow me to poke hex into ram so I would run program in
ram to learn assembly faster.

So how many of us on this forum have similer experiance's?

Zcoder....
Back in 1979, My computer ran so fine.
And there was no such thing,
As a Microsoft Crashed Machine.
http://zcoder.110mb.com
http://www.dietzel.com/partner/idevaffiliate.php?id=345_6  Free Domain Names

BogdanOntanu

I did, many times :)

I know how to make a computer from eiither transistors, logical gates, or small integrated chips...
I also know how to make a Z80 "thick" with some wires and switches fixed on an wooden plate with some duct tape :D
Ambition is a lame excuse for the ones not brave enough to be lazy.
http://www.oby.ro

PBrennick

I have also done that many times.  Single board computers were easy to build and with the use of an RF Converter, I could hook it to the TV.  I also used to etch my own boards using Ammonia Perchloride and or some other chemical that I forget the name of  (Copper Fulminate, I think, but don't trust my memory).  Either worked.  In the very beginning we used to build our own erasers.  With the use of ZIF sockets (never used LIF because of the CMOS/HMOS problems, it was very easy to make printed circuit boards..  I new a lot of people who went the Heathkit route but not me, I wanted to do it all and not just assemble a kit.  Those were fun times.

Paul
The GeneSys Project is available from:
The Repository or My crappy website

Mark Jones

Hi Paul, do you mean Ammonium Persulphate and Cupric(II) Chloride? Building PCB's is fun and relaxing work. One of my recent projects was a PCB etcher using Cupric Chloride etchant (not recommended for the hobbyist!) The tank is a narrow 12"x12" rectangle made out of acrylic sheet (lexan), so a standard aquarium heater wasn't practical. Instead I used a temperature sensor, PIC microcontroller, linear stepper actuator, and a 150W halogen lamp to heat the solution. The light is absorbed by the dark green liquid and is warmed, while a PID algorithm moves the light farther away as the setpoint temperature is reached.

I wanted to say that I've discovered a way to "clean up" excess Cu2Cl so it can be disposed of. Cupric chloride etchant "grows" with use and is very toxic to the environment. But to neutralize it, simply drop in hunks of magnesium. Mg is more reactive than copper so the copper ions are precipitated out of the solution and MgCl2 is formed, which is non-toxic. I found 5 pounds of magnesium on eBay for dirt cheap in the form of surplus magnesium printing plates. (If you wanted to, you could then recover the Mg from the MgCl2 solution by using electrolysis, but then have to deal with the chlorine gas...) :toothy
"To deny our impulses... foolish; to revel in them, chaos." MCJ 2003.08

PBrennick

...l and I guess the magnesium is a bit more stable than potassium.  Mark, I am searching my archives to locate the name of the other chemical that I used that was less hazardous than Ammonium Persulphate.

I am interested in pursuing this discussion so to be fair to zcoder, if you are interested, why not start a new topic so we can compare notes.  My records show that it was Copper Chloride that I used.  I did not realize that it is the same as Cupric(II) Chloride until I googled it.  Imagine my chagrin when I saw this information was EVERYWHERE! According to my notes, I played with Sodium Persulphate though I have no memory of it.  I also used 2 masking methods.

Paul
The GeneSys Project is available from:
The Repository or My crappy website