pmtest2.asm 保护模式2
来源:互联网 发布:淘宝爱逛街在哪里 编辑:程序博客网 时间:2024/05/24 06:21
参考于渊的《自己动手写操作系统》第三章中从实模式切换到保护模式,最后有重新
切回实模式的代码(代码如下),其中有几点不太明白的,参考其他文章之后在此记录一下。
其中还有不太明白的地方,希望大家能在下面 留个言帮我讲明白,谢谢。
下面代码有些宏定义没贴出来,应该能看明白。
1; ==========================================
2; pmtest2.asm
3; 编译方法:nasm pmtest2.asm -o pmtest2.com
4; ==========================================
5
6%include "pm.inc" ; 常量, 宏, 以及一些说明
7
8org 0100h
9 jmp LABEL_BEGIN
10
11[SECTION .gdt]
12; GDT
13; 段基址, 段界限 , 属性
14LABEL_GDT: Descriptor 0, 0, 0 ; 空描述符
15LABEL_DESC_NORMAL: Descriptor 0, 0ffffh, DA_DRW ; ***注意此处为Normal 描述符*****
16LABEL_DESC_CODE32: Descriptor 0, SegCode32Len - 1, DA_C + DA_32 ; 非一致代码段, 32
17LABEL_DESC_CODE16: Descriptor 0, 0ffffh, DA_C ; 非一致代码段, 16
18LABEL_DESC_DATA: Descriptor 0, DataLen - 1, DA_DRW ; Data
19LABEL_DESC_STACK: Descriptor 0, TopOfStack, DA_DRWA + DA_32 ; Stack, 32 位
20LABEL_DESC_TEST: Descriptor 0500000h, 0ffffh, DA_DRW
21LABEL_DESC_VIDEO: Descriptor 0B8000h, 0ffffh, DA_DRW ; 显存首地址
22; GDT 结束
23
24GdtLen equ $ - LABEL_GDT ; GDT长度
25GdtPtr dw GdtLen - 1 ; GDT界限
26 dd 0 ; GDT基地址
27
28; GDT 选择子
29SelectorNormal equ LABEL_DESC_NORMAL - LABEL_GDT
30SelectorCode32 equ LABEL_DESC_CODE32 - LABEL_GDT
31SelectorCode16 equ LABEL_DESC_CODE16 - LABEL_GDT
32SelectorData equ LABEL_DESC_DATA - LABEL_GDT
33SelectorStack equ LABEL_DESC_STACK - LABEL_GDT
34SelectorTest equ LABEL_DESC_TEST - LABEL_GDT
35SelectorVideo equ LABEL_DESC_VIDEO - LABEL_GDT
36; END of [SECTION .gdt]
37
38[SECTION .data1] ; 数据段
39ALIGN 32
40[BITS 32]
41LABEL_DATA:
42SPValueInRealMode dw 0
43; 字符串
44PMMessage: db "In Protect Mode now. ^-^", 0 ; 进入保护模式后显示此字符串
45OffsetPMMessage equ PMMessage - $$ ; 字符串PMMessage相对于LABEL_DATA的偏移,相对于数据段的偏移
46StrTest: db "ABCDEFGHIJKLMNOPQRSTUVWXYZ", 0
47OffsetStrTest equ StrTest - $$
48DataLen equ $ - LABEL_DATA
49; END of [SECTION .data1]
50pmtest2.asm 保护模式2
第三章 保护模式 pmtest2.asm添加实现段间间接远转移代码
pmtest2.asm
第三章pmtest2源码解析 实模式到保护模式再到实模式
保护模式下pmtest1.asm的理解
NASM 纯汇编打造简单中文操作系统(2 init.asm初始化操作系统内存。进入32位保护模式)
NASM 纯汇编打造简单中文操作系统(2 init.asm初始化操作系统内存。进入32位保护模式)
2.pmtest2.asm <Orange's 一个操作系统的实现>
2.pmtest2.asm <Orange's 一个操作系统的实现>
修改pmtest1.asm,直接作为bootloader启动并进入保护模式
3.保护模式2----认识保护模式B
80x86保护模式(2)
保护模式
保护模式
保护模式
保护模式
保护模式
保护模式
GDB使用手册
5 .NET框架类在ASP.NET中的使用(2)
C#-CSC编译器的使用
MFC应用程序中处理消息,创建窗口的过程,关闭窗口(非模态窗口),打开模式对话框等的函数调用顺序
关于函数调用的总结
pmtest2.asm 保护模式2
查看源代码的ctags,cscope(1)
优雅地关闭Socket;检测非正常断开的TCP连接
Linux shell脚本全面学习
正则表达式
浅尝Linux
Today is history
help cscope (3)
Oracle Report迁移到BI Publisher
2; pmtest2.asm
3; 编译方法:nasm pmtest2.asm -o pmtest2.com
4; ==========================================
5
6%include "pm.inc" ; 常量, 宏, 以及一些说明
7
8org 0100h
9 jmp LABEL_BEGIN
10
11[SECTION .gdt]
12; GDT
13; 段基址, 段界限 , 属性
14LABEL_GDT: Descriptor 0, 0, 0 ; 空描述符
15LABEL_DESC_NORMAL: Descriptor 0, 0ffffh, DA_DRW ; ***注意此处为Normal 描述符*****
16LABEL_DESC_CODE32: Descriptor 0, SegCode32Len - 1, DA_C + DA_32 ; 非一致代码段, 32
17LABEL_DESC_CODE16: Descriptor 0, 0ffffh, DA_C ; 非一致代码段, 16
18LABEL_DESC_DATA: Descriptor 0, DataLen - 1, DA_DRW ; Data
19LABEL_DESC_STACK: Descriptor 0, TopOfStack, DA_DRWA + DA_32 ; Stack, 32 位
20LABEL_DESC_TEST: Descriptor 0500000h, 0ffffh, DA_DRW
21LABEL_DESC_VIDEO: Descriptor 0B8000h, 0ffffh, DA_DRW ; 显存首地址
22; GDT 结束
23
24GdtLen equ $ - LABEL_GDT ; GDT长度
25GdtPtr dw GdtLen - 1 ; GDT界限
26 dd 0 ; GDT基地址
27
28; GDT 选择子
29SelectorNormal equ LABEL_DESC_NORMAL - LABEL_GDT
30SelectorCode32 equ LABEL_DESC_CODE32 - LABEL_GDT
31SelectorCode16 equ LABEL_DESC_CODE16 - LABEL_GDT
32SelectorData equ LABEL_DESC_DATA - LABEL_GDT
33SelectorStack equ LABEL_DESC_STACK - LABEL_GDT
34SelectorTest equ LABEL_DESC_TEST - LABEL_GDT
35SelectorVideo equ LABEL_DESC_VIDEO - LABEL_GDT
36; END of [SECTION .gdt]
37
38[SECTION .data1] ; 数据段
39ALIGN 32
40[BITS 32]
41LABEL_DATA:
42SPValueInRealMode dw 0
43; 字符串
44PMMessage: db "In Protect Mode now. ^-^", 0 ; 进入保护模式后显示此字符串
45OffsetPMMessage equ PMMessage - $$ ; 字符串PMMessage相对于LABEL_DATA的偏移,相对于数据段的偏移
46StrTest: db "ABCDEFGHIJKLMNOPQRSTUVWXYZ", 0
47OffsetStrTest equ StrTest - $$
48DataLen equ $ - LABEL_DATA
49; END of [SECTION .data1]
50
原创粉丝点击
热门IT博客
热门问题
老师的惩罚
人脸识别
我在镇武司摸鱼那些年
重生之率土为王
我在大康的咸鱼生活
盘龙之生命进化
天生仙种
凡人之先天五行
春回大明朝
姑娘不必设防,我是瞎子
桂林旅游李志刚
边做!打电话
偷自在线页2
亨利本家
无限资源第页
国产69式
红楼yi绮梦 警幻
家庭偷在线
贾汪大吴物流园
2019中文字幕乱码35
浮力最新地址国产第一眼002
泰山求子还愿
团子作品大全
九豹 影院
天天碰天天澡
窄红by折一枚针免费阅读
河南闹洞房叠罗汉
中文字幂红猫大本营
朝桄桐最新作品
白白色‘
图套超市115页
苍狼导航的地址是多少
动态邪邪图400期图片小说
国 产189页
九九热线精品视频6_精品国产自在拍第一码
草草剧院公布网址
四hu
洋吊黑老外
2019中文字字幕第1
江西旅游集团班子成员
xbmm.31
精品5I页
女儿40p
泰山牛酒价格表和图片
字幕35在线
雏田与纲手轮流x鸣人
800 800a 800a com 800a
老湿电影院
3d人与驴马zoo小说
满员电车sw274 迅雷
女性私下 图片