首页 > 编程语言 >【英特尔IA-32架构软件开发者开发手册第3卷:系统编程指南】2001年版翻译,2-3

【英特尔IA-32架构软件开发者开发手册第3卷:系统编程指南】2001年版翻译,2-3

时间:2024-10-27 18:21:09浏览次数:3  
标签:code 32 调用 代码段 2001 call IA gate segment

文件下载与邀请翻译者

学习英特尔开发手册,最好手里这个手册文件。原版是PDF文件。点击下方链接了解下载方法。

讲解下载英特尔开发手册的文章

翻译英特尔开发手册,会是一件耗时费力的工作。如果有愿意和我一起来做这件事的,那么,欢迎你的加入。

另外,我不仅仅是打算翻译这一种手册,以后,可能还需要去翻译许多的英文技术文档,以支持系统底层的教学,培养系统底层程序员。

我有钱了以后,应该是会出私钱来请人翻译一批英文技术文档。当前,暂时没钱,若是有志愿加入的,欢迎啊。

本节翻译

【原文】2.1.2. System Segments, Segment Descriptors, and Gates
Besides the code, data, and stack segments that make up the execution environment of a program or procedure, the system architecture also defines two system segments: the task-state Segment (TSS) and the LDT. (The GDT is not considered a segment because it is not accessed by means of a segment selector and segment descriptor.) Each of these segment types has a Segment descriptor defined for it.
The system architecture also defines a set of special descriptors called gates (the call gate, interrupt gate, trap gate, and task gate) that provide protected gateways to system procedures and handlers that operate at different privilege levels than application programs and procedures. For example, a CALL to a call gate provides access to a procedure in a code segment that is at the same or numerically lower privilege level (more privileged) than the current code segment. To access a procedure through a call gate, the calling procedure†  must supply the selector of the call gate. The processor than performs an access rights check on the call gate, comparing the CPL with the privilege level of the call gate and the destination code segment pointed to by the call gate. If access to the destination code segment is allowed, the processor gets the Segment selector for the destination code segment and an offset into that code segment from the call gate. If the call requires a change in privilege level, the processor also switches to the stack for that privilege level. (The segment selector for the new stack is obtained from the TSS for the currently running task.) Gates also facilitate transitions between 16-bit and 32-bit code segments, and vice versa.

【原文中,对红字单词的注释】† The word “procedure” is commonly used in this document as a general term for a logical unit or block of code (such as a program, procedure, function, or routine). The term is not restricted to the definition of a procedure in the IA-32 architecture assembly language.

【翻译】2.1.2.   系统段、段描述符和门
除了构成程序或过程执行环境的代码、数据和堆栈段之外,系统体系结构还定义了两个系统段:任务状态段(TSS)和LDT。(GDT不被认为是段,因为它不是通过段选择器和段描述符来访问的。)这些段类型中的每一个都有一个为它定义的段描述符。
系统体系结构还定义了一组称为门的特殊描述符(调用门、中断门、陷阱门和任务门),它们为在不同于应用程序和过程的特权级别上操作的系统过程和处理程序提供受保护的网关。例如,以调用门为目标的【CALL】 指令提供了对代码段中的过程的访问,该代码段与当前代码段具有【数值上相同或更低】的特权级别(更高的特权级别)。要通过调用门访问一个过程,调用过程必须提供调用门的选择器。处理器然后对调用门执行访问权限检查,将CPL与调用门的特权级别和调用门指向的目标代码段的特权级别进行比较。如果允许访问目标代码段,处理器将获得目标代码段的段选择器,并且从调用门获得该代码段的偏移量。如果本次调用需要更改特权级别,处理器也会切换到该特权级别的堆栈。(新堆栈的段选择器是从当前运行任务的TSS中获得的。)门还促进了16位和32位代码段之间的转换,反之亦然。

【对注释的翻译】†在本文档中,“过程”一词通常用作逻辑单元或代码块(如程序、过程、函数或例程)的总称。这个术语并不局限于IA-32体系结构汇编语言中的过程定义。

标签:code,32,调用,代码段,2001,call,IA,gate,segment
From: https://blog.csdn.net/2401_82825368/article/details/143221465

