[A83] Re: quick data storage question


[Prev][Next][Index][Thread]

[A83] Re: quick data storage question




hehe yea it would be .dw $3... i was tired so you can't blame me

----------------------------------------------
Original Message
From: ""<ComAsYuAre@aol.com>
Subject: [A83] Re: quick data storage question
Date: Sun, 15 Apr 2001 07:44:12 EDT

>Well, except it would be .dw $3 instead of .dw $0 in your example...
>
>To clarify, db is define byte and dw is define word (or some people think 
>it's data instead of define, but that's really an irrelevent
consideration).  
>db can be used to define individual bytes or character strings, while dw's 
>main use is for defining addresses.  What's tricky about dw is that the
z80 
>processor is little endian, which means that when you store 16-bit values
in 
>memory the lower byte is stored first, then the higher byte.  For example:
>
> .dw $abcd
>Is the same as
> .db $cd,$ab
>
>A typical use of dw would be like this.
>
>goto_table_address:
>  ;de->table of addresses
>  ;a = # of address to jump to
>  ld l,a
>  ld h,0      ;put number in hl
>  add hl,hl  ;since pointers are 2 bytes, we double the #
>  add hl,de  ;add to table pointer
>  jp (hl)       ;jump to pointer
>
>With a table something like this:
>
>jump_table:
> .dw label1
> .dw label2
> .dw label3
> .dw label4
>
>Also, dw can be used for 16-bit values like scores or coordinates or such.

>Just be careful not to start using dw when you only use 8-bit values.
>
>
>In a message dated 4/15/2001 5:23:04 AM Eastern Daylight Time, 
>dArkSk8eR@buffbody.com writes:
>
>
>> ".db" defines 1 byte i.e.
>> .db $3 = $03 in ram
>> ".dw" defines 2 bytes i.e.
>> .dw $0 = $0003 in ram
>
>
>
>----
>Jonah Cohen
><ComAsYuAre@aol.com>
>http://jonah.ticalc.org
>
>
>
>

_____________________________________________
Free email with personality! Over 200 domains!
http://www.MyOwnEmail.com