<?xml version="1.0" encoding="utf-8"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>DaniWeb IT Discussion Community</title>
		<link>http://www.daniweb.com/forums/</link>
		<description>Tech support, programming, web development, and internet marketing community. Forums to get free computer help and support.</description>
		<language>en-US</language>
		<lastBuildDate>Wed, 09 Dec 2009 11:40:30 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>60</ttl>
		<image>
			<url>http://www.daniweb.com/alphaimages/misc/rss.jpg</url>
			<title>DaniWeb IT Discussion Community</title>
			<link>http://www.daniweb.com/forums/</link>
		</image>
		<item>
			<title>With permission  pLeAsE...</title>
			<link>http://www.daniweb.com/forums/thread240112.html</link>
			<pubDate>Fri, 20 Nov 2009 22:40:46 GMT</pubDate>
			<description>Give me convience or give me death! 
 
The would-be programmer is 
introduced in some way to what could 
be compared to a CS101 course. 
He is taught about algorithms, 
variables, procedures, recursive 
functions, data structures and arrays. 
One of the fundamental steps for 
any program...</description>
			<content:encoded><![CDATA[<div>Give me convience or give me death!<br />
<br />
The would-be programmer is<br />
introduced in some way to what could<br />
be compared to a CS101 course.<br />
He is taught about algorithms,<br />
variables, procedures, recursive<br />
functions, data structures and arrays.<br />
One of the fundamental steps for<br />
any program development is ease of<br />
program development through<br />
incremental stages of implementation<br />
and testing and the all to important<br />
methods for procedural abstraction.<br />
This world is indefinitely growing,<br />
complicated, complex and diverse.<br />
But it doesn't require a genuis to<br />
be a programmer, nearly anyone can<br />
be trained to be a programmer and the<br />
computer science courses offered by<br />
universities train a person with<br />
no knowledge of programming from the<br />
ground up.<br />
Coding is complex but there are many<br />
steps that are technically<br />
unnecessary but make programming<br />
easier, these steps become<br />
necessities and there are very few<br />
programmers that can go without them.<br />
Convience is necessary to make<br />
programming even practical, the<br />
more convience a programmer has the<br />
better programmer he can be.<br />
Compilers, linkers, libraries,<br />
loaders, operating enviroments,<br />
device independence, all these things<br />
are for convience and without them<br />
the world would not be what we see<br />
today.<br />
<br />
In the end its just electromagnetic<br />
radiation messing with your brain.<br />
<br />
Coder 3y3ty, &quot;Give me convience or give me death!&quot;<br />
happy coding,<br />
and good day.</div> ]]></content:encoded>
			<category domain="http://www.daniweb.com/forums/forum125.html">Assembly</category>
			<dc:creator>NotNull</dc:creator>
			<guid isPermaLink="true">http://www.daniweb.com/forums/thread240112.html</guid>
		</item>
		<item>
			<title>TSR Help...</title>
			<link>http://www.daniweb.com/forums/thread233279.html</link>
			<pubDate>Mon, 26 Oct 2009 00:37:01 GMT</pubDate>
			<description><![CDATA[I am trying to create an active TSR which prints an 'A' 
when the ESC key is pressed, it doesn't work. 
Can anyone tell me what's wrong? 
 
  <div class="codeblock"> <div class="spaced"> <div style="float:right; margin-right:10px"> <a...]]></description>
			<content:encoded><![CDATA[<div>I am trying to create an active TSR which prints an 'A'<br />
when the ESC key is pressed, it doesn't work.<br />
Can anyone tell me what's wrong?<br />
<br />
 <pre style="margin:20px; line-height:13px">bits 16<br />
org 100h<br />
<br />
jmp init.tsr<br />
<br />
int1c:<br />
push ds<br />
push ax<br />
push cs<br />
pop ds<br />
call checkdos2<br />
jc int1c_e<br />
cmp byte [hotkey_found], 1<br />
jnz int1c_e<br />
call tsrapp<br />
int1c_e:<br />
pop ax<br />
pop ds<br />
iret<br />
<br />
int28:<br />
push ds<br />
push ax<br />
push cs<br />
pop ds<br />
call checkdos<br />
jc int28_e<br />
cmp byte [hotkey_found], 1<br />
jnz int28_e<br />
call tsrapp<br />
int28_e:<br />
pop ax<br />
pop ds<br />
iret<br />
<br />
checkdos2:<br />
push bx<br />
push es<br />
les bx, [InDOS]<br />
mov al, 0<br />
cmp al, byte [es:bx]<br />
jb checkdos2_e<br />
cmp al, byte [es:bx-1]<br />
checkdos2_e:<br />
pop es<br />
pop bx<br />
ret<br />
<br />
checkdos:<br />
push bx<br />
push es<br />
les bx, [InDOS]<br />
mov al, 1<br />
cmp al, byte [es:bx]<br />
jb checkdos_e<br />
xor al, al<br />
cmp al, byte [es:bx-1]<br />
checkdos_e:<br />
pop es<br />
pop bx<br />
ret<br />
<br />
InDOS&nbsp; &nbsp; &nbsp; dd 0<br />
Orig_isr9&nbsp; dd 0<br />
in_isr9&nbsp; &nbsp; db 0<br />
hotkey_found db 0<br />
hotkey_idx dw 0<br />
hotseq&nbsp; &nbsp;  db 0x1b<br />
<br />
isr9:<br />
push ds<br />
push bx<br />
push ax<br />
push cs<br />
pop ds<br />
in al, 0x60<br />
pushf<br />
cli<br />
call word far [Orig_isr9]<br />
mov ah, [in_isr9]<br />
or ah, [hotkey_found]<br />
jnz isr9_e<br />
inc byte [in_isr9]<br />
cmp al, byte [hotseq]<br />
jz isr9_foundkey<br />
jmp isr9_exit<br />
isr9_foundkey:<br />
mov byte [hotkey_found], 1<br />
isr9_exit:<br />
dec byte [in_isr9]<br />
isr9_e:<br />
pop ax<br />
pop bx<br />
pop ds<br />
iret<br />
<br />
tsrapp:<br />
push dx<br />
mov ah, 0x2<br />
mov dl, 0x41<br />
int 0x21<br />
pop dx<br />
ret<br />
<br />
pre equ $<br />
<br />
init.tsr:<br />
mov ax, 0x3509<br />
int 0x21<br />
mov [Orig_isr9], bx<br />
mov [Orig_isr9+2], es<br />
mov dx, isr9<br />
mov ax, 0x2509<br />
int 0x21<br />
mov dx, int28<br />
mov ax, 0x2528<br />
int 0x21<br />
mov dx, int1c<br />
mov ax, 0x251c<br />
int 0x21<br />
mov ax, 0x3400<br />
int 0x21<br />
mov [InDOS], bx<br />
mov [InDOS+2], es<br />
mov dx, pre<br />
add dx, 0xf<br />
shr dx, 4<br />
mov ax, 0x3100<br />
int 0x21</pre></div> ]]></content:encoded>
			<category domain="http://www.daniweb.com/forums/forum125.html">Assembly</category>
			<dc:creator>NotNull</dc:creator>
			<guid isPermaLink="true">http://www.daniweb.com/forums/thread233279.html</guid>
		</item>
		<item>
			<title>80x86 Word Memory Access</title>
			<link>http://www.daniweb.com/forums/thread232493.html</link>
			<pubDate>Fri, 23 Oct 2009 03:34:17 GMT</pubDate>
			<description>80X86 Speeding up word memory access. 
