豫豫言文档API ATLAS
入口包说明.html
97 模块899 名称
← 全部模块

模块 / 43

寄存器降级。豫

寄存器降级。豫

56公开名称

指移

公开
化「爻」而化「整数」而化「整数」而(「列」于「机器片」)

文言:诸操作数不复入内存之栈,而居于寄存器;栈深定则其寄存器定。汉语:寄存器式降级。虚拟操作数栈的第 d 项固定映射到物理寄存器(超出寄存器数则溢出到帧槽),常量与比较可与后继指令融合,函数入口一次性检查栈深与调用栈。ARM64 与 AMD64 共用同一份遍历,只在原语层分派。 文言:架构之分,止于此层。汉语:以下每个指原语函数按第一个参数分派到臂或兼容原语。

指立即

公开
化「爻」而化「整数」而化「整数」而(「列」于「机器片」)

暂无说明。

指载局部

公开
化「爻」而化「整数」而化「整数」而(「列」于「机器片」)

暂无说明。

指存局部

公开
化「爻」而化「整数」而化「整数」而(「列」于「机器片」)

暂无说明。

指载全局

公开
化「爻」而化「整数」而化「整数」而(「列」于「机器片」)

暂无说明。

指存全局

公开
化「爻」而化「整数」而化「整数」而(「列」于「机器片」)

暂无说明。

指二元

公开
化「爻」而化「整数」而化「整数」而化「整数」而(「列」于「机器片」)

暂无说明。

指二元立

公开
化「爻」而化「整数」而化「整数」而化「整数」而化「整数」而(「列」于「机器片」)

暂无说明。

指移位

公开
化「爻」而化「整数」而化「整数」而化「整数」而化「整数」而(「列」于「机器片」)

暂无说明。

指移位立

公开
化「爻」而化「整数」而化「整数」而化「整数」而(「列」于「机器片」)

暂无说明。

指除

公开
化「爻」而化「整数」而化「整数」而化「整数」而化「字符串」而化「字符串」而化「字符串」而化「整数」而(「列」于「机器片」)

暂无说明。

指比较

公开
化「爻」而化「整数」而化「整数」而(「列」于「机器片」)

暂无说明。

指比较立

公开
化「爻」而化「整数」而化「整数」而化「整数」而(「列」于「机器片」)

暂无说明。

指置

公开
化「爻」而化「整数」而化「整数」而(「列」于「机器片」)

暂无说明。

指跳条件

公开
化「爻」而化「整数」而化「字符串」而(「列」于「机器片」)

暂无说明。

指跳

公开
化「爻」而化「字符串」而(「列」于「机器片」)

暂无说明。

指跳条件远

公开
化「爻」而化「整数」而化「字符串」而(「列」于「机器片」)

文言:远之条件跳:臂则反条件跳过一无条件之跳,兼容之 rel32 本已足。汉语:远距离条件跳转(大函数用):ARM64 用“反条件跳过 + b”,x86-64 的 rel32 条件跳本来就够远。

指零跳远

公开
化「爻」而化「整数」而化「字符串」而(「列」于「机器片」)

暂无说明。

指非零跳远

公开
化「爻」而化「整数」而化「字符串」而(「列」于「机器片」)

暂无说明。

指零跳

公开
化「爻」而化「整数」而化「字符串」而(「列」于「机器片」)

暂无说明。

指非零跳

公开
化「爻」而化「整数」而化「字符串」而(「列」于「机器片」)

暂无说明。

指选择

公开
化「爻」而化「整数」而化「整数」而化「整数」而(「列」于「机器片」)

暂无说明。

指载内存

公开
化「爻」而化「整数」而化「整数」而化「整数」而化「整数」而化「整数」而化「字符串」而化「整数」而化「整数」而(「列」于「机器片」)

暂无说明。

指存内存

公开
化「爻」而化「整数」而化「整数」而化「整数」而化「整数」而化「整数」而化「字符串」而化「整数」而化「整数」而(「列」于「机器片」)

暂无说明。

指调用

