Author Topic: Adress by letter?  (Read 3070 times)

Borneq

  • Guest
Adress by letter?
« on: December 14, 2012, 04:55:26 AM »
I view sample except2.asm from Except32.zip from http://godevtool.com/ExceptFrame.htm
Is unclear for me what is a letter B and D? CMP B[EXC_TYPE],104D
Code: [Select]
OR B[HANDLERFLAG],1     ;ensure that read/write message is written into listbox
CMP B[EXC_TYPE],104D    ;see if read test
TEST B[HANDLERFLAG],1   ;see if first read/write message
AND B[HANDLERFLAG],0FEh ;don't come here again
CMP D[EBX+14h],1        ;see if write error flag from 1st part of array
ADD D[RECT],2           ;allow for lhs border
MOV D[MESSDELAY],3000D  ;3 seconds

ragdog

  • Member
  • ****
  • Posts: 610
Re: Adress by letter?
« Reply #1 on: December 14, 2012, 05:11:11 AM »
Hi

I canot Goasm but i think B for Byte and D for dword ;)

Borneq

  • Guest
Re: Adress by letter?
« Reply #2 on: December 14, 2012, 06:34:57 AM »
Is "CMP B[EXC_TYPE],104D"

dedndave

  • Member
  • *****
  • Posts: 8823
  • Still using Abacus 2.0
    • DednDave
Re: Adress by letter?
« Reply #3 on: December 14, 2012, 06:40:33 AM »
that one caught my eye, too - lol
but "104D" is 104 decimal   :P
so, that is a valid byte comparison

Donkey

  • Moderator
  • Member
  • *****
  • Posts: 195
  • ASS-embler
    • Donkey's Stable
Re: Adress by letter?
« Reply #4 on: December 16, 2012, 01:06:04 PM »
Hi,

As stated above the type indicators (BWD & Q) are used to specify the width of the data being acted about when it is not implicite in the instruction. That normally happens when moving absolutes into and out of memory as well as other partial mov instructions such as MOVSX. Unlike MASM, GoAsm does not strongly type memory based data so you must specify how much you wish to act upon.

Edgar
"Ahhh, what an awful dream. Ones and zeroes everywhere...[shudder] and I thought I saw a two." -- Bender
"It was just a dream, Bender. There's no such thing as two". -- Fry
-- Futurama

Donkey's Stable