When the address of the first byte of a word lies 
at an odd address the processor must make two memory 
fetches for each byte of the word. 
But if the address of the first byte of the word lies 
at an even address the processor can pull in both bytes 
of the...</description>
			<content:encoded><![CDATA[<div>80X86 Speeding up word memory access.<br />
When the address of the first byte of a word lies<br />
at an odd address the processor must make two memory<br />
fetches for each byte of the word.<br />
But if the address of the first byte of the word lies<br />
at an even address the processor can pull in both bytes<br />
of the word in one memory fetch.<br />
<br />
If the first word of an array of words lies at an even<br />
address so will every other word in the array.<br />
1st Word__2nd Word__3rd Word<br />
|0100|0101|0102|0103|0104|0105<br />
 ^________^________^_______<br />
This speeds up performance when accessing an array<br />
of words.<br />
<br />
Assemblers usually provide an ALIGN directive to align<br />
a word at an even address.<br />
<br />
I was looking through the i386 arch manual on this, and<br />
it mentioned that there could be a slight increase in speed<br />
when the target address of control transfer instructions<br />
were evenly divisible by four, does this apply to the 8086/real-mode?<br />
<br />
<br />
Good day.</div> ]]></content:encoded>
			<category domain="http://www.daniweb.com/forums/forum125.html">Assembly</category>
			<dc:creator>NotNull</dc:creator>
			<guid isPermaLink="true">http://www.daniweb.com/forums/thread232493.html</guid>
		</item>
		<item>
			<title>Code Snippet Passive TSR Hello World</title>
			<link>http://www.daniweb.com/code/snippet226609.html</link>
			<pubDate>Tue, 29 Sep 2009 19:21:10 GMT</pubDate>
			<description>Assembles under NASM 16-bit,  
