久久99热66热这里只有精品,特黄特色的大片在线观看,亚洲日本三级在线观看,国产三级农村妇女在线,亚洲av毛片免费在线观看,哺乳叫自慰在线看,天天干美女av网

實(shí)現(xiàn)在Windows下直接讀寫內(nèi)存的方法

時間:2023-05-01 08:05:50 計(jì)算機(jī)論文 我要投稿
  • 相關(guān)推薦

實(shí)現(xiàn)在Windows下直接讀寫內(nèi)存的方法

Windows以它一致的圖形用戶界面、完善的內(nèi)存管理等特點(diǎn),已被廣大用戶所接受,但在Windows下,計(jì)算機(jī)已運(yùn)行在保護(hù)模式,雖然Windows已提供了一整套的內(nèi)存管理函數(shù),用戶還是不可訪問指定地址的內(nèi)存,致使許多中、小型企業(yè)開發(fā)的計(jì)算機(jī)插件無法在Windows下使用,因?yàn)榫帉戲?qū)動程序是很費(fèi)事的。他們僅希望能直接讀、寫電路板所占的內(nèi)存即可。本文介紹的是在Windows 3.1下,用Borland C 3.1編程環(huán)境,實(shí)現(xiàn)用戶對內(nèi)存直接讀寫的方法,讀者不難將它移植到其它編程語言。

1.利用Windows提供的各個段選擇符標(biāo)號,在C源程序中將選擇符標(biāo)號說明為外部變量。其對照表如下:

表1

2.利用宏定義MAKELONG(段內(nèi)偏移量,&段選擇符標(biāo)號)即可得到一個長指針。

3.經(jīng)上述方法得到的指針與C語言中定義的指針是一樣的。

4.如果使用的段是D000H或E000H或其它上位內(nèi)存時,需改動Windows的系統(tǒng)配置文件SYSTEM.INI,利用字符編輯器,在[386Enh]小節(jié)中加入EmmExclude=xxxxyyyy一行,禁止Windows使用這段存儲空間。值xxxx和yyyy是16位內(nèi)存范圍。如開發(fā)的插件占用D000H段的64K,則應(yīng)加入這樣一行:EmmExclude=d000-dfff。

利用這一方法,已使我們自己開發(fā)的電路板(占用D000H段),在Windows控制下成功地運(yùn)行了?紤]到讀者沒有相應(yīng)的硬件,這里以讀取中斷向量、計(jì)算機(jī)ROM的制造時間和對DOS用戶通訊區(qū)的讀寫為例,詳見以下程序。對于DOS用戶通訊區(qū)的內(nèi)容,讀者可用DOS的DEBUG程序檢查(D命令)和修改(E命令)。DOS的用戶通訊區(qū)在0040∶00F0H處開始,共計(jì)16個字節(jié)。在修改時請注意:從0040∶00F0H開始存放可顯示ASCII碼字符串,并以0結(jié)尾。

; MEMORY.DEF 模塊定義文件

NAME

Memory

DESCRIPTION'demonstrate an intergrated menu'

EXETYPEWINDOWS

STUB'WINSTUB.EXE'

CODEPRELOAD MOVEABLE DISCARDABLE

DATAPRELOAD MOVEABLE MULTIPLE

HEAPSIZE1024

STACKSIZE8192

EXPORTSWndProc

/*----------

MEMORY.RC

直接讀寫內(nèi)存的資源定義文件

----------*/

#include "memory.h"

MemoryMenu MENU

BEGIN

POPUP"取中斷向量[&I]"

BEGIN

MENUITEM "int 0&3h", IDM-INT03H

MENUITEM "int &10h", IDM-INT10H

MENUITEM "int &21h", IDM-INT21H

END

POPUP "ROM區(qū)域[&R]"

BEGIN

MENUITEM "制造時間[&T]",

IDM-TIME

MENUITEM "取用戶通訊區(qū)[&U]", IDM-READ

MENUITEM "存用戶通訊區(qū)[&S]", IDM-WRITE

END

MENUITEM "\a退出[&X]",

IDM-EXIT

END

/*----------

MEMORY.H

直接讀寫內(nèi)存的頭文件

----------*/

#define IDM-INT03H 101

#d

[1] [2] [3] 

【實(shí)現(xiàn)在Windows下直接讀寫內(nèi)存的方法】相關(guān)文章:

語文讀寫學(xué)習(xí)方法11-01

內(nèi)存·什么是內(nèi)存電壓04-26

教育隨筆:讀寫結(jié)合的寫作教學(xué)方法05-01

精細(xì)直接積分法的積分方法選擇05-01

一種直接基于位移的抗震設(shè)計(jì)方法04-29

錯覺性結(jié)合現(xiàn)象研究的方法:對注意的直接操縱05-02

什么是內(nèi)存04-26

直接04-29

直接推導(dǎo)攝動運(yùn)動方程的一種方法05-01

從全站儀內(nèi)存數(shù)據(jù)到AutoCAD圖形的轉(zhuǎn)換方法探討04-28