Re: what is Hex?

  • From: "Ian D. Nichols" <inich@xxxxxxxxxx>
  • To: <programmingblind@xxxxxxxxxxxxx>
  • Date: Wed, 20 Feb 2008 22:59:43 -0500

Hi Chris,

My point was that the leading zero is necessary only if the hex number begins with a digit that is a letter (A - F). int 21h is fine, but int A0h would have to be int 0A0h to avoid getting an error message.

I've been hit hard by nostalgia on this one, too. More than 20 years ago I began by "compiling" my own little assembler programs on a Radio Shack Color Computer by poking machine language codes into memory by hand. The effects were sometimes quite interesting if I made a mistake in hexadecimal mental arithmetic and poked in an incorrect offset value for a relative jump!

Ian

Ian D. Nichols,
Toronto, Canada

----- Original Message ----- From: "Chris Hofstader" <chris.hofstader@xxxxxxxxxxx>
To: <programmingblind@xxxxxxxxxxxxx>
Sent: Wednesday, February 20, 2008 5:12 PM
Subject: RE: what is Hex?


I'm not sure that the leading zero is a requirement but I haven't used an
assembler on Intel x86 much since the DOS days.  I know that back in those
days, I could use the instruction, "int 16h or, to make a DOS call, int 21h"
without putting a leading zero ahead of the interrupt value.  Of course,
lots of the really useful interrupts 2 (single step), 3 (breakpoint) and 9
(keyboard) look the same in hex or decimal so they wouldn't matter if they
had leading zeroes or not. If I remember correctly, Wordperfect prior to v5
for DOS had a hook for screen readers located at interrupt A0h but it has
been an eternity since I looked at that while working on "Right Writer" a
grammar checker for DOS.

Alas, I grow more nostalgic as this thread grows...

cdh

-----Original Message-----
From: programmingblind-bounce@xxxxxxxxxxxxx
[mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Ian D. Nichols
Sent: Wednesday, February 20, 2008 4:38 PM
To: programmingblind@xxxxxxxxxxxxx
Subject: Re: what is Hex?

Hi,

To add a little more to this topic, for the general inlightenment of those
who don't already know:

In Intel assembly language, a hexadecimal number must have an "h" at the
end, an octal number must end with a "o", and a binary number with a "b".
Without any of these, the assembler assumes the number is decinal. Further,

a hexadecimal number that begins with any of the digits "a" to "F"  must
begin with a zero as well as ending with an "h", otherwise the assembler
tries to interpret it as a label or variable.


All the best,

Ian

Ian D. Nichols,
Toronto, Canada

----- Original Message ----- From: "Jamal Mazrui" <empower@xxxxxxxxx>
To: <programmingblind@xxxxxxxxxxxxx>
Sent: Wednesday, February 20, 2008 1:43 PM
Subject: Re: what is Hex?


By the way, I think someone said that a hex number starts with 0. I don't think that's quite right. C derived languages typically distinguish a hex
number with a preceding 0x, but the number is what follows the x.  Other
languages or contexts use different conventions to distinguish hex from
decimal, e.g., Visual Basic uses a preceding &h sequence and Unicode uses
a preceding u.  In other contexts, the number is understood to be hex, so
no additional prefix or suffix is needed.

Here is a long Wikipedia article on hex
http://en.wikipedia.org/wiki/Hexadecimal

Cheers,
Jamal
__________
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 2890 (20080220) 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: