Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.sys.apple2.programmer > #5929

Re: Woz learns assembly language

Newsgroups comp.sys.apple2.programmer
Subject Re: Woz learns assembly language
From Michael J. Mahon <mjmahon@aol.com>
References <0345a392-b919-4062-bcc6-b5de758387c4@googlegroups.com> <8315b158-ad2a-4a70-a653-aa30fa1e7274n@googlegroups.com> <dog_cow-1639625300@macgui.com> <yubfsqtvvwq.fsf@gmail.com>
Message-ID <99-dnUkpb8ApFyD8nZ2dnUU7-ffNnZ2d@giganews.com> (permalink)
Date 2021-12-18 01:16 -0600

Show all headers | View raw


awanderin <awanderin@gmail.com> wrote:
> D Finnigan <dog_cow@macgui.com> writes:
> 
>> Has anyone ever thought about how Woz learned 6502 assembly language for the
>> Apple I and Apple II? I have wondered it a few times when I look at Monitor
>> source and think about the integer BASIC that he wrote. How long did it take
>> him to learn 6502 and become proficient enough to write Monitor, BASIC, and
>> other utilities for the Apple? Did Woz know assembly for another CPU?
>> 
>> 6502 was a fairly new CPU, and even though based on the earlier Motorola
>> 6800, neither one had been out for more than a few years by the time the
>> Apple I and II were introduced in '76 and '77.
>> 
>> He had others around to help him, at least to the extent of answering his
>> questions or loaning him technical docs; this is certain.
>> 
>> Anyone know more about how Woz learned to program the 6502?
> 
> No idea how Woz learned 6502, but I'll guess.
> 
> Woz says that he designed many computers before he actually built the
> Apple I.  He talked about how he obsessed over things, like how many
> chips in a design.  I suspect he also obsessed over the details in data
> books and manuals for computers.  He basically crammed his mind full of
> every detail he could find.
> 
> I would bet he probably studied the opcodes, and constantly thought
> about the result he wanted to achieve.  His intense concentration and
> his subconscious probably helped a ton.
> 
> One example is the binary-to-decimal converter he wrote.  I cannot find
> it right now, but I recall he used shifts (ASL) with BCD-mode (SED), and
> came up with a pretty clever way to convert a number for printing.
> It seems like he tried to think of every possible way to use the
> different 6502 instructions.  Maybe, that's how he came up with this
> stuff?
> 
> The other thing is, he had already built many electronic devices, and
> understood digital logic circuits really well.  When he looked at the
> 6502 data book, he probably figured out how it worked inside.  It might
> have not been too much more effort for him to put those opcodes to use.
> 

Assembly language is one-for-one equivalent to machine language for the
target processor.  

For 8-bit machines it is much lower level than the usual programming
languages. As a result, it is somewhat confusing to people who are
accustomed to higher level languages, where “+” can mean “add two multibyte
floating point numbers”, which requires perhaps a hundred 6502
instructions.

Machine language is much lower level and much simpler, performing
elementary logical and arithmetic operations on single bytes.

Machines with wider data paths and more advanced data types, like floating
point, all have similar basic operations, but with wider and more complex
data types. 

Once you have mastered *any* machine language you are well prepared to
learn another. 

Woz was quite familiar with machine level instructions, and it would be
straightforward to “port” that familiarity to the 6502, then learn the
“tricks” peculiar to the 6502 and its instruction set. 

To move from an understanding of a high level language to machine language,
prepare yourself for a drastic drop in semantic level and RTFM over and
over. When you have grasped the concept that almost any high level
operation translates into many machine language instructions, it all starts
to make sense.  Then you discover that many logical and arithmetic
operations can be performed much more efficiently at the machine language
level. 

-- 
-michael - NadaNet 3.1 and AppleCrate II:  http://michaeljmahon.com

