X86 LGS/LFS指令详解

来源:互联网 发布:人工智能的好处和坏处 编辑:程序博客网 时间:2024/05/18 18:02

SDM指令功能描述(LGS/LFS)
总体描述:
用32位或48位或64的数据加载16位GS/FS段选择符和16或32位的通用寄存器值,其中通用寄存器在目的操作数中。
LGS/LFS (16or32or64)通用寄存器, (32or48or64)内存变量的地址

伪代码:64位模式:if(selector is no NULL){    if((selector指定的偏移大于指定的描述符表的limit) or        (访问权限说明不是数据段也不是可读代码段) or      (是数据段或非一致性代码段的情况下 && (RPL>DPL or CPL>DPL)))    {        GP    }    else if(描述符中present位为0)    {        GP    }    selector = SRC中的值    descriptor = 根据selector访问相应表得到的描述符}else if(selector is NULL){    selector = NULL    descriptor = NULL}DEST = SRC32位模式:if(selector is not NULL){    if((selector指向gdt或者ldt超出了gdt或ldt的limit) or      (描述符的意义说明不是数据段也不是可读的代码段) or      (在(RPL>DPL 或 CPL>DPL)的前提下,段不是数据段也不是非一致性代码段))    {        GP    }    else    {        选择符赋值        段描述符(对软件不可见)赋值    }}else(selector is NULL){    选择符=0    段描述符(对软件不可见)=0}DEST=*(SRC)16位实模式DS=*(SRC+2)DEST=*(SRC)

标志位影响:

相关异常:
GP:当显示或隐示的使用CS, DS, ES, FS, GS加上一个偏移作为内存访问地址时超出limit
SS:使用SS和一个指针访问内存超出ss段limit
UD:当使用了LOCK prefix的时候

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 如果新兵老被老兵打怎么办求求个位 做古董拍卖诈骗被警察抓了怎么办 武汉个人社保怎么办停转到海南来 狗狗车祸前脚软组织受伤了怎么办 6岁儿童夜里盗汗惊战发抖怎么办 一个月大的小狗尾巴掉毛怎么办 口袋妖怪用修改器被ban了怎么办 联币金融提现不到账怎么办 秘密花园的手抄报怎么办?五年级 雷蛇鼠标不亮了怎么办呢 汽车后备箱的垫子好臭怎么办 摩托尾箱内衬味道太重怎么办 买房子把办贷款的单据丢了怎么办 鞋盒破损卖家拒绝退货怎么办 顺丰快递退回发件人签收失败怎么办 客户收到衣服后说衣服破损怎么办 纱窗被老鼠咬了个洞怎么办 双色印刷机开槽刀调不动怎么办 水管软管两端的螺帽下包生锈怎么办 棉花被子盖时间长了被芯变小怎么办 垫的被子发霉了啊没有地方晒怎么办 小孩拉尿在丝棉被棉怎么办 把兔子养大了竟然会咬人怎么办 小兔子生下来母兔子不喂奶怎么办 11个月的宝宝肚子有小白虫怎么办 电焊把脸烤了痒的不行怎么办? 还没满月的宝宝吐奶怎么办 周岁宝宝发烧腹泻吃药老吐怎么办 生完宝宝后肚皮很黑怎么办 两个月宝宝抵抗力差总生病怎么办 两岁宝宝只会说几个简单的词怎么办 两岁宝宝对绘本不感兴趣怎么办 一岁十个月宝宝不爱吃饭怎么办 孩子上三年级学习太差应该怎么办 mac系统打数字出显符号怎么办 我太粗心了工作中总犯错怎么办 四年级的孩子数学计算总粗心怎么办 小孩做作业拖拉的很厉害怎么办 二年级孩子做作业太粗心怎么办 发现孩子做作业时玩手机怎么办 高三孩子考试时慌乱老粗心怎么办