豫言源码浏览器 / Source Browser

浏览项目文件与源码

yuyan · 956 行 · 54368 字节 · UTF-8
§
寻观「标准库」之书。
寻观「标准库」之「数据结构」之「字节串」之书。
寻观「裸机后端」之「机器编码」之书。
寻观「裸机后端」之「臂汇编」之书。
寻观「裸机后端」之「降级公用」之书。

「:文言:此层备寄存器降级所需之臂原语,寄存器号皆物理号。汉语:ARM64 原语。通用条件码零至九依次是 相等 不等 有符号小于 有符号大等 有符号大于 有符号小等 无符号小于 无符号大等 无符号大于 无符号小等,奇偶相邻互为取反。物理寄存器约定:x19 至 x24、x26、x27 保存虚拟操作数栈,由被调用者保存;x25 是全局基址,x28 是线性内存基址,x15 是线性内存当前字节数(苹果与视窗的 ARM64 保留 x18,故不用之),三者由入口设置后不再保存;x9 至 x13 是临时寄存器;x0 至 x7 传参,x0 返回。:」
「臂虚拟寄存器数」乃「整数」也。
「臂虚拟寄存器数」者「八」也。

「臂虚拟寄存器」乃化「整数」而「整数」也。
「臂虚拟寄存器」者会「深」而
  「第N个」授以「整数」
    于「深」
    于(「列」【「一九」,「二零」,「二一」,「二二」,「二三」,「二四」,「二六」,「二七」】)
也。

「臂条件」乃化「整数」而「整数」也。
「臂条件」者会「码」而
  「第N个」授以「整数」
    于「码」
    于(「列」【「零」,「一」,「一一」,「一零」,「一二」,「一三」,「三」,「二」,「八」,「九」】)
也。

「臂条件类」乃化「整数」而「整数」也。
「臂条件类」者会「码」而
  虑「条」者「臂条件」于「码」而
  若「小于」于「条」于「七」则
    「加」于「三」于「条」
  否则
    「加」于「一七」于「条」
也。

「臂原移」乃化「整数」而化「整数」而(「列」于「机器片」)也。
「臂原移」者会「目」而会「源」而
  若「等于」于「目」于「源」则
    「罄」
  否则
    「列」【「臂移寄」于「目」于「源」】
也。

「臂原立即」乃化「整数」而化「整数」而(「列」于「机器片」)也。
「臂原立即」者会「目」而会「值」而
  「臂立即」于「目」于「值」
也。

「臂原载局部」乃化「整数」而化「整数」而(「列」于「机器片」)也。
「臂原载局部」者会「目」而会「偏」而
  「列」【「臂载字」于「目」于「三一」于「偏」】
也。

「臂原存局部」乃化「整数」而化「整数」而(「列」于「机器片」)也。
「臂原存局部」者会「偏」而会「源」而
  「列」【「臂存字」于「源」于「三一」于「偏」】
也。

「臂原载全局」乃化「整数」而化「整数」而(「列」于「机器片」)也。
「臂原载全局」者会「目」而会「号」而
  若「大于」于「号」于「四零九五」则
    「发生事故」授以(「列」于「机器片」)于『裸机全局至多四零九六个』
  否则
    「列」【「臂载字」于「目」于「二五」于(「乘」于「号」于「四」)】
也。

「臂原存全局」乃化「整数」而化「整数」而(「列」于「机器片」)也。
「臂原存全局」者会「号」而会「源」而
  若「大于」于「号」于「四零九五」则
    「发生事故」授以(「列」于「机器片」)于『裸机全局至多四零九六个』
  否则
    「列」【「臂存字」于「源」于「二五」于(「乘」于「号」于「四」)】
也。

「:文言:二元之算,甲为被改者。汉语:操作零加、一减、二与、三或、四异或、五乘,形如 甲 = 甲 op 乙。:」
「臂原二元」乃化「整数」而化「整数」而化「整数」而(「列」于「机器片」)也。
「臂原二元」者会「操作」而会「甲」而会「乙」而
  「列」【
    若「等于」于「操作」于「零」则「臂加寄」于「甲」于「甲」于「乙」否则
      若「等于」于「操作」于「一」则「臂减寄」于「甲」于「甲」于「乙」否则
        若「等于」于「操作」于「二」则「臂与寄」于「甲」于「甲」于「乙」否则
          若「等于」于「操作」于「三」则「臂或寄」于「甲」于「甲」于「乙」否则
            若「等于」于「操作」于「四」则「臂异或寄」于「甲」于「甲」于「乙」否则「臂乘寄」
              于「甲」于「甲」于「乙」
  】
也。

「:文言:立即数可入码者一令而毕,否则借备用寄存器。汉语:加减用十二位立即数(负值改用另一种运算),与或异或用逻辑立即数,乘总是借备用寄存器。:」
「臂原二元立」乃
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  (「列」于「机器片」)
也。
「臂原二元立」者会「操作」而会「甲」而会「值」而会「备」而
  虑「符」者「有符号三二」于「值」而
  虑「回退」者
    「附加」授以「机器片」
    于(「臂立即」于「备」于「值」)
    于(「臂原二元」于「操作」于「甲」于「备」)而
    虑「负」者「减」于「零」于「符」而
    若「等于」于「操作」于「零」则(
      若「且」于(「不小于」于「符」于「零」)于(「小于」于「符」于「四零九六」)则
        「列」【「臂加立」于「甲」于「甲」于「符」】
      否则若「且」于(「小于」于「符」于「零」)于(「不大于」于「负」于「四零九五」)则
        「列」【「臂减立」于「甲」于「甲」于「负」】
      否则
        「回退」
    )
    否则若「等于」于「操作」于「一」则(
      若「且」于(「不小于」于「符」于「零」)于(「小于」于「符」于「四零九六」)则
        「列」【「臂减立」于「甲」于「甲」于「符」】
      否则若「且」于(「小于」于「符」于「零」)于(「不大于」于「负」于「四零九五」)则
        「列」【「臂加立」于「甲」于「甲」于「负」】
      否则
        「回退」
    )
    否则若「小于」于「操作」于「五」则(
      鉴「臂逻辑立」于(「减」于「操作」于「二」)于「甲」于「甲」于「值」而
        有「可有」于「片」则「列」【「片」】
        或有「可无」则「回退」
    )
    否则
      「回退」