公开
化「爻」而化「字符串」而(「列」于「机器片」)

暂无说明。

指陷阱

公开
化「爻」而(「列」于「机器片」)

暂无说明。

兼验绝对

公开
化「址式」而「有」

文言:兼容之位置无关未备,遇之则止。汉语:x86-64 的位置无关模式尚未实现(macOS x86-64 与 Windows 时补),遇到即报错。

指装址

公开
化「爻」而化「址式」而化「整数」而化「整数」而(「列」于「机器片」)

文言:装名义之址于寄存器,依址式。汉语:按地址模式把名义地址装入寄存器。

指存参

公开
化「爻」而化「址式」而化「整数」而化「整数」而化「整数」而(「列」于「机器片」)

暂无说明。

指页数

公开
化「爻」而化「整数」而(「列」于「机器片」)

暂无说明。

指存零

公开
化「爻」而化「址式」而化「整数」而化「整数」而(「列」于「机器片」)

暂无说明。

虚拟寄存器数

公开
化「爻」而「整数」

暂无说明。

虚拟寄存器

公开
化「爻」而化「整数」而「整数」

暂无说明。

参数寄数

公开
化「爻」而「整数」

暂无说明。

参数寄

公开
化「爻」而化「整数」而「整数」

暂无说明。

栈帧槽上限

公开
「整数」

文言:局部与溢出之槽逾此,则入函即陷。汉语:单个函数局部槽与操作数栈槽合计上限;使 ARM64 的四字节缩放偏移不超出十二位立即数。超出的函数被降为入口立即陷阱,与旧降级中操作数栈越界即陷的行为一致。

结果寄数

公开
化「爻」而「整数」

文言:函数多结果,依次置于结果寄存器。汉语:结果寄存器:ARM64 为 x0 至 x3;AMD64 为 eax、edx、ecx。一个函数至多返回这么多个结果。

结果寄

公开
化「爻」而化「整数」而「整数」

暂无说明。

指局偏

公开
化「爻」而化「整数」而「整数」

暂无说明。

指序言

公开
化「爻」而化「址式」而化「整数」而化「整数」而化「整数」而化(「列」于「整数」)而化「字符串」而(「列」于「机器片」)

暂无说明。

指尾声不返

公开
化「爻」而化「整数」而化「整数」而化(「列」于「整数」)而(「列」于「机器片」)

文言:尾声而不返,为尾调之桩所用。汉语:不带返回指令的尾声(尾调桩用)。

指尾声

公开
化「爻」而化「整数」而化「整数」而化(「列」于「整数」)而(「列」于「机器片」)

暂无说明。

指入口

公开
化「爻」而化「整数」而化「爻」而化「字符串」而化「字符串」而(「列」于「机器片」)

暂无说明。

指导入桩

公开
化「爻」而化「整数」而(「列」于「机器片」)

暂无说明。

指助手们

公开
化「爻」而化「整数」而(「列」于「机器片」)

暂无说明。

条件码

公开
化「网页指令」而「整数」

暂无说明。

二元码

公开
化「网页指令」而「整数」

暂无说明。

寄帧

公开
「元类型」

暂无说明。

寄降级函数

公开
化「爻」而化「址式」而化(「列」于「整数」)而化((「列」于(「整数」合「整数」))合(「列」于(「字符串」合「字符串」合「整数」))合(「列」于(「整数」合「整数」合(「列」于「网页指令」)))合(「列」于(「字符串」合「整数」)))而化「整数」而化(「整数」合「整数」合(「列」于「网页指令」))而化((「数组引用类」于(「整数」合「整数」))合「整数」)而(「列」于「机器片」)

文言:函数之降,自其签名始,遍历指令,终以序言尾声裹之。汉语:把一个函数降为机器片。参数为架构标志、数据段描述地址表、模块、函数号、函数。遍历按结构化控制维护虚拟栈深与控制帧,常量和比较与后继指令融合,最后按实际用到的栈深生成序言和尾声。控制帧为 种(零块、一循环、二条件)、基深、结果数、分支标、结束标、否则标。待种为零无待发、一待发常量、二待发比较。

