RE: what is Hex?

  • From: "Chris Hofstader" <chris.hofstader@xxxxxxxxxxx>
  • To: <programmingblind@xxxxxxxxxxxxx>
  • Date: Sat, 16 Feb 2008 07:49:47 -0500

640K was an enormous luxury.  I started small computing on the TRS 80 Model
1 with 4K RAM and a cassette interface - baby that sucker was blazing!  Then
Apple and Atari gave us the unheard of 64K and the 6502 which almost all of
the people who hacked on that processor quickly learned to make self
modifying code that rarely had to fetch from memory.  That was a ton of fun
but the programs we made weren't exactly "user friendly" or terribly useful.

This topic always reminds me of the variations on the two old men arguing
over who had it worse when they were kids.  You had assembly pneumonics, we
only had hex!  You had hex, we only had zeroes and ones!  You had ones, we
only had zeros!  You had zeroes, we only had Os and lower case ls...

cdh

-----Original Message-----
From: programmingblind-bounce@xxxxxxxxxxxxx
[mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of tribble
Sent: Friday, February 15, 2008 5:24 PM
To: programmingblind@xxxxxxxxxxxxx
Subject: Re: what is Hex?

Hi all -- yeah! I remember my first exposure to assembler, and writing 
little self modifying programs that would morph as they executed.  This was 
actually necessary in early software on those small systems with only 640k 
memory -- programs had to interleave and overwrite parts of themselves as 
the whole program and data wouldn't quite fit.  Memory is cheap now, and 
although code is much larger now, it is actually less convoluted than some 
of the old apps as it doesn't need to do any self monitoring or selfe 
changing (that is now handled by the operating system).

I also in the late 80s worked on an early integrated C programming 
environment, doing the incremental linking and debugger support.  That thing

ran on unix system V whichtreated processes as files -- you got it, they 
were located in the special directory called /proc.  The files under /proc 
were named by the process number PID and contained the runtime image of 
whatever program it was running -- both the program code and data.  To debug

the thing you would have the debugger run with  permissions to overwrite 
otherwise write protected segments -- in this case, the code segment.
So if you wanted to plant a breakpoint and step through a program, you had 
to plant an instruction that would halt the process and jump to the debugger

which would do whatever you told it to.  In this old environment we actually

got it incrementally compiling blocks of C code that we could attach to 
breakpoints, where the blocks were compiled incrementally at the point where

the brreakpoint was, then it would run at that point until it was removed. 
This was useful because it was fast and used the same compiler that compiled

the function to begin with, so you didn't have a separate interpreter.
It also incrementally compiled whole files and planted jumps from modified 
functions to the nes function rather than trying to re move the code from 
the segment -- this was necessary so the user didn't have to restart 
execution afterchanging just one function; if the old function was active on

the stack it could finish its execution and new calls would go to the ew 
function.
Anyway, I found this project quite enjoyable as it delved into a lot of low 
level stuff I was interested in.  It was actually chosen to be developed 
into a product but shortly before they were going to release it, the whole 
department where the were located was dissolved and the project (which a lot

of people liked) went by the wayside.

Nowadays (I feel so geriatric around here -- anyone else over 40?) nowadays 
there are lots of integrated systems and incremental compilation is common.

Yes, Sina is the current geek genius on this list...  I wonder where he got 
all the info in his head -- he must spend every waking hour listening to 
jaws at speed 97...*smile* and that since he was 3 years old! *smile*
Happy hacking all!
--le

---- Original Message ----- 
From: "Chris Hofstader" <chris.hofstader@xxxxxxxxxxx>
To: <programmingblind@xxxxxxxxxxxxx>
Sent: Friday, February 15, 2008 6:37 AM
Subject: RE: what is Hex?


God Sina, you bring back memories of Z80 and needing to "poke" instructions
and data into memory before execution.  I would have thought you, who was
born in 1986 would never had to get to that level.  Personally, I think it's
a really valuable exercise even if one never actually needs to use it in a
"real" program just to get a better understanding of what a processor "sees"
and how base 16 numbers can be turned into both instructions and data
depending upon how the processor looks at them.

In the network edition of "Bank Street Writer" a word processing program
written entirely in assembly, that was pretty popular in the years before
you learned to talk, I added a function called, "DON'T_CALL_THIS."  If you
did call it the program would crash as the instructions looked random.  If,
however, you looked at the last handful of bytes of the program as ASCII, it
read "FSMITHISAWORM."  Frank Smith, a really great guy, was the client on
the gig and we decided to immortalize him in an Easter Egg that only an
ubergeek could find.

Now, just for shits and giggles, try to reconstruct the function in 80x86
assembly and receive the truly wasted chunk of time award.

cdh

-----Original Message-----
From: programmingblind-bounce@xxxxxxxxxxxxx
[mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Sina Bahram
Sent: Thursday, February 14, 2008 9:28 PM
To: programmingblind@xxxxxxxxxxxxx
Subject: RE: what is Hex?

*smile*, wlel actually, if you really want to get down to it ... it can be.

Assembler compiles down to executable instructions to the processor, which
are most often and most easily read in hex.

I used to know almost all of the 8086 instructions and some of their hex
equivalents a while back. It's really useful when analysing exploit and
virus code.

Take care,
Sina



-----Original Message-----
From: programmingblind-bounce@xxxxxxxxxxxxx
[mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Alex Hall
Sent: Thursday, February 14, 2008 8:47 PM
To: programmingblind@xxxxxxxxxxxxx
Subject: re: what is Hex?

Right, but it almost sounds like some sort of programming language.

Have a great day,
Alex

> ----- Original Message -----
>From: Joseph Lee <joseph.lee22590@xxxxxxxxxxxx
>To: programmingblind@xxxxxxxxxxxxx
>Date sent: Thu, 14 Feb 2008 17:27:12 -0800
>Subject: re: what is Hex?

>Hi Alex,
>It's a shortened form of hexadecimal.
>Cheers,
>Joseph

>> ----- Original Message -----
>>From: Alex Hall <mehgcap@xxxxxxx
>>To: programmingblind@xxxxxxxxxxxxx
>>Date sent: Thu, 14 Feb 2008 20:18:21 -0500
>>Subject: what is Hex?

>>Hi all
>>Whatis this Hex that has been talked about
>recently?

>>Have a great day,
>>Alex
>>__________
>>View the list's information and change your
>settings at
>>//www.freelists.org/list/programmingblin
>d

>__________
>View the list's information and change your settings at
>//www.freelists.org/list/programmingblind


__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind

__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind



__________ NOD32 2878 (20080215) Information __________

This message was checked by NOD32 antivirus system.
http://www.eset.com


__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind

__________
View the list's information and change your settings at 
//www.freelists.org/list/programmingblind



__________ NOD32 2880 (20080215) Information __________

This message was checked by NOD32 antivirus system.
http://www.eset.com


__________
View the list's information and change your settings at 
//www.freelists.org/list/programmingblind

Other related posts: