1.常用汇编指令
- 寄存器:EAX、EBX、ECX、EDX为通用寄存器,E开头的为寄存器。EBP、ESP为堆栈寄存器。
- 常用指令:
mov eax,ebx:将ebx寄存器中的数据复制到eax中。
push mem :将内存mem中的值入栈,栈顶指针esp先自减4,得到新的地址为mem所存的地址。
pop [ebx]:将栈顶元素出栈后放入ebx寄存器中。先出栈再移动栈顶指针。
add eax,10:将寄存器eax中的值加10后存入原址.
sub eax,10:将寄存器eax中的值减10后存入原址.
inc eax:寄存器eax中的值自增1.
dec eax:寄存器eax中的值自减1.
imul eax,ebx:eax和ebx中的值相乘后存入eax中。
imul eax,ebx,ecx:ebx和ecx中的值相乘后存入eax中。
jmp:跳转到某一地址
je(equal): 当相等时跳转
jz(zero):当结果为0时跳转
jne(not equal):当结果不等时跳转
jg(greater):大于时跳转
jge(greater or equal):大于等于时跳转
jl(less):小于时跳转
jle(less or equal):小于等于时跳转
cmp:比较两数的值,结果会改变cpsr中的判断位。
call:调用子函数
ret:子函数返回
2.CISC和RISC的概念
CSIC(complex):复杂指令集,指令长度不固定,指令系统庞大数目在200条以上,大多数采用微程序控制,各种指令执行时间相差很大。
RISC:精简指令集,指令长度固定,指令格式种类少,只有LOAD/STORE一种存取方式,采用指令流水线的方式,通常在一个周期内完成。
二者相比:RISC运算速度更快,RISC更能充分利用芯片面积,RISC可降低成本提高可靠性,RISC有利于编程优化。