对于学习和从事计算机和电子相关专业的人,汇编是绕不过的一个“坎”,很多人觉得太复杂,其实仔细看语法和语义,无非就是按部就班固定的东西,现在我们详细看看汇编的语法和语义,以下部分参考Github上的
1.MOV-Move/Copy
将一个寄存器或者内存单元里面的内容拷贝到另一个寄存器或者内存单元中,或者将内存单元中的值、寄存器中的变量赋值为立即数。
sy:
mov dest, src
~~src是源操作数,应该是一个寄存器或者内存操作数
~~源操作数和目的操作数不能同时是取自内存的操作数
2.MOVZX-Move and Extend
拷贝并扩展一个lower spaced(提供较低地址空间--位数少的)内存/寄存器的值到一个可以提供较大地址空间的内存/寄存器单元
sy:
mov zx src, dec
~~目的操作数的位数>=源操作数的位数
~~src应该是一个寄存器/内存操作数
~~源操作数和目的操作数不能同时是取自内存的操作数
~~只能用户无符号数
Eg:
movzx eax,ah
movzx cx , al
--为扩展有符号数,我们使用向CBW(convert byte to word)、CWD(convert word to double)这样的指令
--CBW扩展AL寄存器至AX
--CWD扩展AX到DX:AX寄存器对
3.ADD--Addition
sy:
add dest, src
dest=dest&