Not all assemblers use the same syntax, so you'll have to look up what your particular assembler is using. The GNU Assembler (invoked with 'as' in UNIX) uses AT&T syntax, so it works like this:
Code:
movl $200, %eax # Immediate mode - copy the value 200 to eax
movl %eax, %ebx # Register addressing mode - Copy the value in eax
# to ebx
movl 200, %eax # Direct addressing mode - Copy the value stored at
# memory address 200 to eax
movl (%eax), %ebx # - Indirect addressing mode (pointers) - Use the
# value in eax as an address, and then copy the value
# stored at that address to ebx
movl 4(%ebp), %eax # - Base pointer addressing mode - Same as indirect
# mode, only you use an offset. So this means fetch
# the value in ebp as an address, and then add the
# offset (4) to that address and copy the value at
# that address to eax.
There's also indexed addressing mode, but it involves at bit more explanation.
EDIT: fixed the layout breakage