控台输入。豫
yuyan · 8 行 · 5506 字节 · UTF-8
1 2 3 4 5 6 7 8
寻观「标准库」之书。
寻观「裸机后端」之「机器编码」之书。
寻观「裸机后端」之「整数降级」之书。
「:文言:控台之入:内核每逢钟至与每逢读入,尽取串口所到之字节,纳于二百五十六字之环;字节三(Ctrl-C)不入环,唯立“中断”之标,客可询之,询则清之。汉语:控制台输入环与中断标志。内核在每次时钟中断里(以及服务 4 读入之前)把串口接收 FIFO 里的字节全部取出放进 256 字节的环(ARM64 环头在 0x400B0400,AMD64 在 0x103800:头、尾、中断标志各四字节,环从偏 16 起);环满就停止取(余下的字节留在串口里,不丢)。取到字节 3(Ctrl-C)不放进环,只把中断标志置 1。服务 4 从环里取一字节(空则返回 -1),所以“提前敲入的命令”仍按序留给下一个读者;服务 27 中断查询返回并清除中断标志。这样一个不读输入的死循环程序也能被用户态执行器在下一次检查时发现 Ctrl-C。:」
「臂控台输入」乃化「有」而(「列」于「机器片」)也。
「臂控台输入」者会「无」而「串联」授以「机器片」于(「列」【「列」【「代码标记」于『控台收入』】,「臂载常量」于「一」于「一五零九九四九四四」,「臂载常量」于「五」于「一零七四四六三七四四」,「列」【「代码标记」于『收入循环』,「字片」于「三一零七九八五四四二」,「字片」于「一九一四四三七七二七」,「代码相对」于「四」于『收入完』,「字片」于「三一零七九七九四二七」,「字片」于「三一零七九八零四五二」,「字片」于「一二五八五五三四四六」,「字片」于「一八九六零八七七七五」,「代码相对」于「五」于『收入完』,「字片」于「三一零七九七九二九六」,「字片」于「三零一九九七零五六」,「字片」于「一八九五八二八五一一」,「代码相对」于「四」于『收入存』,「字片」于「一三八四一二零三五九」,「字片」于「三一零三七八七一七五」,「代码相对」于「一」于『收入循环』,「代码标记」于『收入存』,「字片」于「三零一九九七一五九」,「字片」于「二四三二七一二八七二」,「字片」于「九四二一零六八八零」,「字片」于「二八五二一三七九五」,「字片」于「三一零三七八五一二三」,「代码相对」于「一」于『收入循环』,「代码标记」于『收入完』,「字片」于「三五九六五五一一零四」】,「列」【「代码标记」于『中断查询』】,「臂载常量」于「五」于「一零七四四六三七四四」,「列」【「字片」于「三一零七九八一四七二」,「字片」于「三一零三七八七一九九」,「代码相对」于「一」于『返回用户』】】)也。
「兼容控台输入」乃化「有」而(「列」于「机器片」)也。
「兼容控台输入」者会「无」而「串联」授以「机器片」于(「列」【「列」【「代码标记」于『控台收入』,「代码标记」于『收入循环』,「字节片」于(「列」【「一零二」,「一八六」,「二五三」,「三」,「二三六」,「一六八」,「一」】),「代码相对」于「一二」于『收入完』,「字节片」于(「列」【「一三九」,「一二」,「三七」,「零」,「五六」,「一六」,「零」,「四三」,「一二」,「三七」,「四」,「五六」,「一六」,「零」,「一二九」,「二四九」,「零」,「一」,「零」,「零」】),「代码相对」于「一零三」于『收入完』,「字节片」于(「列」【「一零二」,「一八六」,「二四八」,「三」,「二三六」,「六零」,「三」】),「代码相对」于「一三」于『收入存』,「字节片」于(「列」【「一九九」,「四」,「三七」,「八」,「五六」,「一六」,「零」,「一」,「零」,「零」,「零」】),「代码相对」于「一一」于『收入循环』,「代码标记」于『收入存』,「字节片」于(「列」【「一五」,「一八二」,「二零零」,「一三九」,「四」,「三七」,「零」,「五六」,「一六」,「零」,「一三七」,「一九四」,「一二九」,「二二六」,「二五五」,「零」,「零」,「零」,「一三六」,「一三八」,「一六」,「五六」,「一六」,「零」,「二五五」,「一九二」,「一三七」,「四」,「三七」,「零」,「五六」,「一六」,「零」】),「代码相对」于「一一」于『收入循环』,「代码标记」于『收入完』,「字节片」于(「列」【「一九五」】)】,「列」【「代码标记」于『中断查询』,「字节片」于(「列」【「一三九」,「四」,「三七」,「八」,「五六」,「一六」,「零」,「一九九」,「四」,「三七」,「八」,「五六」,「一六」,「零」,「零」,「零」,「零」,「零」】),「代码相对」于「一一」于『返回用户』】】)也。