也。

「:文言:移位者,位数在寄存器或立即。汉语:操作零左移、一逻辑右移、二算术右移、三循环左移、四循环右移。寄存器形式的循环左移借备用寄存器求补。:」
「臂原移位」乃
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  (「列」于「机器片」)
也。
「臂原移位」者会「操作」而会「甲」而会「乙」而会「备」而
  若「等于」于「操作」于「零」则
    「列」【「臂左移寄」于「甲」于「甲」于「乙」】
  否则
    若「等于」于「操作」于「一」则「列」【「臂无右移寄」于「甲」于「甲」于「乙」】否则
      若「等于」于「操作」于「二」则「列」【「臂有右移寄」于「甲」于「甲」于「乙」】否则
        若「等于」于「操作」于「三」则
          「列」【「臂减寄」于「备」于「三一」于「乙」,「臂循右寄」于「甲」于「甲」于「备」】
        否则
          「列」【「臂循右寄」于「甲」于「甲」于「乙」】
也。

「臂原移位立」乃化「整数」而化「整数」而化「整数」而(「列」于「机器片」)也。
「臂原移位立」者会「操作」而会「甲」而会「位」而
  虑「量」者「整数余数」于(「位形三二」于「位」)于「三二」而
  若「等于」于「量」于「零」则
    「罄」
  否则
    若「等于」于「操作」于「零」则「列」【「臂左移立」于「甲」于「甲」于「量」】否则
      若「等于」于「操作」于「一」则「列」【「臂无右移立」于「甲」于「甲」于「量」】否则
        若「等于」于「操作」于「二」则「列」【「臂有右移立」于「甲」于「甲」于「量」】否则
          若「等于」于「操作」于「三」则
            「列」【「臂循右立」于「甲」于「甲」于(「减」于「三二」于「量」)】
          否则
            「列」【「臂循右立」于「甲」于「甲」于「量」】
也。

「:文言:除与余,零则陷,有符号除逢最小负数除负一亦陷。汉语:种零有符号除、一无符号除、二有符号余、三无符号余。除数为零先跳陷阱;有符号除若被除数为最小负数且除数为负一也跳陷阱;余数用商乘除数再由被除数减去求得。序标是本次展开内独一的标号。:」
「臂原除」乃
  化「整数」而
  化「整数」而
  化「整数」而
  化「字符串」而
  化「字符串」而
  化「整数」而
  (「列」于「机器片」)
也。
「臂原除」者会「种」而会「甲」而会「乙」而会「陷标」而会「序标」而会「备」而
  「串联」授以「机器片」于(「列」【
    「列」【「代码相对」于(「加」于「三二」于「乙」)于「陷标」】,
    若「等于」于「种」于「零」则
      「串联」授以「机器片」于(「列」【
        「列」【「臂比较负立」于「乙」于「一」,「代码相对」于「四」于「序标」】,
        「臂立即」于「备」于「二一四七四八三六四八」,
        「列」【
          「臂比较寄」于「甲」于「备」,
          「代码相对」于「三」于「陷标」,
          「代码标记」于「序标」,
          「臂有除寄」于「甲」于「甲」于「乙」
        】
      】)
    否则若「等于」于「种」于「一」则「列」【「臂无除寄」于「甲」于「甲」于「乙」】否则若「等于」于「种」于「二」则
      「列」【「臂有除寄」于「备」于「甲」于「乙」,「臂乘减」于「甲」于「备」于「乙」于「甲」】
    否则
        「列」【「臂无除寄」于「备」于「甲」于「乙」,「臂乘减」于「甲」于「备」于「乙」于「甲」】
  】)
也。

「臂原比较」乃化「整数」而化「整数」而(「列」于「机器片」)也。
「臂原比较」者会「甲」而会「乙」而
  「列」【「臂比较寄」于「甲」于「乙」】
也。

「:文言:与立即数比较,可入十二位者一令,负一至负四零九五用相加比较,余借备用寄存器。汉语:cmn 与 cmp 对无符号与有符号比较的标志位结果相同,见文档。:」
「臂原比较立」乃化「整数」而化「整数」而化「整数」而(「列」于「机器片」)也。
「臂原比较立」者会「甲」而会「值」而会「备」而
  虑「符」者「有符号三二」于「值」而
  若「且」于(「不小于」于「符」于「零」)于(「小于」于「符」于「四零九六」)则
    「列」【「臂比较立」于「甲」于「符」】
  否则
    若「且」于(「小于」于「符」于「零」)于(「不大于」于(「减」于「零」于「符」)于「四零九五」)则
      「列」【「臂比较负立」于「甲」于(「减」于「零」于「符」)】
    否则
      「附加」授以「机器片」
      于(「臂立即」于「备」于「值」)
      于(「列」【「臂比较寄」于「甲」于「备」】)
也。

「臂原置」乃化「整数」而化「整数」而(「列」于「机器片」)也。
「臂原置」者会「条」而会「甲」而
  「列」【「臂置」于「甲」于(「臂条件」于「条」)】
也。

「臂原跳条件」乃化「整数」而化「字符串」而(「列」于「机器片」)也。
「臂原跳条件」者会「条」而会「标」而
  「列」【「代码相对」于(「臂条件类」于「条」)于「标」】
也。

「:文言:远之条件跳:条件之分支唯及一兆字节,巨函之中或不及,则以反条件跳过一无条件之跳(及一二八兆字节)。汉语:远距离条件跳转:ARM64 条件分支(b.cond、cbz、cbnz)只能跨 ±1 MiB,很大的函数里可能够不到,改成“反条件跳过下一条(b.!cond +8 / cbnz / cbz)+ 无条件 b 目标(±128 MiB)”。:」
「臂原跳条件远」乃化「整数」而化「字符串」而(「列」于「机器片」)也。
「臂原跳条件远」者会「条」而会「标」而
  「列」【
    「字片」于(「加」于「一四零九二八六二零八」于(「臂条件」于(「取反条件」于「条」))),
    「代码相对」于「一」于「标」
  】
