基本计算指令

基本计算指令 这里的汇编指令均基于x86-64架构 0. 先验知识 0.1 寄存器设置 一个x86-64的中央处理单元包含一组16个64位通用目的寄存器。这些寄存器用来存储整数数据和指针。指令可以对这16个寄存器的低位字节中存放的不同大小的数据进行操作。字节级操作可以访问最低的字节,16位操作可以访问最低的2个字节,32位操作可以访问最低的4个字节,而64位操作可以访问整个寄存器。 3. 寻址方式 1. 数据传送指令 最简单形式的数据传送指令–mov类。这些指令把数据从源位置复制到目的位置,不做任何变化。mov类指令由四条指令组成:movb, movw, movl,movq.这些指令都执行相同的操作,区别在于它们操作的数据大小不同:分别是1,2,4,8字节。 由于历史原因,Intel处理器将16位作为一个字(w),8位为一个字节(b),32位为双字(l),64位为4字(q) 指令 效果 描述 MOV S D D <- S 传送 movb 传送字节 movw 传送字 movl 传送双字 movq 传送四字 movabsq I, R 传送绝对的四字 传送指令的两个操作数不能都指向内存位置。将一个值从一个内存位置复制到另一个内存位置需要两个步骤,第一个指令将源值加载到寄存器,第二条指令将该寄存器写入目的位置。 example C code...

February 25, 2021 · 2 min · 李昌