"Nobody programs in machine language" (was: Modern Electronics

From: Sean 'Captain Napalm' Conner <spc_at_conman.org>
Date: Tue Jun 22 01:05:02 2004

It was thus said that the Great Fred Cisin once stated:
>
> I need to make some decisions about some of the content.
> Should I include discussion of the .Net IL assembler?
> How much on other kinds of processors? (RISC)
> How much time should I spend on interrupt handlers, v
> file handling?
> How much time should I spend on coupling assembly language
> subroutines with high level languages?
> How much on using assembly language knowledge to debug
> high level language problems?
> Should I get into writing assembly language stuff that
> runs as real Windoze applications, or stick to DOS based stuff?

  How much time do you have? From my experience (not in teaching, but in
sitting in several Assembly classes from college) that not many students
"get" it. Perhaps part of that is due to the insturctor (in my case,
spending almost a month covering DEBUG along with simple 8088 instructions)
and perhaps part of that is the strangeness of the language (compared to
higher level languages).

  Several of your suggestions could be lumped into a single heading:
calling other APIs. File handling? Calling Windows APIs? Similar stuff
really, just sticking the data in the appropriate place, and transfering
control to the appropriate routine (CALL, INT, SYSCALL, etc).

  On making a real Windows application, most of the code will be:

                push 0
                push SOMECRYPTICVALUE
                lea eax,[ebp + localvar]
                push eax
                lea eax,[ebx + structoffset]
                push eax
                push SOMEVALUE
                push YETANOTHERVALUE
                push ebx
                mov eax,[ebp + localvar]
                mov eax,[eax + structoffset]
                push eax
                call _Win32DoSomeThingMystic

  Just to make a single API call. DOS would be eaiser to program, but
really, how much modern DOS development is being done nowadays? Interrupt
handling is interesting, but again, how much time do you have?

  -spc (I might suggest writing code for a virtual VAX ... )
Received on Tue Jun 22 2004 - 01:05:02 BST

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:36:59 BST