I know this isn't a Win32ASM question but I couldn't find anywhere more appropriate to post.

I have a little problem, as I am new and just learning assembler. I have the folowing program:

exCode DB 0
speed DB 99 ; one byte variable


mov ax, @data ; Initialise DS to address
mov ds, ax ; of data segment

mov ax, 1 ; Move immidiate data into
mov bx, 2 ; registers
mov cx, 3
mov dx, 4

mov ah, ; Load values of speed into ah
mov si, offset speed ; Load address of speed into si

What I don't understand is why the value loaded into ah (speed) equals 63 and not 99 as defined above, I checked using TD? What am I missing? Greatful for any help. Thanks.

// SuperCali
Posted on 2001-09-04 12:37:10 by SuperCali
AH is 63 Hexa which is 99 Decimal :)

If you want 99 hexadecimal then you must write this

speed DB 99H ; one byte variable

That's it :)


Posted on 2001-09-04 12:56:48 by latigo
doh... I seriously need to take a break and clear my mind, been bent over these books for ages :). Well thanks for the answer anyhow.

// SuperCali
Posted on 2001-09-04 16:13:25 by SuperCali