在引导阶段有部分代码是在实模式下运行的,这部分代码是16位的。如果在引导阶段没有尽快进入保护模式,或者都进入内核执行了,还没有进入保护模式的话,代码也还都是16位的,所以可能在进入内核之后一段时间执行的代码都是16位模式的。所以需要这部分代码涉及到16位编程。
这里使用的gcc编译器。gcc现在并不支持16位编程,不支持gcc,现在所有的新型编译器都已经不再支持16位编程了。支持16位编程都已经是那些老编译器了。比如TC什么的。
这里描述的是在gcc下进行16位c程序的编写和编译。
编译选项
gcc -D arch=16 -m32 -I$(root) -I$(root)/klibc/include -I$(root)/kernel/include -I$(root)/mm/include -c ./mm/mm.c -o ./mm/mm.o
或者
gcc -D arch=16 -D gcc -m32 -I$(root) -I$(root)/klibc/include -I$(root)/kernel/include -I$(root)/mm/include -c ./mm/mm.c -o ./mm/mm.o
生成的汇编代码:
.file "mm.c"
/APP
.code16gcc
/NO_APP
.text
.globl _kmalloc
.def _kmalloc; .scl 2; .type 32; .endef
_kmalloc:
pushl %ebp
movl %esp, %ebp
相关推荐
根据提供的文档信息,我们可以归纳出以下关于"SAS编程基础1"的关键知识点: ### SAS编程基础1:概述 - **出版信息**: - 出版时间:2012年1月 - 作者:Michele Ensor 和 Susan Farmer - 贡献者:Michelle ...
通过阅读本书的笔记与习题整理,读者可以深入理解Python编程的核心知识点,并通过实际练习来巩固所学。 1. **Python基础**: - 变量和数据类型:Python支持整型(int)、浮点型(float)、字符串(str)和布尔型...
Python的强大之处在于其庞大的标准库和第三方库,这些库可以极大地简化常见的编程任务。 ##### 2. `os`模块 `os`是Python的一个内置模块,提供了与操作系统交互的功能。通过`os`模块,我们可以执行诸如创建和删除...
《Python3基础教程(第2版)(慕课版)》是一份全面介绍Python编程语言的教育资源,适合初学者入门。这份教程通过一系列PPT形式的章节,详细讲解了Python3的基本语法和常用功能。以下是根据提供的压缩包文件名列表...
* 第2章:基础语法(17个知识点) - 变量的定义 - Number数据类型 - String数据类型 - List数据类型 - Tuple数据类型 - Set数据类型 - Dictionary数据类型 - 占位运算符和算术运算符 - 赋值运算符、比较...
在“iOS Mac.OS.X cocoachina知识点整理 part02”这个资源中,我们可以期待学习到一系列关于iOS和Mac OS X开发的重要概念和技术。CocoaChina作为一个知名的开发者社区,提供了丰富的教程和资料,帮助开发者深入理解...
### 第二课:基本数据类型与变量 - 数据类型的定义 - 数值类型(整型int、浮点型float等) - 字符串类型 - 布尔类型 - 变量的声明与赋值 - 变量的作用域 - 输入输出操作 ### 第三课:运算符与表达式 - 算术运算符...
《Python核心编程 第二版》是由Wesley J. Chun编写的经典Python教程,这本书深入浅出地介绍了Python语言的核心概念和技术。作为Python学习者的必备参考书,它涵盖了从基础语法到高级特性的广泛内容,旨在帮助读者...
"P答案.pdf"可能是该书练习题的官方解答或读者整理的答案集,而"Python+核心编程+第二版.pdf"则很可能是《Python核心编程(第二版)》的电子版全文。 从这两个文件我们可以预想会涉及到以下Python知识点: 1. **...
- 第二代:晶体管计算机,引入了操作系统和高级语言,适用于事务处理。 - 第三代:集成电路计算机,采用半导体存储器,出现分时操作系统。 - 第四代:大规模、超大规模集成电路计算机,催生了微型计算机时代,...
"HCIA鸿蒙设备开发认证习题整理1" 本资源摘要信息对应的知识点主要涉及到HarmonyOS设备开发认证的相关知识领域,涵盖了操作系统、编程语言、开发工具、设备驱动、软件开发等方面。 一、操作系统 * HarmonyOS设备...
本知识点整理是针对CocoaChina上分享的内容的一部分,主要聚焦于iOS和Mac OS X开发的基础概念和核心技术。这部分内容是“part01”,意味着它可能是系列教程的第一部分,旨在为初学者提供坚实的入门基础。 1. **...
由于提供的内容片段重复且包含乱码,我将基于标题“编程小白的第一本_Python_入门书”和标签“python”提供的知识背景,针对Python编程入门者整理出丰富的知识点。 Python是一种高级编程语言,以其简洁易读的语法和...
《Python核心编程第二版》是Python编程领域里一本广受欢迎的经典教材,这本书深入浅出地介绍了Python语言的基础知识和高级特性。笔记作者通过细致的整理,将书中的关键概念、语法和实例进行了详尽的记录,旨在帮助...
- **【Python第2课】print** - **主要内容**:讲解Python中的`print()`函数,用于输出信息到控制台。 - **知识点**: - `print()`函数的基本用法; - 如何在输出中加入换行符或制表符; - 使用逗号 `,` 分隔多...
2. **字符串处理**:`ppplz-format` 可能包含多种字符串格式化方法,如模板字符串、字符串连接、替换、分割等,用于整理 `osu-ppplz` 输出的消息格式。 3. **数据转换**:可能需要将原始数据转换为更易读的格式,...
【标题】"第二次python考试编程题代码.zip"揭示了这个压缩包内容主要是关于Python编程的解题代码。在Python的学习过程中,编程题是提升技能的重要途径,它可以帮助学习者理解和运用语言特性,解决实际问题。这可能...
三肿C#实用编程速查宝典 整理目的:为了让更多朋友加入学习C#的行列 特别感谢: 史莱姆 ( QQ:54488**** ) Rabbit ( QQ:54487**** ) 度娘 谷哥 注意: 1:本文档内所有代码均在WIN764位平台下测试通过,...