首页 > 其他分享 >计算机系统基础 | HUST.CS

计算机系统基础 | HUST.CS

时间:2024-05-20 16:52:40浏览次数:29  
标签:计算机系统 结果 时置位 HUST operand EAX CS src dst

第三章

定点运算指令

以下是定点运算指令(ADD、SUB、INC、DEC、NEG、CMP、MUL、IMUL、DIV、IDIV)的汇总表格,包括每条指令的格式、操作描述及其对标志位的影响。

指令 格式 操作描述 OF(溢出标志) SF(符号标志) CF(进位标志) ZF(零标志)
ADD add src, dst dst = dst + src 结果溢出时置位 结果为负数时置位 结果进位时置位 结果为零时置位
SUB sub src, dst dst = dst - src 结果溢出时置位 结果为负数时置位 结果借位时置位 结果为零时置位
INC inc operand operand = operand + 1 结果溢出时置位 结果为负数时置位 不变 结果为零时置位
DEC dec operand operand = operand - 1 结果溢出时置位 结果为负数时置位 不变 结果为零时置位
NEG neg operand operand = -operand 操作数为最小负数时置位 结果为负数时置位 操作数非零时置位 结果为零时置位
CMP cmp src, dst dst - src(仅设置标志位,不存储结果) 结果溢出时置位 结果为负数时置位 结果借位时置位 结果为零时置位
MUL mul operand 无符号乘法:EAX = EAX * operand(结果在EDX:EAX) 结果超出目标寄存器时置位 不变 结果超出目标寄存器时置位 不变
IMUL imul operand
imul src, dst
imul imm, src, dst
有符号乘法:EAX = EAX * operand(结果在EDX:EAX)
dst = dst * src
dst = src * imm
结果超出目标寄存器时置位 不变 结果超出目标寄存器时置位 不变
DIV div operand 无符号除法:EAX = EDX:EAX / operand,余数在EDX 不变 不变 不变 不变
IDIV idiv operand 有符号除法:EAX = EDX:EAX / operand,余数在EDX 不变 不变 不变 不变

说明

  1. ADD 和 SUB:用于加法和减法操作。根据结果设置 OF, SF, CF, ZF 标志位。
  2. INC 和 DEC:用于自增和自减操作。CF 标志位保持不变。
  3. NEG:用于取负操作。如果操作数为最小负数(例如 0x80000000),则 OF 置位。
  4. CMP:用于比较操作。通过设置标志位反映比较结果。
  5. MUL 和 IMUL:用于无符号和有符号乘法。结果存储在 EDX:EAX 中(对于一操作数形式),如果结果超出目标寄存器容量,则 OF 和 CF 置位。
  6. DIV 和 IDIV:用于无符号和有符号除法。结果存储在 EAX 中,余数存储在 EDX 中。

这些指令在处理定点运算时具有不同的功能和用途,通过设置标志位来反映操作结果的特性。

标签:计算机系统,结果,时置位,HUST,operand,EAX,CS,src,dst
From: https://www.cnblogs.com/liubainian/p/18202328

相关文章

  • 配置AutoFacManger.cs
    使用配置AutoFacManger的好处是不用我们像之前一样写一层注入一层,这样自动注入只要我们命名规范的话,就可以实现不在用去Program中手动后注入创建一个类里边写  publicclassAutoFacManger:Autofac.Module{///<summary>///自动注入......
  • CSS3随机背景图片切换特效
    Tips:当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解`CSS3随机背景图片切换特效日期:2018-5-16阿珏css浏览:4572次评论:16条css3的随机背景图片淡入淡出切换特效 演示效果如本篇文章背景所示......
  • 用CSS3绘制iPhone手机
    Tips:当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解`用CSS3绘制iPhone手机日期:2017-7-3阿珏css浏览:1825次评论:1条先上效果图,先睹为快。(这绝对不是一张图片。恩~这话怎么怪怪的~)......
  • 简单的css3头像旋转与3D旋转效果
    Tips:当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解`简单的css3头像旋转与3D旋转效果日期:2017-7-10阿珏css浏览:3896次评论:2条经常会在一些网站看到评论区,评论人的头像当鼠标经过会360°旋......
  • CSP历年复赛题-P1015 [NOIP1999 普及组] 回文数
    原题链接:https://www.luogu.com.cn/problem/P1015题意解读:一个N进制数M,把M正序和M逆序相加,几次之后得到是数是回文数,如果超过30次还无法得到回文数,输出Impossible!。解题思路:M最长100位,因此需要高精度,定义数组vector<int>m来存储整数M注意:16进制中可能存在'a~f''A~F'等字母,需......
  • CSP历年复赛题-P1014 [NOIP1999 普及组] Cantor 表
    原题链接:https://www.luogu.com.cn/problem/P1014题意解读:根据z字形遍历,求第n个数。解题思路:根据题意,遍历顺序如下图所示观察得知,第i层的x/y的x+y=i+1,并且如果i是偶数,x从1开始枚举;如果i是奇数,x从i开始枚举100分代码:#include<bits/stdc++.h>usingnamespacestd;in......
  • CSP历年复赛题-P1008 [NOIP1998 普及组] 三连击
    原题链接:https://www.luogu.com.cn/problem/P1008题意解读:将 1,2,…,9共 9个数分成3组,分别组成3个三位数,且使这 3 个三位数构成 1:2:3的比例,枚举所有的组合即可。解题思路:设定三个数a、b、c枚举a,最小123,最大987b=a*2,c=a*3判断b、c是否是三位数,且a、b、c中所......
  • CSP历年复赛题-P1009 [NOIP1998 普及组] 阶乘之和
    原题链接:https://www.luogu.com.cn/problem/P1009题意解读:  利用高精度计算阶乘之和,需要用到高精度乘法(高精度乘低精度)、高精度加法。  首先,思考不利用高精度如何解题,直观方法就是遍历i从1到n,每次乘i得到i的阶乘,然后累加到结果,代码如下:#include<bits/stdc++.h>usingnam......
  • CSP历年复赛题-P1010 [NOIP1998 普及组] 幂次方
    原题链接:https://www.luogu.com.cn/problem/P1010题意解读:输出一个正整数的2的幂次方表示,需要用到二进制数学知识,将整数拆解成2的次幂之和,幂次方也要进行拆解,因此容易想到通过递归处理。解题思路:先看样例,给定整数137,要拆解成2的幂次方之和,先考虑i使得刚好137>=2^i时,i取7,因此2......
  • CSP历年复赛题-P1548 [NOIP1997 普及组] 棋盘问题
    原题链接:https://www.luogu.com.cn/problem/P2241题意解读:要在整个n*m区域计算正方形和长方形的个数,枚举法即可。解题思路:此题枚举的对象是矩形的高i和宽j,高的范围[1,n],宽的范围[1,m],然后计算在n*m区域内有多少个i*j,i==j即属于正方形,i!=j属于长方形。那么,问题就集中在了......