Back to comp.sys.apple2.programmer | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Assembler for Learning Assembly Language Programming ORCA vs Merlin vs ??? "touvell@gmail.com" <touvell@gmail.com> - 2019-07-30 08:37 -0700
  Re: Assembler for Learning Assembly Language Programming ORCA vs Merlinvs ??? D Finnigan <dog_cow@macgui.com> - 2019-07-30 18:00 +0000
  Re: Assembler for Learning Assembly Language Programming ORCA vs Merlin vs ??? Andy McFadden <thefadden@gmail.com> - 2019-07-30 13:01 -0700
    Re: Assembler for Learning Assembly Language Programming ORCA vs Merlin vs ??? "Frank M." <frank_o_rama@hotmail.com> - 2019-07-30 14:27 -0700
      Re: Assembler for Learning Assembly Language Programming ORCA vs Merlin vs ??? "touvell@gmail.com" <touvell@gmail.com> - 2019-07-30 18:37 -0700
    Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? D Finnigan <dog_cow@macgui.com> - 2019-07-31 00:09 +0000
      Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? "touvell@gmail.com" <touvell@gmail.com> - 2019-07-30 18:34 -0700
  Re: Assembler for Learning Assembly Language Programming ORCA vs Merlin vs ??? "touvell@gmail.com" <touvell@gmail.com> - 2019-07-30 15:38 -0700
    Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? D Finnigan <dog_cow@macgui.com> - 2019-07-31 00:11 +0000
      Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? "touvell@gmail.com" <touvell@gmail.com> - 2019-07-30 18:41 -0700
        Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? "touvell@gmail.com" <touvell@gmail.com> - 2019-07-31 19:51 -0700
          Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? Antoine Vignau <antoine.vignau@laposte.net> - 2019-07-31 21:17 -0700
            Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? "touvell@gmail.com" <touvell@gmail.com> - 2019-08-01 15:51 -0700
            Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? "touvell@gmail.com" <touvell@gmail.com> - 2019-08-01 16:07 -0700
              Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? James Davis <JPD.Enterprises@outlook.com> - 2019-08-01 18:54 -0700
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? "touvell@gmail.com" <touvell@gmail.com> - 2019-08-01 20:55 -0700
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? Antoine Vignau <antoine.vignau@laposte.net> - 2019-08-01 23:38 -0700
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? "touvell@gmail.com" <touvell@gmail.com> - 2019-08-02 06:26 -0700
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? andrew.roughan@writeme.com - 2019-08-02 03:38 -0700
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? "touvell@gmail.com" <touvell@gmail.com> - 2019-08-02 06:42 -0700
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? "touvell@gmail.com" <touvell@gmail.com> - 2019-08-02 06:54 -0700
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? "touvell@gmail.com" <touvell@gmail.com> - 2019-08-02 08:45 -0700
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? andrew.roughan@writeme.com - 2019-08-02 23:25 -0700
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? "touvell@gmail.com" <touvell@gmail.com> - 2019-08-04 17:40 -0700
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? denisbytezone@gmail.com - 2019-08-03 00:54 -0700
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? denisbytezone@gmail.com - 2019-08-03 00:58 -0700
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? Antoine Vignau <antoine.vignau@laposte.net> - 2019-08-03 05:14 -0700
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? "touvell@gmail.com" <touvell@gmail.com> - 2019-08-04 05:19 -0700
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? "touvell@gmail.com" <touvell@gmail.com> - 2019-08-04 18:00 -0700
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? Andrew Roughan <andrew.roughan@writeme.com> - 2019-08-05 10:38 +0000
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? "touvell@gmail.com" <touvell@gmail.com> - 2019-08-05 05:21 -0700
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? "touvell@gmail.com" <touvell@gmail.com> - 2019-08-05 09:54 -0700
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? Antoine Vignau <antoine.vignau@laposte.net> - 2019-08-05 11:17 -0700
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? "touvell@gmail.com" <touvell@gmail.com> - 2019-08-05 15:19 -0700
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? Andrew Roughan <andrew.roughan@writeme.com> - 2019-08-06 21:05 +0000
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? "touvell@gmail.com" <touvell@gmail.com> - 2019-08-06 17:17 -0700
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? "Frank M." <frank_o_rama@hotmail.com> - 2019-08-06 19:09 -0700
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? Andrew Roughan <andrew.roughan@writeme.com> - 2019-08-07 13:44 +0000
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? Dave Touvell <touvell@gmail.com> - 2019-08-07 09:01 -0700
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? Steve Nickolas <usotsuki@buric.co> - 2019-08-08 01:27 -0400
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? Dave Touvell <touvell@gmail.com> - 2019-08-10 05:45 -0700
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? Steve Nickolas <usotsuki@buric.co> - 2019-08-12 17:53 -0400
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? Dave Touvell <touvell@gmail.com> - 2019-08-12 17:28 -0700
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? Steve Nickolas <usotsuki@buric.co> - 2019-08-14 04:43 -0400
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? Dave Touvell <touvell@gmail.com> - 2019-08-07 08:58 -0700
                Re: Assembler for Learning Assembly Language Programming ORCA kelvin@pro-kegs.uucp (Kelvin Sherlock) - 2019-08-06 22:28 -0500
                Re: Assembler for Learning Assembly Language Programming ORCA "touvell@gmail.com" <touvell@gmail.com> - 2019-08-06 17:23 -0700
            Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? "touvell@gmail.com" <touvell@gmail.com> - 2019-08-05 21:41 -0700
              Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? Antoine Vignau <antoine.vignau@laposte.net> - 2019-08-06 13:12 -0700
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? "touvell@gmail.com" <touvell@gmail.com> - 2019-08-06 17:11 -0700
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? Dave Touvell <touvell@gmail.com> - 2019-08-14 03:56 -0700
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? Antoine Vignau <antoine.vignau@laposte.net> - 2019-08-14 12:15 -0700
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? Dave Touvell <touvell@gmail.com> - 2019-08-14 14:38 -0700
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? Antoine Vignau <antoine.vignau@laposte.net> - 2019-08-19 22:12 -0700
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? Dave Touvell <touvell@gmail.com> - 2019-08-20 04:58 -0700
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? Dave Touvell <touvell@gmail.com> - 2019-08-20 15:43 -0700
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? Antoine Vignau <antoine.vignau@laposte.net> - 2019-08-20 22:49 -0700
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? denisbytezone@gmail.com - 2019-08-21 14:28 -0700
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? Antoine Vignau <antoine.vignau@laposte.net> - 2019-08-21 18:08 -0700
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? Dave Touvell <touvell@gmail.com> - 2019-08-21 18:23 -0700
                Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? Dave Touvell <apple2info.net@gmail.com> - 2021-12-15 17:58 -0800
                Woz learns assembly language D Finnigan <dog_cow@macgui.com> - 2021-12-16 03:28 +0000
                Re: Woz learns assembly language awanderin <awanderin@gmail.com> - 2021-12-16 00:41 -0700
                Re: Woz learns assembly language Michael J. Mahon <mjmahon@aol.com> - 2021-12-18 01:16 -0600
          Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? Andy McFadden <thefadden@gmail.com> - 2019-08-01 08:05 -0700
            Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? "touvell@gmail.com" <touvell@gmail.com> - 2019-08-01 16:12 -0700
          Re: Assembler for Learning Assembly Language Programming ORCA vsMerlin vs ??? eeastman <eeastman@gmail.com> - 2019-08-02 09:26 -0700

csiph-web