冯诺依曼计算机,将计算机分为5大部件:运算器,控制器,存储器,输入设备,输出设备。运算器和控制器共同执行指令。指令和数据一样,保存为二进制数据。运算器和控制器共同组成CPU,CPU执行机器指令,也就是二进制数。机器指令难于阅读,编写。所以人们用英语单词来表示机器语言,这种方式被称为汇编语言。
用汇编语言编程就是在和立即数,寄存器,内存在打交道。
寄存器有8个,EAX,EBX,ECX,EDX,EDI,ESI,EBP,ESP。
内存有不同的寻址方式,下面会详细说明。
movb
复制字节数据。
mov指令有两个操作数,源操作数和目标操作数。源操作数可以为立即数,寄存器,内存地址,目的操作数可以为寄存器,内存地址。两者不能同时为内存地址。
所有5种变化:
movb $1,%eax
movb $1,list
movb %al,%cl
movb %al,list
movb list,%al
.section .data
list:.byte 0,0,0,0,0,0,0,0,0,0,0,0,0
.section .text
.global main
main:
pushl %ebp
movl %esp,%ebp
movb $'H',list
movb $'E',list+1
movb $'L',list+2
movb $'L',lis+3
movb $'O',list+4
movb $',',list+5
movb $'W',