相关文章

  • 如何进行基础设施即代码(IAC)?
    基础设施即代码(IAC)是一种管理和配置IT基础设施的实践,主要遵循以下五个步骤:1.确立IAC的价值和理念;2.选择合适的工具和平台;3.编写和维护高质量的基础设施代码;4.实施持续集成和持续部署流程;5.进行持续的监控和反馈。从最初的设想到实施,我们都需要注意基础设施即代码的核心概念。......
  • 神经网络中的偏置(bias)究竟有什么用
    神经网络中的偏置(bias)起着至关重要的作用,主要体现在以下几个方面:一、提高模型的表达力;二、增加模型的灵活性;三、保证激活函数工作在非线性区域;四、防止模型过拟合。神经网络的偏置参数可以增加模型的表达力。简单地说,偏置可以看作是一个模型可以调整的“阈值”。一、提高模型......
  • 2024-2025-1(20241321)《计算机基础与程序设计》第五周学习总结
    这个作业属于哪个课程<班级的链接>(2024-2025-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(2024-2025-1计算机基础与程序设计第一周作业)这个作业的目标<了解并学习AI功能,回顾一周课程心得>作业正文...本博客链接https://www.cnblogs.com/guchua......
  • ESP32 使用 MAX98357 调用ESP-A2DP库播放蓝牙音乐
    ESP32-A2DP 库github链接:https://github.com/pschatzmann/ESP32-A2DP 硬件:ESP32+MAX989357+喇叭代码:(注意将其中的I2S引脚定义为自己的MAX98357相连接的引脚)最佳实践:在VSCode的PlatformIO的Library,查找ESP32-A2DP,然后将其安装进工程中。 #include"ESP_I2S.h"......
  • 【STM32+HAL库】使用通用定时器生成的PWM实现呼吸灯效果
    板子:STM32F103C8仿真软件:Proteus8软件平台:cubemx+keil1新建STM32CubeMX工程1.1配置系统时钟RCC  1.2配置定时器这里用的PB3和PA15一对在TIM2中,时钟源选择内部时钟InternalClock,通道1选择PWM输出PWMGenerationCH1通道2选择PWM输出PWMGenerationCH2 ......
  • 第46篇 1.net学习avalonia开发-安装环境
    1.安装avaloniaUI模版1.1cmd进入控制台,执行:dotnetnewinstallAvalonia.Templates2.安装AvaloniaUI可视化设计工具扩展-管理扩展(手动下载地址:https://marketplace.visualstudio.com/items?itemName=AvaloniaTeam.AvaloniaVS)然后关闭所有已经打开的vs进程后,自动安装点击M......
  • 2024-2025-1 20241320 《计算机基础与程序设计》第5周学习总结
    2024-2025-120241320《计算机基础与程序设计》第5周学习总结作业信息|这个作业属于哪个课程|https://www.cnblogs.com/rocedu/p/9577842.html|这个作业要求在哪里|https://www.cnblogs.com/rocedu/p/9577842.html#WEEK05|这个作业的目标|Pep/9虚拟机•机器语言与汇编语......
  • 【保姆级IDF】ESP32最强WIFI模式:AP+STA,实现数据中继站
    Tips:抛砖引玉,本文记录ESP32学习过程中遇到的收获。如有不对的地方,欢迎指正。目录1.前言2.实现功能3.代码思路4.代码讲解4.1AP_STA模式下的其他设备接入以及接入其他设备的WIFI配置4.2自身作为AP和STA模式下的不同套接字的创建及配置4.3WIFI事件中被调用的接受......
  • Windows 10上编译FFmpeg以支持NVIDIA GPU加速
    目录一、引言二、使用NVDIA加速的准备工作三、编译FFmpeg四、使用FFmpeg五、常见问题及解决方案六、总结一、引言        FFmpeg是一个强大的多媒体处理工具,它支持音频、视频和流媒体的录制、转换和流式传输。NVIDIAGPU提供了强大的计算能力,通过CUDA和NVENC......
  • 2024-2025-1 20241328 《计算机基础与程序设计》第五周学习总结
    2024-2025-120241328《计算机基础与程序设计》第五周学习总结作业信息课程2024-2025-1-计算机基础与程序设计作业要求2024-2025-1计算机基础与程序设计第五周作业这个作业的目标Pep/9虚拟机,机器语言与汇编语言,算法与伪代码,测试:黑盒,白盒作业正文2024-2025-1......