当前位置:文档之家› MIPS汇编语言

MIPS汇编语言


无符号数比较小于时置位 sltu $s1, $s2, $s3 比较小于立即数时置位 sltiu $s1, $s2, 100
j 2500 无 跳转 条 件 跳转至寄存器所指的位置 jr $ra 跳 转 跳转并链接 jal 2500
MIPS汇编语言 类 指令 别 加 减 加立即数 无符号加 无符号减 举例 add $s1, $s2, $s3 sub $s1, $s2, $s3 addi $s1, $s2, 100 addu $s1, $s2, $s3 subu $s1, $s2, $s3 含义 $s1 = $s2 + $s3 $s1 = $s2 - $s3 $s1 = $s2 + 100 $s1 = $s2 + $s3 $s1 = $s2 - $s3 $s1 = $s2 + 100 $s1 = $epc Hi, Lo = $s2 × $s3 Hi, Lo = $s2 × $s3 Lo = $s2 / $s3 Hi = $s2 mod $s3 Lo = $s2 / $s3 Hi = $s2 mod $s3 $s1 = Hi $s1 = Lo $s1 = Memory[$s2 + 20] Memory[$s2 + 20] = $s1 $s1 = Memory[$s2 + 20] Memory[$s2 + 20] = $s1 $s1 = Memory[$s2 + 20] Memory[$s2 + 20] = $s1 $s1 = Memory[$s2 + 20] Memory[$s2 + 20] = $s1; $s1 = 0或1 $s1 = 100 * 2^16 $s1 = $s2 & $s3 $s1 = $s2 | $s3 $s1 ~($s2 | $s3) $s1 = $s2 & 100 $s1 = $s2 | 100 $s1 = $s2 << 10 $s1 = $s2 >> 10 备注 三个操作数;检测溢出 三个操作数;检测溢出 加常数,检测溢出 三个操作数;不检测溢出 三个操作数;不检测溢出 加常数;不检测溢出 复制异常PC到专用寄存器 64位有符号积存在Hi,Lo中 64位无符号积存在Hi,Lo中 Lo = 商, Hi = 余 无符号商和余数 用来获得Hi的拷贝 用来获得Lo的拷贝 将一个字从内存取到寄存器中 将一个字从寄存器中存到内存中 将半个字从内存取到寄存器中 将半个字从寄存器中存到内存中 将一个字节从内存取到寄存器中 将一个字节从寄存器中存到内存中 取字作为原子交换的前半部分 存字作为原子交换的后半部分 取立即数并放在高16位 三个寄存器操作数;按位与 三个寄存器操作数;按位或 三个寄存器操作数;按位或非 和常数按位与 和常数按位或 根据常数左于时置位 件 跳 转 小于立即数时置位
beq $s1, $s2, 25 bne $s1, $s2, 25 slt $s1, $s2, $s3 slti $s1, $s2, 100
if($s1 == $s2)跳至PC + 4 + 100 if($s1 != $s2)跳至PC + 4 + 100
相等检测; 和PC相关的跳转 不相等检测; 和PC相关的跳转
if($s2 < $s3) $s1 = 1;否则 $s1 = 0 比较是否小于;补码形式 if($s2 < 100) $s1 = 1;否则 $s1 = 0 比较是否小于常数;补码形式 if($s2 < $s3) $s1 = 1;否则 $s1 = 0 比较是否小于;自然数 if($s2 < 100) $s1 = 1;否则 $s1 = 0 比较是否小于常数;自然数 跳至10000 跳至$ra $ra = PC + 4;跳至10000 跳转至目标地址 用于switch语句,以及过程调用返回 用于过程调用
无符号加立即数 addiu $s1, $s2, 100 算 术 从协处理器寄存器中获得 mfc0 $s1, $epc 运 算 乘 mult $s2, $s3 无符号乘 除 无符号除 从Hi中获得 从Lo中获得 取字 存字 取无符号半字 存半字 数 据 取无符号字节 传 输 存字节 取链接字 存条件字 立即数读入高16位 与 或 或非 逻 辑 与立即数 运 算 或立即数 逻辑左移 逻辑右移 multu $s2, $s3 div $s2, $s3 divu $s2, $s3 mfhi $s1 mflo $s1 lw $s1, 20($s2) sw $s1, 20($s2) lhu $s1, 20($s2) sh $s1, 20($s2) lbu $s1, 20($s2) sb $s1, 20($s2) ll $s1, 20($s2) sc $s2, 20($s2) lui $s1, 100 AND $s1, $s2, $s3 OR $s1, $s2, $s3 NOR $s1, $s2, $s3 ANDi $s1, $s2, 100 Ori $s1, $s2, 100 sll $s1, $s2, 10 srl $s1, $s2, 10
相关主题