Here are links to get a freeware c compiler,this is for dos,If you use a unix then you already have a compiler.After you rite a program type this: gcc blah.c -o blah.com,that will make you an executable program,type blah at the prompt to run it(a duh!).

FilenameCC++What is it for
readme.1st
no
no
readme
csdpmi3b.zip
Yes
Yes
DPMI
bnu27b.zip
Yes
Yes
binary utils
djdev201.zip
Yes
Yes
DJGPP development kit
faq202b.zip
No
No
Faq
gcc2721b.zip
Yes
Yes
GCC
gdb416b.zip
No
No
GNU debug
gpp2721b.zip
No
Yes
C++ version of GCC
lgp271b.zip
No
Yes
C++ libraries
mak375b.zip
Yes
Yes
GNU make
txi390b.zip
No
No
The help system

If you want to learn network programming with c for unix systems read this: Beej's guide to network programming

A Crash Course in UNIX TCP/IP Socket Programming by John Selbie

Here is a nice C tutorial: C tutorial

Here's another C tutorialctutorial

comp.lang.c FAQ

Instructions for installing dgjpp:DJGPP How-To install,by me!

Here is the a86 assembler,a lot of code you find wont compile on this,but it is the easyest assembler to use.If your just starting out with asm get this.Its shareware so pay 50$ if you like it,its not crippled in any way though.

a86 the assembler with documents

d86 a debugger for use with a86 code,lets you use asm commands directly on the memory,if your advanced with asm you can look at the rom,or any other part of memory,read the docs.

SEGMENTS AND OFFSETS UNDER CONSTRUCTION

Here is 1 important bit though SEGMENT:OFFSET,sooo 2222h:1111h

2222h=SEGMENT,and 1111h=offset

Intel opcodes upto the 486

GAVIN'S GUIDE TO 80x86 ASSEMBLY

The following is an excerpt from "VLA Presents: Intro to Assembler" Other VLA tutorials: asm0.htm asm1.htm asm2.htm asm3.htm




OFFSET = SEGMENT*16

SEGMENT = OFFSET /16 ;note that the lower 4 bits are lost

SEGMENT * 16 |0010010000010000----| range (0 to 65535) * 16

+

OFFSET |----0100100000100010| range (0 to 65535)

=

20 bit address |00101000100100100010| range 0 to 1048575 (1 MEG)

This shows how DS:SI is used to construct a 20 bit address.




ok back to me!!

see the last line of that? DS:SI?,remember its like this : DATA SEGMENT:OFFSET

soooo, DS must = the data SEGMENT,& SI must be the OFFSET.DS,could also be replaced with CS.

Ok,here Is a list of the basic registers,im not putting the 32 bit ones yet,cuss I dont use them,so I couldnt teach them.

DS
registernamehow many bitsuse
IPInstruction Pointercontians the offset the next instruction
SPcontians the offset of the stack
CScontians the address of the code segment
Data Segmentcontians the address of the data segment
SSStack Segmentcontains the address of the stack segment
AX
UNDER CONSTRUCTION STILL!!!