invoke INT 0x65 to display message.</description>
			<content:encoded><![CDATA[<div>Assembles under NASM 16-bit, <br />
invoke INT 0x65 to display message.</div> ]]></content:encoded>
			<category domain="http://www.daniweb.com/forums/forum125.html">Assembly</category>
			<dc:creator>NotNull</dc:creator>
			<guid isPermaLink="true">http://www.daniweb.com/forums/thread226609.html</guid>
		</item>
		<item>
			<title>Load User gen Char set ...</title>
			<link>http://www.daniweb.com/forums/thread224434.html</link>
			<pubDate>Sun, 20 Sep 2009 18:35:27 GMT</pubDate>
			<description><![CDATA[Load a user generated character set, should work on 
computers equipped with VGA cards. 
Assembles with 16-bit NASM as an absolute binary image (.COM). 
 
  <div class="codeblock"> <div class="spaced"> <div style="float:right; margin-right:10px"> <a...]]></description>
			<content:encoded><![CDATA[<div>Load a user generated character set, should work on<br />
computers equipped with VGA cards.<br />
Assembles with 16-bit NASM as an absolute binary image (.COM).<br />
<br />
 <pre style="margin:20px; line-height:13px">bits 16<br />
org 100h<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  jmp word drip0_start<br />
&nbsp; &nbsp; char_set: times 416 db 0<br />
&nbsp; &nbsp; msg&nbsp; &nbsp; &nbsp;  db '0o l0^d user char generated',0xd,0xa<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; db 'bitmaps can also be used....',0xd,0xa,0x24<br />
&nbsp; &nbsp; &nbsp;  drip0_start:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  mov ax, 0x1a00 ; is VGA/MCGA supported?<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  int 0x10<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  cmp al, 0x1a <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  jnz drip0_end&nbsp; ; no. then exit<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  mov ax, 0x13&nbsp;  ; set video mode to 13h<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  int 0x10&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  mov ax, 0x3&nbsp; &nbsp; ; back to text-mode<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  int 0x10<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  mov ax, 0x1130 ; Return current character set<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  mov bh, 0x7&nbsp; &nbsp; ; 9*16 char set<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  int 0x10<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  push ds&nbsp; &nbsp; &nbsp;  ; Returns ptr to char set in ES:BP<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  push es&nbsp; &nbsp; &nbsp;  ; Swap DS &amp; ES to copy char set in data area<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  pop ds<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  pop es<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  add bp, 0x410<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  mov di, char_set<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  mov si, bp<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  cld<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  mov cx, 0x1a0 ; copy 416 bytes<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  rep movsb<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  push ds<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  push es<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  pop ds<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  pop es<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  mov bx, char_set<br />
&nbsp; &nbsp; &nbsp;  char_modify:&nbsp;  <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  mov al, 0x40&nbsp; &nbsp;  ; used to set bit 6<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  or [bx+0xb], al&nbsp; ; done here<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  mov [bx+0xe], al<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  mov [bx+0xd], al<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  mov [bx+0xc], al<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  add bx,byte +0x10 ; add 16 to offset in BX<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  cmp bx,0x293&nbsp; &nbsp; &nbsp; ; 293 = offset of the<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ; first byte of last 16 bytes<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  jg load_user_gen_char<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  jmp short char_modify<br />
&nbsp; &nbsp; &nbsp;  load_user_gen_char:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  push ds<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  push es<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  pop ds<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  pop es<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  mov bp, char_set ; ES:BP pointer to user gen chars<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  mov cx, 0x1a ; Change 26 characters<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  mov dx, 0x41 ; Begin at ASCI char 'A' dec: 65<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  mov bh, 0x10 ; Font Bitmap 16 bytes in length<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  xor bl, bl&nbsp;  ; table zero<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  mov ax, 0x1100&nbsp; ; Load User Generated Char Set<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  int 0x10<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  push ds<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  push es<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  pop ds<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  pop es<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  mov ax, 0x1130&nbsp; ; Return Character Set<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  mov bh, 0x7&nbsp; &nbsp;  ; 9*16 Character Set<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  int 0x10<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  push ds<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  push es<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  pop ds<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  pop es<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  add bp, 0x610<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  mov di, char_set<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  mov si, bp<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  cld<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  mov cx, 0x1a0&nbsp;  ; Copy 416 bytes<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  rep movsb<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  push ds<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  push es<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  pop ds<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  pop es<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  mov bx, char_set<br />
&nbsp; &nbsp; &nbsp; char_modify2:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  mov al, 0x40<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  or [bx+0xb], al<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  or [bx+0xc], al<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  or [bx+0xd], al<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  or [bx+0xe], al<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  add bx, byte +0x10<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  cmp bx, 0x293&nbsp;  ; offset of the last 16 bytes in char_set<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  jg load_user_char_gen2<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  jmp short char_modify2<br />
&nbsp; &nbsp; &nbsp; load_user_char_gen2:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; push ds<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; push es<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pop ds<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pop es<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mov bp, char_set&nbsp; ; ES:BP user gen char set<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mov cx, 0x1a&nbsp; ; Change 26 characters<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mov dx, 0x61&nbsp; ; starting at ASCI char 'a' dec. 97 <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mov bh, 0x10&nbsp; ; 16 bytes per font bitmask<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xor bl, bl&nbsp; &nbsp; ; table zero<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mov ax, 0x1100 ; Load User Generated Character Set<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int 0x10<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; push es<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pop ds<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mov ah, 0x9<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mov dx, msg<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int 0x21<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; wait_key:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mov ah, 0x6<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mov dl, 0xff<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int 0x21<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; jz wait_key<br />
&nbsp; &nbsp; &nbsp; drip0_end:&nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mov ax, 0x4c00<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int 0x21</pre><br />
Comments or corrections are welcome.</div> ]]></content:encoded>
			<category domain="http://www.daniweb.com/forums/forum125.html">Assembly</category>
			<dc:creator>NotNull</dc:creator>
			<guid isPermaLink="true">http://www.daniweb.com/forums/thread224434.html</guid>
		</item>
		<item>
			<title>Array...</title>
			<link>http://www.daniweb.com/forums/thread222541.html</link>
			<pubDate>Sat, 12 Sep 2009 16:09:34 GMT</pubDate>
			<description><![CDATA[I have the address of the first byte of an array, 
the address of the array +4 would get me the 
address of the fifth byte, 
the address of the array +0 would get me the 
address of the first byte. 
 
For example: 
  <div class="codeblock"> <div class="spaced"> <div style="float:right;...]]></description>
			<content:encoded><![CDATA[<div>I have the address of the first byte of an array,<br />
the address of the array +4 would get me the<br />
address of the fifth byte,<br />
the address of the array +0 would get me the<br />
address of the first byte.<br />
<br />
For example:<br />
 <pre style="margin:20px; line-height:13px">arr db 1,2,3,4,5<br />
mov bx,offset arr<br />
add bx,4<br />
mov al,[bx]</pre><br />
Is this correct?????????</div> ]]></content:encoded>
			<category domain="http://www.daniweb.com/forums/forum125.html">Assembly</category>
			<dc:creator>NotNull</dc:creator>
			<guid isPermaLink="true">http://www.daniweb.com/forums/thread222541.html</guid>
		</item>
		<item>
			<title>Addressing...</title>
			<link>http://www.daniweb.com/forums/thread222388.html</link>
			<pubDate>Fri, 11 Sep 2009 23:57:38 GMT</pubDate>
			<description>Some 16-bit stuff... 
 
A segment address is bit shifted to the left 
by four bits to form a 20-bit physical address 
and a 16-bit offset is added to the result to 
index into a segment. 
 
So 1234:0100 would create the  
physical address 12440</description>
			<content:encoded><![CDATA[<div>Some 16-bit stuff...<br />
<br />
A segment address is bit shifted to the left<br />
by four bits to form a 20-bit physical address<br />
and a 16-bit offset is added to the result to<br />
index into a segment.<br />
<br />
So 1234:0100 would create the <br />
physical address 12440<br />
<br />
Is this correct???????????</div> ]]></content:encoded>
			<category domain="http://www.daniweb.com/forums/forum125.html">Assembly</category>
			<dc:creator>NotNull</dc:creator>
			<guid isPermaLink="true">http://www.daniweb.com/forums/thread222388.html</guid>
		</item>
	</channel>
</rss>