也。

「臂原零跳远」乃化「整数」而化「字符串」而(「列」于「机器片」)也。
「臂原零跳远」者会「甲」而会「标」而
  「列」【「字片」于(「加」于「八八九一九二五一二」于「甲」),「代码相对」于「一」于「标」】
也。

「臂原非零跳远」乃化「整数」而化「字符串」而(「列」于「机器片」)也。
「臂原非零跳远」者会「甲」而会「标」而
  「列」【「字片」于(「加」于「八七二四一五二九六」于「甲」),「代码相对」于「一」于「标」】
也。

「臂原跳」乃化「字符串」而(「列」于「机器片」)也。
「臂原跳」者会「标」而
  「列」【「代码相对」于「一」于「标」】
也。

「臂原零跳」乃化「整数」而化「字符串」而(「列」于「机器片」)也。
「臂原零跳」者会「甲」而会「标」而
  「列」【「代码相对」于(「加」于「三二」于「甲」)于「标」】
也。

「臂原非零跳」乃化「整数」而化「字符串」而(「列」于「机器片」)也。
「臂原非零跳」者会「甲」而会「标」而
  「列」【「代码相对」于(「加」于「六四」于「甲」)于「标」】
也。

「臂原选择」乃化「整数」而化「整数」而化「整数」而(「列」于「机器片」)也。
「臂原选择」者会「甲」而会「乙」而会「丙」而
  「列」【「臂比较立」于「丙」于「零」,「臂选」于「甲」于「甲」于「乙」于「一」】
也。

「:文言:客存之访,先验其终不逾今界,而后取之。汉语:线性内存读写。地址寄存器 址 中是零扩展的三十二位偏移;有效地址等于它加上静态偏移;访问末端不得超过 x15 中的当前字节数,越界跳转到陷标。种:载入零 i32、一 i8 有符号、二 i8 无符号、三 i16 有符号、四 i16 无符号;存储零 i32、一 i8、二 i16。:」
「臂原有效地址」乃
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  (「整数」合(「列」于「机器片」))
也。
「臂原有效地址」者会「址」而会「偏」而会「备一」而会「备二」而
  若「等于」于「偏」于「零」则(「址」与(「罄」授以「机器片」))否则
    若「小于」于「偏」于「四零九六」则(「备一」与(「列」【「臂加立八」于「备一」于「址」于「偏」】))否则(「备一」
      与(「附加」授以「机器片」
        于(「臂立即」于「备二」于「偏」)
        于(「列」【「臂加寄八」于「备一」于「址」于「备二」】)))
也。

「臂原边界」乃
  化「整数」而
  化「整数」而
  化「字符串」而
  化「整数」而
  (「列」于「机器片」)
也。
「臂原边界」者会「有效」而会「宽」而会「陷标」而会「备」而
  若「串相等」于「陷标」于『』则
    「罄」授以「机器片」
  否则
  「列」【
    「臂加立八」于「备」于「有效」于「宽」,
    「臂比较寄八」于「备」于「一五」,
    「代码相对」于「二五」于「陷标」
  】
也。

「臂原载内存」乃
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「字符串」而
  化「整数」而
  化「整数」而
  (「列」于「机器片」)
也。
「臂原载内存」者会「种」而会「目」而会「址」而会「偏」而会「宽」而会「陷标」而会「备一」而会「备二」而
  虑「有效们」者「臂原有效地址」于「址」于「偏」于「备一」于「备二」而
  「串联」授以「机器片」于(「列」【
    「有效们」中「一」,
    「臂原边界」于(「有效们」中「零」)于「宽」于「陷标」于「备二」,
    「列」【
      若「等于」于「种」于「零」则「臂载字寄」于「目」于「二八」
      于(「有效们」中「零」)
      否则若「等于」于「种」于「一」则「臂载字节符寄」于「目」于「二八」
      于(「有效们」中「零」)
      否则若「等于」于「种」于「二」则「臂载字节寄」于「目」于「二八」
      于(「有效们」中「零」)
      否则若「等于」于「种」于「三」则「臂载半符寄」于「目」于「二八」
      于(「有效们」中「零」)
      否则
        「臂载半寄」于「目」于「二八」于(「有效们」中「零」)
    】
  】)
也。

「臂原存内存」乃
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「字符串」而
  化「整数」而
  化「整数」而
  (「列」于「机器片」)
也。
「臂原存内存」者会「种」而会「址」而会「偏」而会「宽」而会「值」而会「陷标」而会「备一」而会「备二」而
  虑「有效们」者「臂原有效地址」于「址」于「偏」于「备一」于「备二」而
  「串联」授以「机器片」于(「列」【
    「有效们」中「一」,
    「臂原边界」于(「有效们」中「零」)于「宽」于「陷标」于「备二」,
    「列」【
      若「等于」于「种」于「零」则「臂存字寄」于「值」于「二八」
      于(「有效们」中「零」)
      否则若「等于」于「种」于「一」则「臂存字节寄」于「值」于「二八」
      于(「有效们」中「零」)
      否则
        「臂存半寄」于「值」于「二八」于(「有效们」中「零」)
    】
  】)
也。

「臂原调用」乃化「字符串」而(「列」于「机器片」)也。
「臂原调用」者会「标」而
  「列」【「代码相对」于「二」于「标」】
也。

「臂原陷阱」乃化「有」而(「列」于「机器片」)也。
「臂原陷阱」者会「无」而
  「列」【「臂陷阱」】
也。

「:文言:传参逾八者,置于共用之暂存。汉语:前八个参数用 x0 至 x7,其余放在 0x40380000 起的四字节槽,调用者写、被调用者在入口立即取走。:」
「臂参数寄数」乃「整数」也。
「臂参数寄数」者「八」也。