目标入口

公开
化「降级目标」而化「址式」而化「整数」而化「爻」而化「整数」而化「字符串」而化「字符串」而(「列」于「机器片」)

文言:目标之入口:裸机者立基寄、呼启动而报完成;Linux 者移栈、映动态之区、立基寄、呼启动而 exit_group;苹果者存 dyld 之寄、以锚距求全局基址、移栈、立基寄、呼启动而返零。汉语:按目标生成程序入口:裸机见「指入口」;Linux 见「臂Linux入口」「兼Linux入口」;macOS 见「臂苹果入口」(x86-64 尚未实现)。

目标导入桩

公开
化「降级目标」而化「址式」而化「整数」而化(「字符串」合「字符串」合「整数」)而(「列」于「机器片」)

文言:导入之桩,依其绑定:服务者入内核,系统调用者入 Linux,库函数者经导入之槽入 libSystem,常量者径返其值,他目标之导入为陷阱。号者导入之序。汉语:按导入的入口绑定生成导入桩:内核服务绑定用「指导入桩」,系统调用绑定用 Linux 导入桩,库函数绑定用 macOS 导入桩(第 号 个导入用第 号+1 个导入槽,第 0 个槽是 ___error),常量绑定(目标内建的平台号)直接返回常量,基址绑定返回线性内存基址的低或高 32 位,其他目标的导入是陷阱桩。

目标助手们

公开
化「降级目标」而化「址式」而化「整数」而(「列」于「机器片」)

文言:内存之助手,依目标定求块之术。汉语:按目标生成线性内存助手:裸机向内核服务二二求块;Linux 的动态区已在入口映射;macOS 的动态区是数据段里预留的零填充区,地址按相对址式求得。

目标降级用户模块

公开
化「降级目标」而化((「列」于(「整数」合「整数」))合(「列」于(「字符串」合「字符串」合「整数」))合(「列」于(「整数」合「整数」合(「列」于「网页指令」)))合(「列」于(「字符串」合「整数」)))而化「爻」而化「整数」而化「整数」而化(「列」于「整数」)而「字节串」

文言:模块之降,先立入口,次立诸导入之桩,次立诸函数,末缀整批内存之助手,皆连于用户代码之始址。入口、导入之桩、助手、址式与始址依目标而定,函数之降唯依指令之集与址式。汉语:把已验证模块按目标降为用户代码字节。全局基址是元数据中全局值的(名义)起始地址,段址们是各数据段描述符(名义)地址,页容量是线性内存至多页数。函数、导入桩和助手的标号在全部片内独一。入口、导入桩、助手、地址模式与代码起址随目标而变;函数本身的降级只取决于指令集与地址模式。

寄降级用户模块

公开
化「爻」而化((「列」于(「整数」合「整数」))合(「列」于(「字符串」合「字符串」合「整数」))合(「列」于(「整数」合「整数」合(「列」于「网页指令」)))合(「列」于(「字符串」合「整数」)))而化「爻」而化「整数」而化「整数」而化(「列」于「整数」)而「字节串」

文言:裸机之降,目标为裸机。汉语:裸机用户模块降级(即以裸机目标调用「目标降级用户模块」)。

目标降级简单模块

公开
化「降级目标」而化((「列」于(「整数」合「整数」))合(「列」于(「字符串」合「字符串」合「整数」))合(「列」于(「整数」合「整数」合(「列」于「网页指令」)))合(「列」于(「字符串」合「整数」)))而化「爻」而「字节串」

文言:无内存无全局之模块,径降之。汉语:降级不带线性内存、全局和数据段的简单模块(普通返回、内核自检用例等):先验证,再以零页容量、零全局基址降级。

降级简单模块

公开
化「爻」而化((「列」于(「整数」合「整数」))合(「列」于(「字符串」合「字符串」合「整数」))合(「列」于(「整数」合「整数」合(「列」于「网页指令」)))合(「列」于(「字符串」合「整数」)))而化「爻」而「字节串」

暂无说明。