豫言源码浏览器 / Source Browser

浏览项目文件与源码

yuyan · 186 行 · 11106 字节 · UTF-8
§
寻观「标准库」之书。
寻观「标准库」之「数据结构」之「字节串」之书。
寻观「编译器核心」之「网页汇编核心」之「二进制生成」之书。
寻观「裸机后端」之「机器编码」之书。
寻观「裸机后端」之「链接格式写出」之书。

「:文言:验头之诸字段,并成二样例:书“豫言操作系统”一行,以退出码七终。汉语:核对 ELF 文件头与程序头的各字段;另生成两个样例可执行文件(臂与兼容各一),在工作目录写出 yy链接格式样例臂、yy链接格式样例兼,供在 Linux 上实际运行:向标准输出写一行“豫言操作系统”,以退出码 7 结束。:」

「链接验字」乃
  化「字符串」而
  化「字节串」而
  化「整数」而
  化(「列」于「整数」)而
  「有」
也。
「链接验字」者会「名」而会「字」而会「始」而会「期」而
  虑「检」者
    「态射」授以「整数」授以「有」
    于(「整数范围」于「零」于(「长度」授以「整数」于「期」))
    于(会「号」而
      若「等于」于(「字节串取字节」于「字」于(「加」于「始」于「号」))
      于(「第N个」授以「整数」于「号」于「期」)则「元」
      否则
        「发生事故」于(『链接格式字段不符:』附「名」))
  而
  「元」
也。

「链接验数」乃
  化「字符串」而
  化「字节串」而
  化「整数」而
  化「整数」而
  化「整数」而
  「有」
也。
「链接验数」者会「名」而会「字」而会「始」而会「宽」而会「期」而
  「链接验字」
    于「名」
    于「字」
    于「始」
    于(「态射」授以「整数」授以「整数」
      于(「整数范围」于「零」于「宽」)
      于(会「号」而「字节串取字节」于(「小端字节」于「宽」于「期」)于「号」))
也。

「四字节们」乃化(「列」于「整数」)而「字节串」也。
「四字节们」者会「码们」而
  「网页拼字节」于(「态射」授以「整数」授以「字节串」于「码们」于(会「码」而「小端字节」于「四」于「码」))
也。

「样例消息」乃「字节串」也。
「样例消息」者「字符串转字节串」于『豫言操作系统
』也。

「:文言:臂样:x0 一,x1 消息之址,x2 长,x8 六十四(写),svc;x0 七,x8 九十三(退),svc。汉语:臂样例代码:write(1, 消息, 长) 后 exit(7)。消息放在 0x410000 的只读数据段。:」
「臂样例代码」乃「字节串」也。
「臂样例代码」者
  「四字节们」于(「列」【
    「三五三一六零四零零零」,
    「三五三三七零三二零一」,
    「加」于「三五三一六零三九七零」于(「乘」于(「字节串长度」于「样例消息」)于「三二」),
    「三五三一六零六零二四」,
    「三五五六七六九七九三」,
    「三五三一六零四一九二」,
    「三五三一六零六九五二」,
    「三五五六七六九七九三」
  】)
也。

「:文言:兼样:edi 一,esi 消息之址,edx 长,eax 一(写),syscall;edi 七,eax 六十(退),syscall。汉语:兼容样例代码:write(1, 消息, 长) 后 exit(7)。:」
「兼样例代码」乃「字节串」也。
「兼样例代码」者
  「网页拼字节」于(「列」【
    「单字节串」于「一九一」,
    「小端字节」于「四」于「一」,
    「单字节串」于「一九零」,
    「小端字节」于「四」于「四二五九八四零」,
    「单字节串」于「一八六」,
    「小端字节」于「四」于(「字节串长度」于「样例消息」),
    「单字节串」于「一八四」,
    「小端字节」于「四」于「一」,
    「单字节串」于「一五」,
    「单字节串」于「五」,
    「单字节串」于「一九一」,
    「小端字节」于「四」于「七」,
    「单字节串」于「一八四」,
    「小端字节」于「四」于「六零」,
    「单字节串」于「一五」,
    「单字节串」于「五」
  】)
也。

「样例可执行」乃化「爻」而「字节串」也。
「样例可执行」者会「臂」而
  「生成链接格式可执行」
    于「臂」
    于「四一九四三零四」
    于(「列」【
      「载入段」于「四一九四三零四」于(
        若「臂」则「臂样例代码」否则「兼样例代码」)于「四零九六」于「五」,
        「载入段」于「四二五九八四零」于「样例消息」于「四零九六」于「四」,
        「载入段」于「一零七三七四一八二四」于(「空字节串」于「元」)于「一零四八五七六」于「六」
    】)
也。

「:文言:头之诸字段。汉语:文件头:魔数、64 位、小端、可执行类型、机器号、入口、程序头偏移与个数(三个载入段加一个栈头)。:」
「臂样」乃「字节串」也。
「臂样」者「样例可执行」于「阳」也。

「兼样」乃「字节串」也。
「兼样」者「样例可执行」于「阴」也。