「:文言:装址:绝对者径置常数;相对者置偏移而加全局基址 x25。汉语:把名义地址装入寄存器:绝对模式直接装常数;相对模式装“地址 − 锚”,再加上全局基址 x25(六十四位加法)。:」
「臂装址」乃化「址式」而化「整数」而化「整数」而(「列」于「机器片」)也。
「臂装址」者会「式」而会「目」而会「址」而
  鉴「式」而
    有「相对址式」于「锚」则
      「附加」授以「机器片」
      于(「臂立即」于「目」于(「减」于「址」于「锚」))
      于(「列」【「臂加寄八」于「目」于「二五」于「目」】)
    或有「其他」则
      「臂立即」于「目」于「址」
也。

「臂原存参」乃
  化「址式」而
  化「整数」而
  化「整数」而
  化「整数」而
  (「列」于「机器片」)
也。
「臂原存参」者会「式」而会「序」而会「源」而会「备」而
  「附加」授以「机器片」
    于(「臂装址」于「式」于「备」于「一零七七四一一八四零」)
    于(「列」【「臂存字」于「源」于「备」于(「乘」于(「减」于「序」于「八」)于「四」)】)
也。

「臂原页数」乃化「整数」而(「列」于「机器片」)也。
「臂原页数」者会「目」而
  「列」【「臂无右移立」于「目」于「一五」于「一六」】
也。

「臂向上取整」乃化「整数」而化「整数」而「整数」也。
「臂向上取整」者会「值」而会「阶」而
  「乘」于(「除以」于(「加」于「值」于(「减」于「阶」于「一」))于「阶」)于「阶」
也。

「:文言:帧者,链寄、保存、局部与溢出之区。汉语:帧布局自 sp 向上依次是:x30(占十六字节)、被调用者保存寄存器对(固定预留六十四字节,使局部偏移不随所用寄存器数而变)、局部槽(每个四字节)、操作数栈溢出槽;总大小对齐十六字节。:」
「臂局部基」乃「整数」也。
「臂局部基」者「八零」也。

「臂帧大小」乃化「整数」而化「整数」而「整数」也。
「臂帧大小」者会「局数」而会「溢数」而
  「臂向上取整」于(「加」于「臂局部基」于(「乘」于(「加」于「局数」于「溢数」)于「四」))于「一六」
也。

「臂原调整栈」乃化「爻」而化「整数」而(「列」于「机器片」)也。
「臂原调整栈」者会「减」而会「值」而
  若「小于」于「值」于「四零九六」则
    「列」【若「减」则「臂减立八」于「三一」于「三一」于「值」否则「臂加立八」于「三一」于「三一」于「值」】
  否则
    「串联」授以「机器片」于(「列」【
      「列」【
        若「减」则「臂减立八移」于「三一」于「三一」于(「除以」于「值」于「四零九六」)否则「臂加立八移」
          于「三一」于「三一」
          于(「除以」于「值」于「四零九六」)
      】,
      若「等于」于(「整数余数」于「值」于「四零九六」)于「零」则
        「罄」授以「机器片」
      否则
          「列」【
            若「减」则「臂减立八」
              于「三一」于「三一」
              于(「整数余数」于「值」于「四零九六」)
            否则
                「臂加立八」
                  于「三一」于「三一」
                  于(「整数余数」于「值」于「四零九六」)
          】
    】)
也。

「臂原保存」乃
  化「爻」而
  化(「列」于「整数」)而
  化「整数」而
  (「列」于「机器片」)
也。
「臂原保存」者会「存」而会「们」而会「基」而
  鉴「们」而
    有「罄」则「罄」授以「机器片」
    或有「缀」于「首」于「尾」则
      鉴「尾」而
        有「罄」则「列」【若「存」则「臂存八」于「首」于「三一」于「基」否则「臂载八」于「首」于「三一」于「基」】
        或有「缀」于「次」于「余」则
          「附加」授以「机器片」
          于(「列」【
            若「存」则「臂双存」于「首」于「次」于「三一」于「基」否则「臂双载」
              于「首」于「次」于「三一」于「基」
          】)于(「臂原保存」于「存」于「余」于(「加」于「基」于「一六」))
也。

「臂原清零局部」乃化「整数」而化「整数」而(「列」于「机器片」)也。
「臂原清零局部」者会「号」而会「局数」而
  若「不小于」于「号」于「局数」则
    「罄」授以「机器片」
  否则
    「附加」授以「机器片」
    于(「列」【「臂存字」于「三一」于「三一」于(「加」于「臂局部基」于(「乘」于「号」于「四」))】)
    于(「臂原清零局部」于(「加」于「号」于「一」)于「局数」)
也。

「臂原取参」乃
  化「址式」而
  化「整数」而
  化「整数」而
  化「整数」而
  (「列」于「机器片」)
也。
「臂原取参」者会「式」而会「号」而会「参数数」而会「局数」而
  若「不小于」于「号」于「参数数」则
    「罄」授以「机器片」
  否则
    「附加」授以「机器片」
    于(
      若「小于」于「号」于「八」则
        「列」【「臂存字」于「号」于「三一」于(「加」于「臂局部基」于(「乘」于「号」于「四」))】
      否则
        「串联」授以「机器片」于(「列」【
          「臂装址」于「式」于「九」于「一零七七四一一八四零」,
          「列」【
            「臂载字」
              于「一零」于「九」
              于(「乘」于(「减」于「号」于「八」)于「四」),
              「臂存字」
                于「一零」
                于「三一」
                于(「加」于「臂局部基」于(「乘」于「号」于「四」))
          】
        】)
    )
    于(「臂原取参」于「式」于(「加」于「号」于「一」)于「参数数」于「局数」)
也。

「:文言:序言者,减栈、验界、存链寄与被保存之寄、收参而清余局。汉语:函数入口:sp 减去帧大小;把 sp 与 0x403D0000 比较,低于则陷阱;保存 x30 与被调用者保存寄存器(自 sp+16 起);把参数寄存器和暂存槽中的参数写入局部槽;其余局部清零。守标是本函数内独一的标号。:」
「臂原序言」乃
  化「址式」而
  化「整数」而
  化「整数」而
  化「整数」而
  化(「列」于「整数」)而
  化「字符串」而
  (「列」于「机器片」)
也。
「臂原序言」者会「式」而会「帧大」而会「参数数」而会「局数」而会「保存们」而会「守标」而
  「串联」授以「机器片」于(「列」【
    「臂原调整栈」于「阳」于「帧大」,
    「臂装址」于「式」于「九」于「一零七七七三九五二零」,
    「列」【
      「臂加立八」于「一零」于「三一」于「零」,
      「臂比较寄八」于「一零」于「九」,
      「代码相对」于「五」于「守标」,
      「臂陷阱」,
      「代码标记」于「守标」,
      「臂存八」于「三零」于「三一」于「零」
    】,
    「臂原保存」于「阳」于「保存们」于「一六」,
    「臂原取参」于「式」于「零」于「参数数」于「局数」,
    「臂原清零局部」于「参数数」于「局数」
  】)
也。

「臂原尾声不返」乃化「整数」而化(「列」于「整数」)而(「列」于「机器片」)也。
「臂原尾声不返」者会「帧大」而会「保存们」而
  「串联」授以「机器片」于(「列」【
    「臂原保存」于「阴」于「保存们」于「一六」,
    「列」【「臂载八」于「三零」于「三一」于「零」】,
    「臂原调整栈」于「阴」于「帧大」
  】)
也。

「臂原尾声」乃化「整数」而化(「列」于「整数」)而(「列」于「机器片」)也。
「臂原尾声」者会「帧大」而会「保存们」而
  「串联」授以「机器片」于(「列」【
    「臂原保存」于「阴」于「保存们」于「一六」,
    「列」【「臂载八」于「三零」于「三一」于「零」】,
    「臂原调整栈」于「阴」于「帧大」,
    「列」【「臂返回」】
  】)
也。

「:文言:入口者,立诸基寄,呼其始函,毕而报完成。汉语:程序入口:设置线性内存基址 x28、全局基址 x25、当前内存字节数 x15;调用启动函数;探测模式下再读一处内核私有地址(必然缺页,以证隔离);然后以退出码零请求完成服务并自旋。入口标是启动函数的标号。:」
「臂原入口」乃
  化「整数」而
  化「爻」而
  化「字符串」而
  化「字符串」而
  (「列」于「机器片」)
也。
「臂原入口」者会「全局基址」而会「探测」而会「入口标」而会「本标」而
  「串联」授以「机器片」于(「列」【
    「臂立即」于「二八」于「一零七六八八七五五二」,
    「臂立即」于「二五」于「全局基址」,
    「臂立即」于「九」于「一零七六八八七五四八」,
    「列」【「臂载字」于「一五」于「九」于「零」,「臂左移立」于「一五」于「一五」于「一六」】,
    「列」【「代码相对」于「二」于「入口标」】,
    若「探测」则
      「附加」授以「机器片」
        于(「臂立即」于「九」于「一零七七九三六一二八」)
        于(「列」【「字片」于「三一零七九七九五五二」】)
    否则
          「罄」授以「机器片」,
          「臂立即」于「零」于「零」,
          「列」【
            「臂服务」于「二」,
            「代码标记」于「本标」,
            「代码相对」于「一」于「本标」
          】
  】)
也。

「臂原导入桩」乃化「整数」而(「列」于「机器片」)也。
「臂原导入桩」者会「服务」而
  「列」【「臂服务」于「服务」,「臂返回」】
也。

「:文言:线性内存之整批诸术,聚于助手,以共用之码行之;增长逾八页则迁入内核所颁之动态块。汉语:助手函数从 w0、w1、w2(以及 w3)接收参数,只使用 x0 至 x13(增长助手另改线性内存基址 x28 与字节数 x15),不动被调用者保存寄存器。越界一律跳到本助手的陷阱。标号:助手复制、助手填充、助手初始化、助手增长。增长助手:新页数不超过八页仍在静态线性区内增长;超过时请求内核服务二二保证足够的两兆字节块,首次越界时把旧内容复制到动态基址 0x60000000 并改 x28,之后在动态区继续增长;失败返回负一。:」
「臂助手们」乃
  化「址式」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「机器片」而
  (「列」于「机器片」)
