Zhang3的用户贡献
跳到导航
跳到搜索
- 2022年3月3日 (四) 02:19 差异 历史 +5,132 新 NE 创建页面,内容为“{{Stub}} {{File formats}} =NE= ==导言== WIN-NE可执行格式,专为Windows 3.x设计、 称为“NE”或“New Executable”格式。同样是16位格式,它去除了MZ格式的最大大小限制。 ==Support== 使用它的操作系统:Windows 1.01到3.xx。 该格式'''can'''在以后的32位windows系统(在VDM中)上运行,但不是本机格式<br/> 由于v8086缺少64位,因此放弃了对64位windows的支持。 =深入NE文件= ==…” 当前
- 2022年3月2日 (三) 09:12 差异 历史 +380 OSDev Wiki CN
- 2022年3月2日 (三) 08:59 差异 历史 +4,977 新 Internet Control Message Protocol 创建页面,内容为“Internet控制消息协议(Internet Control Message Protocol 通常称为ICMP)是典型的支持IPv4的网络栈中的基本协议之一。 该协议使网络上的节点能够共享信息和错误,而无需使用可能已被破坏的上层协议。 例如,如果TCP连接由于数据包的生存时间太短而导致数据包被丢弃,则两台主机都无法确定故障。 想要任何一个主机都可以解决这个问题的唯一方法是向它…” 当前
- 2022年3月2日 (三) 07:47 差异 历史 +76 新 分类:Network Protocols 创建页面,内容为“该分类包含解释各种网络协议的文章。 Category:Networking” 当前
- 2022年3月2日 (三) 07:46 差异 历史 +2,583 新 Address Resolution Protocol 创建页面,内容为“地址解析协议(Address Resolution Protocol),通常称为“ARP”,是一种允许主机在只有IPv4地址时获取远程主机的以太网地址(MAC)的协议。 从技术上讲,由于数据格式大小可变,ARP支持其它地址格式,但通常与Ethernet和IP地址一起使用。 应该注意的是,IPv6中通过不同的协议提供了类似的功能。 ==背景== ARP定义于[http://tools.ietf.org/html/rfc826 RFC826]。…” 当前
- 2022年3月2日 (三) 06:45 差异 历史 +16,529 新 Network Stack 创建页面,内容为“{{In_Progress}} 本文是关于编写TCP/IP协议栈的,即使用链路层(如以太网卡)来处理IP、ARP、TCP、UDP等协议的数据包的子系统。 ==扫描PCI设备== 首先要做的是扫描安装在机器上的PCI设备,以便通过查看特定的供应商ID和设备ID来检测以太网卡。 有关更多详细信息,请参见PCI页面。 ==为NIC编写驱动程序== 找到以太网卡后,需要实…” 当前
- 2022年3月1日 (二) 08:25 差异 历史 +24 OSDev Wiki CN →关于站长
- 2022年3月1日 (二) 08:19 差异 历史 +662 OSDev Wiki CN →使用建议
- 2022年3月1日 (二) 08:08 差异 历史 +3 模板:Welcome
- 2022年3月1日 (二) 07:53 差异 历史 +9,327 新 Drawing In a Linear Framebuffer 创建页面,内容为“现在,你已经知道如何使用硬件VGA支持轻松地将文本写入屏幕,你可能想知道如何能够显示漂亮的图像、窗口、菜单、图标、漂亮的光标和按钮等。 本页介绍如何在线性帧缓冲区中显示图形,线性帧缓冲区是在内存中映射的一个简单数组,代表屏幕。 ==图形模式== {{Main|Getting VBE Mode Info}} {{Main|GOP}} VGA和VBE模式可以使用BIOS中断0x10选择(在实模式下)。…” 当前
- 2022年3月1日 (二) 07:07 差异 历史 +7,579 新 Colour Quantisation 创建页面,内容为“{{Stub}} Category:Graphical UI 在图形操作系统环境中,有时需要在显示设备上显示图像。 如果显示设备无法表示图像中的所有颜色,则必须有一种机制,将图像中的颜色映射到设备调色板中最接近的可显示颜色。 这种颜色映射的一般术语是颜色量化(色彩量化,Colour Quantisation)。 颜色量化器是系统中负责执行此操作的部分。 在本文中,源图像被认…” 当前
- 2022年3月1日 (二) 06:11 差异 历史 +57 新 分类:Level 2 Tutorials 创建页面,内容为“这里是等级2,中级教程。 Category:Tutorials” 当前
- 2022年3月1日 (二) 06:10 差异 历史 +26,603 新 ELF Tutorial 创建页面,内容为“{{In_Progress}} {{Rating|2}}{{File formats}} 本教程介绍了加载针对i386(32位体系结构,小端字节顺序)的ELF文件的步骤。 教程中的所有代码都是C兼容C++的形式,并通过示例使用简化的(有时是过于简化的)、整洁的和功能性的代码片段来尝试教学。 它以后可能会扩展到其他类型的ELF文件,或针对其他体系结构或机器类型的格式。 ==ELF数据类型== <source lang="cp…” 当前
- 2022年2月28日 (一) 08:19 差异 历史 +327 新 模板:File formats 创建页面,内容为“{{SmallNavBox | width:200px; |Name=可执行文件格式 |Group1=Microsoft |List1= <div> '''16 bit:'''<br /> COM<br /> MZ<br /> NE<br /> '''32/64 bit:'''<br /> PE<br /> '''Mixed (16/32 bit):'''<br /> LE<br /> </div> |Group2=*nix |List2= <div> A.out<br /> ELF<br /> </div> }}” 当前
- 2022年2月28日 (一) 08:17 差异 历史 +1,599 新 COM 创建页面,内容为“'''这里是关于可执行文件的格式,而不是微软的Component Object Model''' {{Stub}} {{File formats}} ==COM文件== ===导言=== COM文件是非常简单的可执行文件。 它们在加载程序时非常有用,不会出现诸如重新定位符号、读取文件头等复杂情况。 然而,它们的简单性可能会使它们的实用性受到限制,因此一旦操作系统升级,您可能希望支持更复杂但有用的东西,比…” 当前
- 2022年2月28日 (一) 08:03 差异 历史 +5,907 新 MZ 创建页面,内容为“{{File formats}} MS-DOS EXE格式,以MZ签名开头(微软工程师马克·兹比科夫斯基-Mark Zbykowski的首字母缩写),是在MS-DOS 2.0中引入的(1.0版仅采用简单的COM格式)。 它被设计成在实模式下运行的可重新定位的可执行文件。 因此,只有DOS和Windows 9x可以本机使用这种格式,但通过几个自由的DOS模拟器(例如[http://www.dosbox.com/ DOSBox]),可实现在各种操作系统…” 当前
- 2022年2月28日 (一) 06:40 差异 历史 +69 新 分类:Object Files 创建页面,内容为“这里是关于目标文件的分类 Category:Executable Formats” 当前
- 2022年2月28日 (一) 06:36 差异 历史 +19,210 新 Random Number Generator 创建页面,内容为“随机数生成器(RNG)可以用很多不同的方式实现。 本文解释了其中一些方式。 ==熵(Entropy)== 计算机是确定性设备。 如果程序相同且所有输入相同,则每次计算的结果都相同。 那么,计算机如何生成随机数呢? 计算机不可以是随机的,但它周围的物理世界可以。 许多物理事件在某种程度上是随机的,或者更严格地说,具有某种程度的熵。 即使在…” 当前
- 2022年2月28日 (一) 03:41 差异 历史 +7,753 新 CRC32 创建页面,内容为“CRC32是一种校验和哈希算法,在内核和互联网校验和中非常常用。 它与MD5校验和算法非常相似。 ===基本算法=== 从一个32bit的校验和(checksum)开始,所有位设置为(0xffffffff)。 这有助于当输入流为“0”时提供除0以外的字节输出值。 在循环中:根据下一段输入数据(通常是一个字节)和前一个CRC值的低N位,在一张表中查找“多项式(polynomial 译…” 当前
- 2022年2月25日 (五) 05:26 差异 历史 +12,571 新 Lexer-rules.md 创建页面,内容为“{{MARKDOWN}} # Lexer Rules 一个lexer grammar由lexer rules组成,可以选择分为多个modes。 Lexical modes允许我们将单个lexer grammar拆分为多个sublexers。 lexer只能返回与当前mode中的规则匹配的Token。 Lexer规则指定Token定义,并且或多或少遵循parser rules的语法,只是lexer rules不能有参数、返回值或局部变量。 Lexer规则名称必须以大写字母开头,这将它们与parser rule名称区…” 当前
- 2022年2月24日 (四) 03:04 差异 历史 +9,814 新 Actions.md 创建页面,内容为“{{MARKDOWN}} # Actions and Attributes 在第10章,属性和动作中,我们学习了如何将动作嵌入到语法中,并研究了最常见的Token和Rule Attributes。 本节总结了该章的重要语法和语义,并提供了所有可用属性的完整列表。 (你可以从关于listeners和actions的免费摘录中了解更多语法中的动作。) Action是用目标语言编写的文本块,用大括号括起来。 识别器根据它们在…” 当前
- 2022年2月23日 (三) 11:28 差异 历史 +12 小 Object Files 当前
- 2022年2月23日 (三) 11:10 差异 历史 +142 小 Object Files
- 2022年2月23日 (三) 11:02 差异 历史 +3 Object Files
- 2022年2月23日 (三) 07:53 差异 历史 +13 Left-recursion.md 当前
- 2022年2月23日 (三) 07:53 差异 历史 +2,278 新 Left-recursion.md 创建页面,内容为“# Left-recursive rules(左递归规则) 一些通用语言构造的最自然的表达是左递归。 例如C声明符和算术表达式。 不幸的是,算术表达式的左递归规范通常是模棱两可的,但比典型的自上而下语法所需的多级更容易写出。 这里是一个带有左递归表达式规则的示例ANTLR 4语法: ``` stat: expr '=' expr ';' // e.g., x=y; or x=f(x); | expr ';' // e.g., f(x); or f(g(x)); ;…”
- 2022年2月23日 (三) 07:22 差异 历史 +18,510 新 Parser-rules.md 创建页面,内容为“{{MARKDOWN}} # Parser Rules(解析器中的规则) Parsers由一组在parser/combined grammar 中的Parser Rules组成的。 Java应用程序通过调用由ANTLR生成的与所需启动rule相关联的rule function来启动Parser。 最基本的rule只是一个rule名称,后跟以分号终止的单个alternative: ``` →* Javadoc注释可以位于rule之前: retstat : 'return' expr ';' ; ``` Rules也可以有由|分割 ``` operator: stat: retst…” 当前
- 2022年2月23日 (三) 02:58 差异 历史 +53 Grammars.md 当前
- 2022年2月22日 (二) 15:49 差异 历史 +48 Inline Assembly 当前
- 2022年2月22日 (二) 09:55 差异 历史 +13 Lexicon.md 当前
- 2022年2月22日 (二) 09:55 差异 历史 +71 Lexicon.md
- 2022年2月22日 (二) 08:48 差异 历史 +13 Grammars.md
- 2022年2月22日 (二) 08:47 差异 历史 +7,128 新 Grammars.md 创建页面,内容为“#语法结构 语法本质上是语法声明,后跟规则列表,但具有一般形式: ``` →* Optional javadoc style comment: grammar Name; ① options {...} import ... ; tokens {...} channels {...} // lexer only @actionName {...} rule1 // parser and lexer rules, possibly intermingled ... ruleN ``` 包含语法“X”的文件名必须称为“X.g4”。 您可以按任意顺序指定选项、导入、token规范和actions。 选项、导入和…”
- 2022年2月22日 (二) 07:14 差异 历史 +13 Long Mode
- 2022年2月22日 (二) 07:12 差异 历史 +8,947 新 Long Mode 创建页面,内容为“{{DISPLAYTITLE:x86-64}} 本文讨论'''x86-64'''CPU(AMD64和Intel的等效EM64T实现)。 IA-64 (Itanium) 是 '''真的'''比较独特,这里不讨论。 ==特性== ===长模式=== 长模式将通用寄存器扩展到64位 (RAX,RBX,RIP,RSP,RFLAGS等),并添加了八个额外的整数寄存器 (R8,R9,...,R15) 以及八个SSE寄存器 (XMM8至XMM15) 到CPU。 线性地址扩展到64位(然而,特定的CPU可能实现的小于64位…”
- 2022年2月22日 (二) 05:30 差异 历史 +21 模板:Main2/Introduction
- 2022年2月22日 (二) 04:36 差异 历史 +311 Object Files
- 2022年2月22日 (二) 03:10 差异 历史 +22 新 分类:Assembly 创建页面,内容为“Category:Languages” 当前
- 2022年2月22日 (二) 03:10 差异 历史 0 小 Inline Assembly/Examples 当前
- 2022年2月22日 (二) 03:08 差异 历史 −1 Inline Assembly/Examples
- 2022年2月22日 (二) 02:32 差异 历史 −44 Inline Assembly
- 2022年2月22日 (二) 02:23 差异 历史 −67 Inline Assembly
- 2022年2月21日 (一) 14:23 差异 历史 +8 小 BIOS 当前
- 2022年2月21日 (一) 12:48 差异 历史 0 新 文件:OVMF run app.png 当前
- 2022年2月21日 (一) 12:48 差异 历史 0 新 文件:OVMF browse fs.png 当前
- 2022年2月21日 (一) 12:47 差异 历史 0 新 文件:OVMF shell.png 当前
- 2022年2月21日 (一) 12:17 差异 历史 +19 UEFI 当前
- 2022年2月21日 (一) 06:21 差异 历史 +4,907 新 Lexicon.md 创建页面,内容为“{{MARKDOWN}} # 语法词典 大多数程序员都熟悉ANTLR的词汇,因为它遵循C及其派生词的语法,并对语法描述进行了一些扩展。 ## 注释 有单行、多行、Javadoc风格的注释: ``` →* 这个语法就是一个例子,说明了这三种语法 * 注释。: grammar T; →a multi-line comment: →* 此规则与我的语言的声明符匹配: decl : ID ; // 匹配变量名 ``` Javadoc注释对解析器隐藏,目…”
- 2022年2月21日 (一) 06:07 差异 历史 +4,963 新 Getting-started.md 创建页面,内容为“{{MARKDOWN}} # 开始使用ANTLR v4 大家好,欢迎来到ANTLR的第4版! 它以 [Crazy Nasty-Ass Honey Badger](http://www.youtube.com/watch?v=4r7wHMg5Yjg),因为ANTLR v4会拿走你给它的任何东西--它根本不在乎! 参见[Why do we need ANTLR v4?](faq/general.md)和[preface of the ANTLR v4 book](http://media.pragprog.com/titles/tpantlr2/preface.pdf). ## 安装说明 ANTLR实际上是两件事: 一种工具,用于将语法转换为Jav…” 当前
- 2022年2月21日 (一) 05:56 差异 历史 0 Antlr4/index 当前