Re: what is Hex?

  • From: "tribble" <lauraeaves@xxxxxxxxx>
  • To: <programmingblind@xxxxxxxxxxxxx>
  • Date: Sat, 16 Feb 2008 12:42:00 -0500

That reminds me of a bug story from one of the groups where I worked -- they 
were trying to fix a bug where a program would sometimes fly off to a weird 
location when single stepping assembly instructions in sdb (the command line 
symbolic debugger).  A couple of guys spent days trying to reproduce the bug 
which only seemed to occur at random.  They were running sdb and the program 
on a paged version of unix.  Finally one of them got the bug to occur and 
noticed that by some fluke the operating system was executing the offending 
instruction when a page fault occurred -- the instruction was transferring 
control to the next instruction which just happened to be at the top of a 
page that was not in memory, so it had to be swapped in.  Since the debugger 
was running, they had to determine whether the problem was an OS bug or a 
debugger bug.  I think whichever they decided the fix was a patch to the 
debugger to handle that elusive special case.
Those kinds of bugs make a person see stars.
--le

----- Original Message ----- 
From: "Chris Hofstader" <chris.hofstader@xxxxxxxxxxx>
To: <programmingblind@xxxxxxxxxxxxx>
Sent: Saturday, February 16, 2008 7:58 AM
Subject: RE: what is Hex?


I actually still think that coding in various assembly languages is a lot
easier than much of what we do today.  In those days, the operating system
and all of the libraries that come with it can be ignored and you can take
total control of everything.  In those days, you knew that the bugs were
probably yours and you didn't have too many people to blame.

I did once encounter a bug on the Texas Instruments 34010 graphics chip that
didn't like clipping lines that ran from lower right to upper left.  Simply
switching the end points fixed the problem but it added a compare and either
a jump or, in the offending case,  two moves to my code which made it look
so much less cute.  TI fixed the bug in the 34020 and all was happy again.

cdh

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

And I thought battleship in Java was hard? My respect for those
who were with computers that long ago (no offense to anyone) just
keeps growing.  It is all I can do to understand this
inheritance, extending classes, abstract classes, and all that
other fun stuff and it is only my second semester.  I don't
understand how all that low-level stuff works.  All I know about
it is that it runs in binary and c or c++ is better for
programming near it than Java (which is why my precious c++
Beep() function is gone in Java; oh how I miss x!!

Have a great day,
Alex

> ----- Original Message -----
>From: "tribble" <lauraeaves@xxxxxxxxx
>To: <programmingblind@xxxxxxxxxxxxx
>Date sent: Fri, 15 Feb 2008 17:24:28 -0500
>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


__________
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

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

Other related posts: