久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2057|回復: 0
打印 上一主題 下一主題
收起左側

Windows 3.0的內存空間分配--有點老,但有用

[復制鏈接]
跳轉到指定樓層
樓主
ID:94349 發表于 2015-11-2 14:51 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
vmm.h
/*
*  Address space (arena) boundaries
*/
#define MAXSYSTEMLADDR        ((ULONG) 0xffbfffff)    /* 4 gig - 4meg */
#define MINSYSTEMLADDR        ((ULONG) 0xc0000000)    /* 3 gig */
#define MAXSHAREDLADDR        ((ULONG) 0xbfffffff)
#define MINSHAREDLADDR        ((ULONG) 0x80000000)    /* 2   gig */
#define MAXPRIVATELADDR     ((ULONG) 0x7fffffff)
#define MINPRIVATELADDR     ((ULONG) 0x00400000)    /* 4 meg */
#define MAXDOSLADDR    ((ULONG) 0x003fffff)
#define MINDOSLADDR    ((ULONG) 0x00000000)

#define MAXSYSTEMPAGE        (MAXSYSTEMLADDR >> PAGESHIFT)
#define MINSYSTEMPAGE        (MINSYSTEMLADDR >> PAGESHIFT)
#define MAXSHAREDPAGE        (MAXSHAREDLADDR >> PAGESHIFT)
#define MINSHAREDPAGE        (MINSHAREDLADDR >> PAGESHIFT)
#define MAXPRIVATEPAGE        (MAXPRIVATELADDR >> PAGESHIFT)
#define MINPRIVATEPAGE        (MINPRIVATELADDR >> PAGESHIFT)
#define MAXDOSPAGE    (MAXDOSLADDR >> PAGESHIFT)
#define MINDOSPAGE    (MINDOSLADDR >> PAGESHIFT)


vmm.inc
/*
*  Address space (arena) boundaries
*/


PAGESHIFT    EQU    12
PAGESIZE    EQU    (1 SHL PAGESHIFT)
PAGEMASK    EQU    (PAGESIZE-1)
MAXSYSTEMLADDR    EQU    (0ffbfffffH)
MINSYSTEMLADDR    EQU    (0c0000000H)
MAXSHAREDLADDR    EQU    (0bfffffffH)
MINSHAREDLADDR    EQU    (80000000H)
MAXPRIVATELADDR    EQU    (7fffffffH)
MINPRIVATELADDR    EQU    (00400000H)
MAXDOSLADDR    EQU    (003fffffH)
MINDOSLADDR    EQU    (00000000H)
MAXSYSTEMPAGE    EQU    (MAXSYSTEMLADDR SHR PAGESHIFT)
MINSYSTEMPAGE    EQU    (MINSYSTEMLADDR SHR PAGESHIFT)
MAXSHAREDPAGE    EQU    (MAXSHAREDLADDR SHR PAGESHIFT)
MINSHAREDPAGE    EQU    (MINSHAREDLADDR SHR PAGESHIFT)
MAXPRIVATEPAGE    EQU    (MAXPRIVATELADDR SHR PAGESHIFT)
MINPRIVATEPAGE    EQU    (MINPRIVATELADDR SHR PAGESHIFT)
MAXDOSPAGE    EQU    (MAXDOSLADDR SHR PAGESHIFT)
MINDOSPAGE    EQU    (MINDOSLADDR SHR PAGESHIFT)



win386.exe 部分代碼(實模式)

083C:00001AE8 MOV DWORD PRT [0040],80000000H      ;設置win386常駐區的基址
083C:00001AF1 MOV WORD PTR [0044],0280H        ;設置win386常駐區的頁面數
083C:00001AF7 MOV DWORD PTR [0046],80280000H    ;設置win386初始化區的基址
083C:00001B00 MOV WORD PTR [004A],0180H        ;設置win386初始化區的頁面數   



083C:0000271C PUSH SI                ;建立一級頁目錄表
                        ;入口參數:EAX--控制V86內存的二級頁表的物理地址
                              EBX--控制WIN386內存的二級頁表的物理地址
                              ES:DI--一級頁表地址
....
083C:0000272F MOV ECX,[0040]            ;WIN386常駐區的基址
083C:00002734 SHR ECX,16H            ;對應的一級索引,只有高10位有效,所以右移22位=16H




083C:00001D10 MOV ECX,[085C]            ;分配的頁面對應的虛擬地址
083C:00001D15 SUB ECX,80000000            ;win386區的開始地址是80000000
083C:00001D1C LES DI,[087C]            ;ES:DI指向控制win386區的二級頁表



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产免费视频 | 一区二视频 | 天天射网站| 久久国产精品一区二区 | 久久久一区二区三区四区 | 91色视频在线观看 | 久久大陆 | 日韩中文字幕视频在线 | 日韩精品一区二区三区中文在线 | 精品欧美一区二区三区精品久久 | 亚洲欧美日韩国产综合 | 精品久久久久久久人人人人传媒 | 亚洲欧美一区二区三区1000 | 91国产精品 | 久久精品—区二区三区 | 亚洲综合在线网 | 国产精品视频免费看 | 亚洲 成人 在线 | 在线视频一区二区三区 | 国产在线一区二区 | 国产精品一区二区av | 四虎永久在线精品免费一区二 | 免费一级毛片 | 欧美伊人久久久久久久久影院 | 一级a性色生活片久久毛片波多野 | 欧美偷偷操 | 99亚洲精品| 精品日韩一区 | 欧美一区在线看 | 中文字幕久久精品 | 一区二区三区精品视频 | 国产精品久久久久久久久图文区 | 香蕉国产在线视频 | 美女爽到呻吟久久久久 | 99视频在线看 | 国产一区二区三区色淫影院 | 日韩成人在线视频 | 欧美毛片免费观看 | 久干网| 成年人在线观看视频 | 午夜影院在线观看版 |