也。
「臂助手们」者会「式」而会「动态址」而会「容量」而会「页数地址」而会「块片」而
  「串联」授以「机器片」于(「列」【
    「列」【
      「代码标记」于『助手复制』,
      「臂加寄八」于「三」于「零」于「二」,
      「臂比较寄八」于「三」于「一五」,
      「代码相对」于「二五」于『助手陷』,
      「臂加寄八」于「三」于「一」于「二」,
      「臂比较寄八」于「三」于「一五」,
      「代码相对」于「二五」于『助手陷』,
      「代码相对」于「三四」于『助手复制毕』,
      「臂加寄八」于「四」于「二八」于「零」,
      「臂加寄八」于「五」于「二八」于「一」,
      「臂比较寄八」于「四」于「五」,
      「代码相对」于「二五」于『助手复制倒』,
      「臂零」于「六」,
      「代码标记」于『助手复制正』,
      「臂载字节寄」于「七」于「五」于「六」,
      「臂存字节寄」于「七」于「四」于「六」,
      「臂加立八」于「六」于「六」于「一」,
      「臂比较寄八」于「六」于「二」,
      「代码相对」于「六」于『助手复制正』,
      「臂返回」,
      「代码标记」于『助手复制倒』,
      「臂移寄八」于「六」于「二」,
      「代码标记」于『助手复制倒环』,
      「臂减立八」于「六」于「六」于「一」,
      「臂载字节寄」于「七」于「五」于「六」,
      「臂存字节寄」于「七」于「四」于「六」,
      「代码相对」于「七零」于『助手复制倒环』,
      「代码标记」于『助手复制毕』,
      「臂返回」
    】,
    「列」【
      「代码标记」于『助手填充』,
      「臂加寄八」于「三」于「零」于「二」,
      「臂比较寄八」于「三」于「一五」,
      「代码相对」于「二五」于『助手陷』,
      「代码相对」于「三四」于『助手填充毕』,
      「臂加寄八」于「四」于「二八」于「零」,
      「臂零」于「六」,
      「代码标记」于『助手填充环』,
      「臂存字节寄」于「一」于「四」于「六」,
      「臂加立八」于「六」于「六」于「一」,
      「臂比较寄八」于「六」于「二」,
      「代码相对」于「六」于『助手填充环』,
      「代码标记」于『助手填充毕』,
      「臂返回」
    】,
    「列」【
      「代码标记」于『助手初始化』,
      「臂加寄八」于「四」于「零」于「二」,
      「臂比较寄八」于「四」于「一五」,
      「代码相对」于「二五」于『助手陷』,
      「臂载字」于「五」于「三」于「零」,
      「臂加寄八」于「四」于「一」于「二」,
      「臂比较寄八」于「四」于「五」,
      「代码相对」于「二五」于『助手陷』,
      「代码相对」于「三四」于『助手初始化毕』,
      「臂加立八」于「三」于「三」于「四」,
      「臂加寄八」于「三」于「三」于「一」,
      「臂加寄八」于「四」于「二八」于「零」,
      「臂零」于「六」,
      「代码标记」于『助手初始化环』,
      「臂载字节寄」于「七」于「三」于「六」,
      「臂存字节寄」于「七」于「四」于「六」,
      「臂加立八」于「六」于「六」于「一」,
      「臂比较寄八」于「六」于「二」,
      「代码相对」于「六」于『助手初始化环』,
      「代码标记」于『助手初始化毕』,
      「臂返回」
    】,
    「列」【
      「代码标记」于『助手增长』,
      「臂无右移立」于「三」于「一五」于「一六」,
      「臂加寄八」于「四」于「三」于「零」
    】,
    「臂立即」于「五」于「容量」,
    「列」【
      「臂比较寄八」于「四」于「五」,
      「代码相对」于「二五」于『助手增长败』,
      「臂比较立」于「四」于「八」,
      「代码相对」于「二六」于『助手增长更新』,
      「臂加立」于「五」于「四」于「三一」,
      「臂无右移立」于「五」于「五」于「五」
    】,
    「臂装址」于「式」于「六」于「动态址」,
    「列」【
      「臂比较寄八」于「二八」于「六」,
      「代码相对」于「三」于『助手增长动』,
      「臂移寄」于「零」于「五」,
      「块片」,
      「臂比较立」于「零」于「零」,
      「代码相对」于「四」于『助手增长败』,
      「臂移寄八」于「七」于「二八」,
      「臂移寄八」于「八」于「六」,
      「臂移寄」于「九」于「一五」,
      「代码相对」于「四一」于『助手增长拷毕』,
      「代码标记」于『助手增长拷』,
      「臂载八」于「一零」于「七」于「零」,
      「臂存八」于「一零」于「八」于「零」,
      「臂加立八」于「七」于「七」于「八」,
      「臂加立八」于「八」于「八」于「八」,
      「臂减立」于「九」于「九」于「八」,
      「代码相对」于「七三」于『助手增长拷』,
      「代码标记」于『助手增长拷毕』,
      「臂移寄八」于「二八」于「六」,
      「代码相对」于「一」于『助手增长更新』,
      「代码标记」于『助手增长动』,
      「臂移寄」于「零」于「五」,
      「块片」,
      「臂比较立」于「零」于「零」,
      「代码相对」于「四」于『助手增长败』,
      「代码标记」于『助手增长更新』
    】,
    「臂装址」于「式」于「五」于「页数地址」,
    「列」【
      「臂存字」于「四」于「五」于「零」,
      「臂左移立」于「一五」于「四」于「一六」,
      「臂移寄」于「零」于「三」,
      「臂返回」,
      「代码标记」于『助手增长败』
    】,
    「臂立即」于「零」于「四二九四九六七二九五」,
    「列」【
      「臂返回」,
      「代码标记」于『助手陷』,
      「臂陷阱」
    】
  】)
也。

「:文言:裸机之助手:动态之块求诸内核服务二二。汉语:裸机助手:动态内存块由内核服务二二(内存块)保证。:」
「臂原助手们」乃化「整数」而化「整数」而(「列」于「机器片」)也。
「臂原助手们」者会「容量」而会「页数地址」而
  「臂助手们」于「绝对址式」于「一六一零六一二七三六」于「容量」于「页数地址」
  于(「臂服务」于「二二」)
也。

「:文言:Linux 之助手:动态之区于入口已映射,故求块恒成,置 w0 为零。汉语:Linux 助手:动态区已在入口用 mmap 映射,求块一律成功,以 movz w0, #0 代替服务调用。:」
「臂Linux助手们」乃化「整数」而化「整数」而(「列」于「机器片」)也。
「臂Linux助手们」者会「容量」而会「页数地址」而
  「臂助手们」于「绝对址式」于「一六一零六一二七三六」于「容量」于「页数地址」
  于(「字片」于「一三八四一二零三二零」)
也。

「:文言:Linux 之入口:栈移于用户之域之顶;线性内存逾八页者,先以 mmap 映动态之区,不成则以码一二五退;次立诸基寄,呼启动之函,毕以 exit_group 零退。汉语:Linux 程序入口:把 sp 设为用户区栈顶(0x40400000,函数序言的栈界检查照旧有效);若线性内存容量超过八页,先用 mmap(MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED|MAP_NORESERVE,可读写)映射动态区,返回地址不符则以退出码 125 结束;然后设置 x28、x25、x15,调用启动函数,最后 exit_group(0)。:」
「臂Linux入口」乃
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「字符串」而
  (「列」于「机器片」)
