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

伪代码:
64位模式:
if(selector is NULL && ((RPL==3) or (RPL!=3 && RPL!=CPL)))
{#GP
}
else if(描述符不合法)
{#GP
}
else if((selector->index超出了所在表的limit) or(RPL!=CPL) or(指向的描述符说明是不可写的数据段) or(DPL!=CPL))
{#GP
}
SS选择符赋值
SS描述符赋值
DEST=*(SRC)32位模式:
if(selector is NULL)
{#GP
}
else if(index超出了表的limit限制 or (selector->RPL != CPL) or(DPL!=CPL))
{#GP
}
else if(描述符中信息说明段不存在)
{#SS
}
SS选择符赋值
SS描述符赋值
DEST=*(SRC)16位实模式
SS=*(SRC+2)
DEST=*(SRC)

标志位影响:

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

示例代码:

struct lseg_st{long  a;int16_t b;};
void test()
{struct lseg_st lss;lss.a = 0xffffffff;lss.b = 0x08;__asm__ volatile("lssl  %0, %%eax\t\n"::"m"(les));
}

X86 LSS指令详解相关推荐

  1. X86 LEA指令详解

    1.SDM指令功能描述(LEA) LEA 总体描述: 从第二个操作数(源操作数)计算有效地址,并将结果存入第一个操作数(目的操作数).源操作数是指定了一种访存操作的内存地址,目的操作数为一个通用寄存器 ...

  2. #pragma comment和#pragma 预处理指令详解

    该宏放置一个注释到对象文件或者可执行文件. 例如,#pragma   comment(lib,"Ws2_32.lib")表示链接Ws2_32.lib这个库. 和在工程设置里写上链入 ...

  3. arm-linux-ld中的参数,arm-linux-ld指令详解

    arm-linux-ld指令详解 我们对每个c或者汇编文件进行单独编译,但是不去连接,生成很多.o 的文件,这些.o文件首先是分散的,我们首先要考虑的如何组合起来:其次,这些.o文件存在相互调用的关系 ...

  4. 九爷带你了解 nginx 日志配置指令详解

    nginx日志配置指令详解 日志对于统计排错来说非常有利的. 本文总结了nginx日志相关的配置如 access_log.log_format.open_log_file_cache.log_not_ ...

  5. movsb movsw movsd 指令详解

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/u013490896/article/d ...

  6. java中Freemarker list指令详解

    java Freemarker中list指令主要是进行迭代服务器端传递过来的List集合. 定义 <#list nameList as names> ${names} </#list ...

  7. C#中的预处理指令详解

    这篇文章主要介绍了C#中的预处理指令详解,本文讲解了#define 和 #undef.#if.#elif.#else和#endif.#warning和#error.#region和#endregion ...

  8. pragma comment的使用 pragma预处理指令详解

    pragma comment的使用 pragma预处理指令详解 #pragma comment( comment-type [,"commentstring"] ) 该宏放置一个注 ...

  9. PUSHA/PUSHAD POPA/POPAD 指令详解

    PUSHA/PUSHAD POPA/POPAD 指令详解 官方文档的解释 在<Intel Architecture Software Developer's Manual Volume 2:In ...

最新文章

  1. SpringMVC启动分析
  2. 关于验证码整理的新版本
  3. Java反射机制和动态代理实例
  4. SQLServer制作一个包含三个表的视图
  5. Android系统语言默认设置为简体中文
  6. 全国计算机等级考试题库二级C操作题100套(第59套)
  7. 摩托罗拉为什么要限制自家linux手机,摩托罗拉为何在安卓手机大放异彩的时候,突然开始衰败了呢?...
  8. Chapter1-6_Speech_Recognition(RNN-T Training)
  9. QT [004] QT SDK 和 QT quick 和 QT creator的区别历史和沿袭
  10. console错误合集
  11. InnoDB存储引擎体系架构
  12. 新计算机c盘太小,Windows自带C盘扩容方法,c盘太小怎么重新分区
  13. Failed to compile../public/UEditor/dialogs/template/template.html 1:0Module parse failed: Unexpec
  14. STM32F427/STM32F437高性能MCU微控制器介绍
  15. python天天向上的力量实验报告_Python练习11:天天向上的力量
  16. 关于text-decoration
  17. VCIP2020:面向机器视觉的HEVC码率控制
  18. #1135 : Magic Box
  19. VS2013新建Win32项目改配置x64位 图文详解
  20. 机器学习模型评价指标 -- 混淆矩阵

热门文章

  1. Win10和Ubuntu的引导修复,Ubuntu引导Win10
  2. 用Python编写一个电子考勤系统
  3. 交换机虚拟化和堆叠的区别_交换机级联与堆叠有何区别?(内含堆叠方法)
  4. 基于uni-app开发微信小程序__手牵手带你开发【懂你找图】项目
  5. html鼠标滑过导航条展开导航条,jquery css实现鼠标滑过导航菜单栏动画效果
  6. Android实现VideoView重复播放本地视频(无缝播放)
  7. 最快的TensorFlow入门32行代码
  8. 身体很弱的程序员的跑步计划
  9. 股票编辑器财务数据关键字说明
  10. 广州市积分落户政策2023年新政