摘要: ###要点回顾: 上一节课我们知道了段寄存器共96位 Selector//16位 Attribute//16位 Base //32位 Limit //32位 我们可以通过MOV指令进行读写(LDTR和TR除外) 但是我们只能看见16位,那我们证明Attribute,Base,Limit的存在呢? # 阅读全文
posted @ 2021-11-05 17:15 不会笑的孩子 阅读(89) 评论(0) 推荐(0)
摘要: ##保护模式简介 CPU分为实模式、保护模式、虚拟8086模式,大多数操作系统运行在保护模式下。 * 保护模式具有两个特点:段、页、保护模式真正保护的是数据结构、寄存器、指令。 * 实模式:16位汇编,访问的都是物理地址,非常危险。 * 保护模式:保护的是对内存的访问,相对实模式安全。段层保护,页层 阅读全文
posted @ 2021-11-05 15:50 不会笑的孩子 阅读(210) 评论(0) 推荐(0)
摘要: #include "stdafx.h" #include<stdio.h> #include<stdlib.h> typedef struct Node { int data ;//数据域 struct Node * pNext; //指针域 这个指针域它指向的是跟它本身一样的数据类型的另一个节点 阅读全文
posted @ 2021-11-05 12:47 不会笑的孩子 阅读(85) 评论(0) 推荐(0)
摘要: ![](https://img2020.cnblogs.com/blog/2069956/202110/2069956-20211010194458307-1118333427.png) 阅读全文
posted @ 2021-10-10 19:45 不会笑的孩子 阅读(76) 评论(0) 推荐(0)
摘要: #include<stdio.h> #include<malloc.h> struct Student{ int sid; int age; } struct Student* CreateStudent(void); void ShowStudent(strucent Student*) int 阅读全文
posted @ 2021-10-09 11:15 不会笑的孩子 阅读(38) 评论(0) 推荐(0)
摘要: typedef int INT; //相当于给int起了一个别名INT typedef struct Student { int sid; char name[100]; char sex; }ST; //ST st 就相当于struct Student st ,给struct Student 起了 阅读全文
posted @ 2021-10-09 11:13 不会笑的孩子 阅读(37) 评论(0) 推荐(0)
摘要: #include <stdio.h> //#为预处理命令 #include <malloc.h>//内存分配 int main(void) { //静态分配内存(数组) int a[5] = {2,3,5,6,9}; int len = 0; //len 为一维数组的长度,可以根据需求动态分配长度 阅读全文
posted @ 2021-10-09 10:55 不会笑的孩子 阅读(71) 评论(0) 推荐(0)
摘要: ![](https://img2020.cnblogs.com/blog/2069956/202110/2069956-20211008184954407-1117572973.gif) 阅读全文
posted @ 2021-10-08 18:50 不会笑的孩子 阅读(84) 评论(0) 推荐(0)
摘要: pe文件经历了从16位系统到32位系统的过度。因此32系统下的每一个PE文件都可以在16位系统下运行。 16位系统下的PE结构 在16位系统下,PE结构可以大致分为两个部分:DOS头和一些其他数据 ## DOS MZ 头(16位) # 32位系统下,PE结构示意图 32位系统下的PE文件结构被划分为 阅读全文
posted @ 2021-08-06 09:29 不会笑的孩子 阅读(1813) 评论(0) 推荐(0)
摘要: PE中规定了三类对齐:数据在内存中的对齐、 数据在文件中的对齐、资源文件资源数据的对齐。 1.内存对齐 由于windows操作系统对内存属性的设置以也为单位,所以通常情况下,节在内存中的对齐单位必须至少一个页的大小。 对于32的windowsxp系统来说,这个值是4KB(1000H) 对于64位操作 阅读全文
posted @ 2021-08-05 18:52 不会笑的孩子 阅读(609) 评论(0) 推荐(0)