也。
「臂Linux入口」者会「栈顶」而会「线性基址」而会「页数地址」而会「动态基址」而会「全局基址」而会「容量」而会「入口标」而
  「串联」授以「机器片」于(「列」【
    「臂立即」于「九」于「栈顶」,
    「列」【「臂加立八」于「三一」于「九」于「零」】,
    若「大于」于「容量」于「八」则
      「串联」授以「机器片」于(「列」【
        「臂立即」于「零」于「动态基址」,
        「臂立即」于「一」于(「乘」于「容量」于「六五五三六」),
        「臂立即」于「二」于「三」,
        「臂立即」于「三」于「一六四三四」,
        「臂立即」于「四」于「零」,
        「臂立即」于「五」于「零」,
        「臂立即」于「八」于「二二二」,
        「列」【「臂服务」于「零」】,
        「臂立即」于「九」于「动态基址」,
        「列」【「臂比较寄八」于「零」于「九」,「代码相对」于「三」于『Linux入口映射成』】,
        「臂立即」于「零」于「一二五」,
        「臂立即」于「八」于「九四」,
        「列」【「臂服务」于「零」,「代码标记」于『Linux入口映射成』】
      】)
    否则
        「罄」授以「机器片」,
        「臂立即」于「二八」于「线性基址」,
        「臂立即」于「二五」于「全局基址」,
        「臂立即」于「九」于「页数地址」,
        「列」【「臂载字」于「一五」于「九」于「零」,「臂左移立」于「一五」于「一五」于「一六」】,
        「列」【「代码相对」于「二」于「入口标」】,
        「臂立即」于「零」于「零」,
        「臂立即」于「八」于「九四」,
        「列」【「臂服务」于「零」】
  】)
也。

「:文言:Linux 之导入桩:诸参先零扩为六十四位,址类者加线性基址;x8 置调用之号,svc 零,返。汉语:Linux 导入桩:每个参数先零扩展(mov wN, wN),地址类参数再加上线性内存基址 x28;x8 设为系统调用号,svc #0,返回。系统调用的返回值在 x0,其低三十二位即导入的结果。:」
「臂Linux导入桩」乃
  化「整数」而
  化(「列」于「整数」)而
  (「列」于「机器片」)
也。
「臂Linux导入桩」者会「号」而会「类别们」而
  「串联」授以「机器片」于(「列」【
    「串联」授以「机器片」于(「态射」授以「整数」授以(「列」于「机器片」)
    于(「整数范围」于「零」于(「长度」授以「整数」于「类别们」))
    于(会「序」而
    虑「类」者「第N个」授以「整数」于「序」于「类别们」而
    若「等于」于「类」于「一」则
      「列」【「臂移寄」于「序」于「序」,「臂加寄八」于「序」于「二八」于「序」】
    否则若「等于」于「类」于「二」则
      「列」【「臂符扩」于「序」于「序」】
    否则
      「列」【「臂移寄」于「序」于「序」】
    )),
    「臂立即」于「八」于「号」,
    「列」【「臂服务」于「零」,「臂返回」】
  】)
也。

「臂原存零」乃化「址式」而化「整数」而化「整数」而(「列」于「机器片」)也。
「臂原存零」者会「式」而会「址」而会「备」而
  「附加」授以「机器片」
    于(「臂装址」于「式」于「备」于「址」)
    于(「列」【「臂存字」于「三一」于「备」于「零」】)
也。