「链接验字」
  于『魔数』于「臂样」于「零」
  于(「列」【「一二七」,「六九」,「七六」,「七零」,「二」,「一」,「一」,「零」】)。
「链接验数」于『类型』于「臂样」于「一六」于「二」于「二」。
「链接验数」于『臂机器号』于「臂样」于「一八」于「二」于「一八三」。
「链接验数」于『兼机器号』于「兼样」于「一八」于「二」于「六二」。
「链接验数」于『入口』于「臂样」于「二四」于「八」于「四一九四三零四」。
「链接验数」于『程序头偏移』于「臂样」于「三二」于「八」于「六四」。
「链接验数」于『程序头个数』于「臂样」于「五六」于「二」于「五」。
「:文言:头段:只读,起于文件偏移零,映于最低段之下六万五千五百三十六处,长即头长。汉语:第一个程序头是头段:PT_LOAD,只读,文件偏移 0,虚址 0x3F0000,文件长与内存长都是头长(64 + 56×5 = 344)。:」
「链接验数」于『头段类型』于「臂样」于「六四」于「四」于「一」。
「链接验数」于『头段权限』于「臂样」于「六八」于「四」于「四」。
「链接验数」于『头段偏移』于「臂样」于「七二」于「八」于「零」。
「链接验数」于『头段虚址』于「臂样」于「八零」于「八」于「四一二八七六八」。
「链接验数」于『头段文件长』于「臂样」于「九六」于「八」于「三四四」。
「:文言:代码段:可读可执行,偏移与虚址同余于六万五千五百三十六。汉语:第二个程序头是代码段:权限 读+执行,文件偏移 65536(与虚址 0x400000 同余),内容长 32,内存 4096,对齐 65536。:」
「链接验数」于『代码段类型』于「臂样」于「一二零」于「四」于「一」。
「链接验数」于『代码段权限』于「臂样」于「一二四」于「四」于「五」。
「链接验数」于『代码段偏移』于「臂样」于「一二八」于「八」于「六五五三六」。
「链接验数」于『代码段虚址』于「臂样」于「一三六」于「八」于「四一九四三零四」。
「链接验数」于『代码段文件长』于「臂样」于「一五二」于「八」于「三二」。
「链接验数」于『代码段内存长』于「臂样」于「一六零」于「八」于「四零九六」。
「链接验数」于『代码段对齐』于「臂样」于「一六八」于「八」于「六五五三六」。
「:文言:消息段之偏,续于代码段之后而同余。零内容之末段偏移取余数零、文件长零。汉语:消息段文件偏移为 131072,与虚址 0x410000 同余;零内容的末段偏移取余数 0、文件长 0。:」
「链接验数」于『消息段偏移』于「臂样」于「一八四」于「八」于「一三一零七二」。
「链接验数」于『末段偏移』于「臂样」于「二四零」于「八」于「零」。
「链接验数」于『末段文件长』于「臂样」于「二六四」于「八」于「零」。
「链接验数」于『末段内存长』于「臂样」于「二七二」于「八」于「一零四八五七六」。
「链接验数」于『栈头类型』于「臂样」于「二八八」于「四」于「一六八五三八二四八一」。
「:文言:段失其序者必拒。汉语:段未按虚址升序时拒绝生成。:」
「链接验拒」乃「有」也。
「链接验拒」者
  虑「拒」者
    「尝试运行」授以「爻」
    于(会「无」而
    虑「文」者
      「生成链接格式可执行」
        于「阳」
        于「四一九四三零四」
        于(「列」【
          「载入段」于「四二五九八四零」于「样例消息」于「四零九六」于「四」,
          「载入段」于「四一九四三零四」于「臂样例代码」于「四零九六」于「五」
        】)
    而
    「阴」
    )
    于(会「错」而「是子字符串吗」于『升序』于「错」)
  而
  若「拒」则「元」否则「发生事故」于『乱序的载入段应被拒绝』
也。

「:文言:内容置于所算之偏。汉语:代码与消息确实位于算出的偏移处,文件在消息之后结束。:」
「链接验数」于『代码首字』于「臂样」于「六五五三六」于「四」于「三五三一六零四零零零」。
「链接验数」于『兼代码首字节』于「兼样」于「六五五三六」于「一」于「一九一」。
「链接验字」
  于『消息』
  于「臂样」
  于「一三一零七二」
  于(「态射」授以「整数」授以「整数」
    于(「整数范围」于「零」于(「字节串长度」于「样例消息」))
    于(会「号」而「字节串取字节」于「样例消息」于「号」))。
「链接验数」
  于『文件总长』
  于(「小端字节」于「八」于(「字节串长度」于「臂样」))
  于「零」于「八」
  于(「加」于「一三一零七二」于(「字节串长度」于「样例消息」))。

「:文言:书二样例于工作目录。汉语:写出两个样例文件,供 Linux 上运行验证。:」
「写臂样」乃「有」也。
「写臂样」者「文件系统」之「写文件字节串」于『yy链接格式样例臂』于「臂样」也。

「写兼样」乃「有」也。
「写兼样」者「文件系统」之「写文件字节串」于『yy链接格式样例兼』于「兼样」也。