「:文言:苹果之助手:动态之区在数据段内,已随映像而映,求块恒成;诸址皆以全局基址为锚。汉语:macOS 助手:动态区是数据段里预留的零填充区,随映像一起映射,求块一律成功(movz w0, #0);页数地址与动态基址都按相对址式以全局基址 x25 为锚。:」
「臂苹果助手们」乃
  化「址式」而
  化「整数」而
  化「整数」而
  化「整数」而
  (「列」于「机器片」)
也。
「臂苹果助手们」者会「式」而会「动态址」而会「容量」而会「页数地址」而
  「臂助手们」于「式」于「动态址」于「容量」于「页数地址」于(「字片」于「一三八四一二零三二零」)
也。

「:文言:苹果之入口:dyld 以常法呼之,故先存被保存之寄与链寄于原栈;以 adr 取代码之始,加锚距得全局基址;移栈于数据段内之用户栈,立诸基寄,呼启动之函;毕则复原栈与诸寄,返零于 dyld。汉语:macOS 程序入口(LC_MAIN,由 dyld 按标准调用约定调用):第一条指令 adr x9, #0 取得代码起址;先在原栈保存 x19 至 x30(x19 另记原栈指针);x25 = 代码起址 + 锚距(锚距由目标描述算出,映像滑动不影响它);sp 移到数据段里的用户栈顶,x28、x15 按相对址式装入;调用启动函数;返回后恢复原栈与各寄存器,返回 0,由 dyld 调用 exit。:」
「臂苹果入口」乃
  化「址式」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「字符串」而
  (「列」于「机器片」)
也。
「臂苹果入口」者会「式」而会「锚距」而会「栈顶」而会「线性基址」而会「页数地址」而会「入口标」而
  「串联」授以「机器片」于(「列」【
    「列」【
      「字片」于「二六八四三五四六五」,
      「臂减立八」于「三一」于「三一」于「九六」,
      「臂双存」于「一九」于「二零」于「三一」于「零」,
      「臂双存」于「二一」于「二二」于「三一」于「一六」,
      「臂双存」于「二三」于「二四」于「三一」于「三二」,
      「臂双存」于「二五」于「二六」于「三一」于「四八」,
      「臂双存」于「二七」于「二八」于「三一」于「六四」,
      「臂双存」于「二九」于「三零」于「三一」于「八零」,
      「臂加立八」于「一九」于「三一」于「零」
    】,
    「臂立即」于「一零」于「锚距」,
    「列」【「臂加寄八」于「二五」于「九」于「一零」】,
    「臂装址」于「式」于「九」于「栈顶」,
    「列」【「臂加立八」于「三一」于「九」于「零」】,
    「臂装址」于「式」于「二八」于「线性基址」,
    「臂装址」于「式」于「九」于「页数地址」,
    「列」【「臂载字」于「一五」于「九」于「零」,「臂左移立」于「一五」于「一五」于「一六」】,
    「列」【「代码相对」于「二」于「入口标」】,
    「列」【
      「臂加立八」于「三一」于「一九」于「零」,
      「臂双载」于「一九」于「二零」于「三一」于「零」,
      「臂双载」于「二一」于「二二」于「三一」于「一六」,
      「臂双载」于「二三」于「二四」于「三一」于「三二」,
      「臂双载」于「二五」于「二六」于「三一」于「四八」,
      「臂双载」于「二七」于「二八」于「三一」于「六四」,
      「臂双载」于「二九」于「三零」于「三一」于「八零」,
      「臂加立八」于「三一」于「三一」于「九六」,
      「字片」于「一三八四一二零三二零」,
      「臂返回」
    】
  】)
也。

「:文言:苹果之参:零整数、一线性之址、二有符号之整数、三可变之整数、四可变之址。可变者依苹果 ARM64 之约置于栈,每参八字节。汉语:macOS 导入参数的类别:0 整数(零扩展)、1 线性内存地址(加 x28)、2 有符号整数(sxtw)、3 可变参数中的整数、4 可变参数中的地址。按 Apple ARM64 的约定,可变参数不走寄存器而放在调用时的栈顶,每个占 8 字节(如 openat 与 fcntl 的第三参、ioctl 的地址参数)。:」
「臂苹果参准备」乃化「整数」而化「整数」而(「列」于「机器片」)也。
「臂苹果参准备」者会「序」而会「类」而
  若「或者」于(「等于」于「类」于「一」)于(「等于」于「类」于「四」)则
    「列」【「臂移寄」于「序」于「序」,「臂加寄八」于「序」于「二八」于「序」】
  否则若「等于」于「类」于「二」则
    「列」【「臂符扩」于「序」于「序」】
  否则
    「列」【「臂移寄」于「序」于「序」】
也。

「臂苹果可变序们」乃化(「列」于「整数」)而(「列」于「整数」)也。
「臂苹果可变序们」者会「类别们」而
  「滤」授以「整数」
    于(会「序」而「大于」于(「第N个」授以「整数」于「序」于「类别们」)于「二」)
    于(「整数范围」于「零」于(「长度」授以「整数」于「类别们」))
也。

「臂苹果可变区」乃化(「列」于「整数」)而「整数」也。
「臂苹果可变区」者会「类别们」而
  「乘」
    于「一六」
    于(「除以」于(「加」于(「长度」授以「整数」于(「臂苹果可变序们」于「类别们」))于「一」)于「二」)
也。

「:文言:可变之参入栈:减栈而逐一存之。汉语:可变参数入栈:sp 减去对齐到 16 的区域,再把第 j 个可变参数存到 [sp + 8j];没有可变参数时不生成指令。:」
「臂苹果可变入栈」乃化(「列」于「整数」)而(「列」于「机器片」)也。
「臂苹果可变入栈」者会「类别们」而
  虑「序们」者「臂苹果可变序们」于「类别们」而
  若「等于」于(「长度」授以「整数」于「序们」)于「零」则
    「罄」授以「机器片」
  否则
    「缀」授以「机器片」
    于(「臂减立八」于「三一」于「三一」于(「臂苹果可变区」于「类别们」))
    于(「态射」授以「整数」授以「机器片」
      于(「整数范围」于「零」于(「长度」授以「整数」于「序们」))
      于(会「位」而「臂存八」于(「第N个」授以「整数」于「位」于「序们」)于「三一」于(「乘」于「八」于「位」)))
也。

「臂苹果可变出栈」乃化(「列」于「整数」)而(「列」于「机器片」)也。
「臂苹果可变出栈」者会「类别们」而
  若「等于」于(「长度」授以「整数」于(「臂苹果可变序们」于「类别们」))
  于「零」则
    「罄」授以「机器片」
  否则
    「列」【「臂加立八」于「三一」于「三一」于(「臂苹果可变区」于「类别们」)】
也。

「:文言:苹果之导入桩:先存 x15 与链寄;诸参零扩,址类者加线性基址;自导入槽取 libSystem 函数之址而呼之;返负一者,呼 ___error 取 errno,返其负;毕复 x15 与链寄。汉语:macOS 导入桩:先保存 x15(线性内存字节数,libSystem 函数可能改写)与 x30;每个参数零扩展,地址类再加线性内存基址 x28;从导入槽(dyld 按绑定信息写入的指针,地址按相对址式求得)取函数地址,blr 调用;若需转错且返回 -1,再经 ___error 的槽取 errno 并返回其相反数(与 Linux 的 -errno 一致);最后恢复 x15 与 x30 并返回。毕标是本桩内独一的标号。:」
「臂苹果导入桩」乃
  化「址式」而
  化「整数」而
  化(「列」于「整数」)而
  化「整数」而
  化「字符串」而
  (「列」于「机器片」)
也。
「臂苹果导入桩」者会「式」而会「槽址」而会「类别们」而会「错槽址」而会「毕标」而
  「串联」授以「机器片」于(「列」【
    「列」【「臂减立八」于「三一」于「三一」于「一六」,「臂双存」于「一五」于「三零」于「三一」于「零」】,
    「串联」授以「机器片」于(「态射」授以「整数」授以(「列」于「机器片」)
    于(「整数范围」于「零」于(「长度」授以「整数」于「类别们」))
    于(会「序」而「臂苹果参准备」于「序」于(「第N个」授以「整数」于「序」于「类别们」))),
    「臂装址」于「式」于「一六」于「槽址」,
    「臂苹果可变入栈」于「类别们」,
    「列」【「臂载八」于「一六」于「一六」于「零」,「字片」于「三五九四四五三五零四」】,
    「臂苹果可变出栈」于「类别们」,
    若「等于」于「错槽址」于「零」则
      「罄」授以「机器片」
    否则
        「串联」授以「机器片」于(「列」【
          「列」【「臂比较负立」于「零」于「一」,「代码相对」于「四」于「毕标」】,
          「臂装址」于「式」于「一六」于「错槽址」,
          「列」【
            「臂载八」于「一六」于「一六」于「零」,
            「字片」于「三五九四四五三五零四」,
            「臂载字」于「零」于「零」于「零」,
            「臂减寄」于「零」于「三一」于「零」,
            「代码标记」于「毕标」
          】
        】),
        「列」【
          「臂双载」于「一五」于「三零」于「三一」于「零」,
          「臂加立八」于「三一」于「三一」于「一六」,
          「臂返回」
        】
  】)
也。