管理信息系統(tǒng)優(yōu)秀實驗報告_第1頁
管理信息系統(tǒng)優(yōu)秀實驗報告_第2頁
管理信息系統(tǒng)優(yōu)秀實驗報告_第3頁
管理信息系統(tǒng)優(yōu)秀實驗報告_第4頁
管理信息系統(tǒng)優(yōu)秀實驗報告_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第27頁 共27頁第1頁 共2頁實 驗 報 告課程名稱:管理信息系統(tǒng) 任課教師:智國建 適用專業(yè):電子商務(wù)實驗日期:2013年4月 實驗成員:1100530124劉磊 1100530220蒯華偉1100530221 李可皓 實驗項目名稱:認(rèn)識管理信息系統(tǒng)實驗項目時間:四個課時一、實驗項目的目的及任務(wù)1理解管理信息系統(tǒng)的基本原理。2掌握管理信息系統(tǒng)的基本操作方法。3掌握管理信息系統(tǒng)操作的步驟和方法。4掌握管理信息系統(tǒng)日常處理的步驟和方法。二、實驗環(huán)境1系統(tǒng)軟件:Windows 72應(yīng)用軟件:淘寶助理53. 網(wǎng)站環(huán)境:淘寶網(wǎng)三、實驗內(nèi)容1選擇一個或若干典型電子商務(wù)軟件(網(wǎng)站)作為實驗軟件。2對選中

2、的軟件(網(wǎng)站)進(jìn)行一系列的操作,包括(初始化,日常處理, 操作)。3總結(jié)管理信息系統(tǒng)的操作使用方法的規(guī)律性(注意前臺,后臺不同的功能)。四、實驗內(nèi)容分析電子商務(wù)軟件的功能模塊和基本業(yè)務(wù)流程(一)典型電子商務(wù)軟件選擇1. 淘寶助理是一款免費客戶端工具軟件,它可以使不登錄淘寶網(wǎng)就能直接編輯商品信息,快捷批量上傳商品。主要功能如下:離線管理、編輯商品信息;快速創(chuàng)建新商品;批量編輯商品信息;批量打印快遞單;批量發(fā)貨,批量好評;圖片搬家,自動遷移商品圖片到淘寶圖片空間。2. 下載地址 HYPERLINK / /(二)對淘寶助理軟件進(jìn)行一系列日常操作1.軟件初始化: 打開淘寶助理,輸入淘寶帳號和密碼;進(jìn)入

3、淘寶助理界面后,單擊“更新數(shù)據(jù)”即完成淘寶店鋪與本地軟件之間的信息同步,完成初始化。2. 新商品上架:寶貝管理界面中,新上架商品信息由寶貝基本信息、銷售屬性、寶貝描述和效果預(yù)覽四個類別構(gòu)成;商品信息錄入通過手動輸入和CSV數(shù)據(jù)庫導(dǎo)入兩種方式實現(xiàn);以下為手動輸入商品信息,上架新商品流程:寶貝管理新建寶貝信息(寶貝名稱、寶貝分類、商家編碼、所在地、運(yùn)費、一口價、新舊程度、數(shù)量、寶貝圖片、開始時間等)銷售屬性(規(guī)格、顏色、材質(zhì)等)編輯寶貝描述(文字描述、圖片描述、視頻描述、自定義內(nèi)容等)效果預(yù)覽保存并上傳新商品上架成功。(三)管理信息系統(tǒng)的操作使用方法的規(guī)律性管理信息系統(tǒng)可以簡化人們?nèi)粘9ぷ髦械拇罅?/p>

4、機(jī)械重復(fù)的操作,使一些過程繁瑣且數(shù)據(jù)量大的數(shù)據(jù)收集工作得已高效的進(jìn)行,信息系統(tǒng)還可以通過對數(shù)據(jù)的有效控制,實現(xiàn)對工作流層的控制,協(xié)調(diào)。淘寶助手的后臺管理是針對大批量的數(shù)據(jù)修改,直接作用于選擇的所有商品的數(shù)據(jù)修改,具有方便、快捷的修正功能;淘寶助手的前臺管理則是針對特定商品的具體修改,只會改變該商品的數(shù)據(jù),而不會影響所有商品的數(shù)據(jù)。一般來說,管理信息系統(tǒng)的前臺操作,大多是采取一對一的管理模式,主要是應(yīng)用于對某項數(shù)據(jù)的具體細(xì)節(jié)修改;對于一些較為龐大的信息數(shù)據(jù)管理,需要從后臺統(tǒng)一管理大體數(shù)據(jù)的設(shè)定。(四)淘寶助理軟件的功能模塊和基本業(yè)務(wù)流程1. 淘寶店鋪后臺管理系統(tǒng)功能模塊2. 基本業(yè)務(wù)流程圖(以淘

5、寶網(wǎng)店鋪后臺發(fā)布商品為例)發(fā)布寶貝淘寶網(wǎng)淘寶網(wǎng)實名認(rèn)證支付寶實名認(rèn)證否否進(jìn)行認(rèn)證進(jìn)行認(rèn)證是通過開店考試通過開店考試完成考試完成考試否是 發(fā)布方式 商品類別 寶貝屬性 SKU模塊 圖片模板 售后保障及其它信息 發(fā)布完成發(fā)布完成五、實驗總結(jié)通過這次實驗,我們粗略理解了管理信息系統(tǒng)的基本原理,初步掌握了管理信息系統(tǒng)的基本操作方法,實踐了管理信息系統(tǒng)操作的步驟和方法,熟悉了管理信息系統(tǒng)日常處理的步驟和方法,從而進(jìn)一步加深了對于現(xiàn)代管理信息系統(tǒng)的知識結(jié)構(gòu)的認(rèn)知。淘寶助理是一款很實用的電子商務(wù)軟件,簡化了工作流程,提高了數(shù)據(jù)收集和分析的效率,為用戶提供了快捷高效的后臺管理。附錄資料:不需要的可以自行刪除

6、C語言-INT10中斷號視頻服務(wù)程序00H(設(shè)置視頻模式)輸入: AH=00H AL=視頻模式輸出: 無 說明:視頻服務(wù)程序00H用來設(shè)置視頻配置為表10-l中列出之一。AL寄存器給定所需視頻模式。若設(shè)置了新視頻模式,則清除屏幕。 視頻服務(wù)程序0lH(設(shè)置光標(biāo)大小)輸入: AH=01H CH=光標(biāo)開始掃描行 CL=光標(biāo)結(jié)束掃描行輸出: 無說明:該服務(wù)程序用于正文模式。在一個字符單元內(nèi)由一行或幾行組成的光標(biāo)將在字符顯示位置得閃爍。該服務(wù)程序定義光標(biāo)的顯示行數(shù)。對CGA模式,8掃描行(07)用于光標(biāo)。對EGA模式,使用14行(013)。MCGA和VGA適配器,光標(biāo)可具有16掃描行(015)高。缺省

7、設(shè)置如下: CGA: CH6,CL7 EGA: CHll,CL12 MCGA和VGA: CH量13,CL1 視頻服務(wù)程序02H(設(shè)置光標(biāo)位置)輸入: AH=02H BH=光標(biāo)頁號 DH=光標(biāo)行號 DL=光標(biāo)列號輸出: 無說明:該服務(wù)器序用于將光標(biāo)移到指定行和列位置。該服務(wù)程序即可用于正文模式也可用于圖形模式;然而,僅在正文模式下才顯示光標(biāo)。屏幕左上角為坐標(biāo)系統(tǒng)的原點。對支持多頁的正文和圖形模式,則必須指定頁號,以保證光標(biāo)位置正確。視頻服務(wù)程序03H(讀光標(biāo)位置)輸入: AH=03H BH=頁號輸出: CH=光標(biāo)開始行 CL=光標(biāo)結(jié)束行 DH=行號 DL列號說明:該服務(wù)程序用于獲取光標(biāo)大小和位置

8、。BH給定了頁號。CH中存放光標(biāo)開始掃描行,而CL中為光標(biāo)結(jié)束掃描行。DH中存放行位置,DL中為列位置。視頻服務(wù)程序05H(設(shè)置活動顯示頁)輸入: AH=05H AL=活動頁號輸出: 無 說明:該服務(wù)程序為正文和圖形模式用來設(shè)置活動顯示頁號。AL指定所需頁號。對多數(shù)正文模式,頁號范圍為0一7。對具有足夠視頻緩沖EGA和VGA適配器,可支持多頁圖形。對所有正文和圖形模式,缺省為0頁。視頻服務(wù)程序06H(向上翻滾活動窗口)。輸入:AH=06HAL=翻滾行數(shù)BH=空白行屬性CH左上角行號CL=左上角列號 DH右下角行號 Dl右下角列號輸出: 無 說明:該服務(wù)程序用來創(chuàng)建和翻滾一正文窗口。CH和CL中

9、給出了正文窗口左上角坐標(biāo),DH和DL中給出了正文窗口右下角坐標(biāo)。AL中定義了翻滾的行數(shù)。若AL00H,則正文窗口為空白。當(dāng)滾動窗口時,底部行是空白行,其屬性由BH中指定。視頻服務(wù)程序07H(向下翻滾窗口)輸入:AH=07HAL=翻滾行數(shù)BH=空白行屬性CH=左上角行號CL=左上角列號DH=右下角行號DL=右下角列號輸出: 無說明:該服務(wù)程序用來創(chuàng)建和翻滾一正文窗口。CH和CL中給出了正文窗口左上角坐標(biāo),DH和DL中給出了正文窗口右下角坐標(biāo)。AL中定義了翻滾的行數(shù)。若AL00H,則正文窗口為空白。當(dāng)滾動窗口時,頂部行為空白,其屬性由BH中指定。視頻服務(wù)程序08H(讀字符和屬性)輸入: AH=08

10、H BH=活動頁號輸出: AH=字符屬性 AL=字符碼說明:該服務(wù)程序用于讀取正文或視頻模式下,光標(biāo)所在處字符。在圖形模式下,獲取的字符同圖形模式下使用的字符生成表有關(guān)。在正文模式下,將獲得字符的ASCII碼。字符屬性存放在AH中,字符ASCII碼存放在AL中。圖形模式下,AH中內(nèi)容無意義.視頻服務(wù)程序09H(寫字符和屬性)輸入: AH09H AL=寫字符的ASCII碼 BL=寫字符的屬性 BH=活動頁號 CX=重復(fù)寫字符和屬性次數(shù)輸出: 無 說明:該服務(wù)程序?qū)懸粋€字符到屏幕當(dāng)前光標(biāo)處。AL中指定字符碼。正文模式下,BL中指定字符屬性。圖形模式下,BL指定背景顏色。字符可重復(fù)寫。CX為寫字符及

11、屬性的次數(shù)。視頻服務(wù)程序0FH(取當(dāng)前視頻模式)輸入: AH0FH輸出: AH每行字符數(shù) AL當(dāng)前顯示模式 BH活動頁號說明:該服務(wù)程序用來獲取當(dāng)前視頻模式,屏幕寬(以字符計),以及活動顯示頁號;視頻顯示模式存放在AL中。屏幕寬度(以字符計)存放在AH中,活動頁號存放在BH中。文件相關(guān)函數(shù)函數(shù)名: fopen功 能: 打開一個流用 法: FILE *fopen(char *filename, char *type);函數(shù)名: fclose功 能: 關(guān)閉一個流用 法: int fclose(FILE *stream); fopen()函數(shù)提供了幾種打開文件的方式,這是由其字符指針參數(shù)type決定

12、的。以下給出打開方式列表:參數(shù)作用R只讀W新建、可寫,如果文件存在則覆蓋A存在則在文件后附加,如果不存在則新建后寫r+更新一個存在的文件(讀和寫)w+增加一個新的文件更新(讀和寫),如果文件存在則覆蓋a+存在則在文件后附加(讀和寫),如果不存在則新建后更新(讀和寫)*以文本模式打開一個存在或新建的文件,附加”t”在參數(shù)后(rt, w+t, etc.)。*以二進(jìn)制模式打開一個存在或者新建的文件,附加”b”在參數(shù)后(wb, a+b, etc.)。函數(shù)名: fseek功 能: 重定位流上的文件指針用 法: int fseek(FILE *stream,long offset,int fromwher

13、e); 讀取文件函數(shù):函數(shù)名: fread功 能: 從一個流中讀數(shù)據(jù)用 法: int fread( void *ptr, int size, int nitems, FILE *stream ); 寫入文件函數(shù):函數(shù)名: fwrite功 能: 寫內(nèi)容到流中用 法: int fwrite( void *ptr, int size, int nitems, FILE *stream ); fseek()函數(shù)提供了文件指針的三個初始位置,這是由其參數(shù)fromwhere決定的,以下給出其列表:常量值文件定位SEEK_SET0從文件頭開始尋找SEEK_CUR1從文件當(dāng)前位置開始尋找SEEK_END2從文

14、件最后開始尋找函數(shù)名: fprintf功 能: 傳送格式化輸出到一個流中用 法: int fprintf( FILE *stream, char *format, argument,. );函數(shù)名: fscanf功 能: 從一個流中執(zhí)行格式化輸入用 法: int fscanf( FILE *stream, char *format,argument. );發(fā)聲函數(shù)函數(shù)名: sound功 能: 以指定頻率打開PC揚(yáng)聲器用 法: void sound(unsigned frequency);函數(shù)名: nosound功 能: 關(guān)閉PC揚(yáng)聲器用 法: void nosound(void);常規(guī)內(nèi)存操作

15、函數(shù)申請函數(shù):malloc(),farmalloc(),calloc(),farcalloc(),realloc(),farealloc()函數(shù)名: malloc功 能: 內(nèi)存分配函數(shù)用 法: void *malloc(unsigned size);函數(shù)名: farmalloc功 能: 從遠(yuǎn)堆中分配存儲塊用 法: void far *farmalloc(unsigned long size);函數(shù)名: calloc功 能: 分配主存儲器用 法: void *calloc(size_t nelem, size_t elsize);函數(shù)名: farcalloc功 能: 從遠(yuǎn)堆棧中申請空間用 法:

16、void far *farcalloc( unsigned long units, unsigned ling unitsz );函數(shù)名: realloc功 能: 重新分配主存用 法: void *realloc(void *ptr, unsigned newsize);函數(shù)名: farrealloc功 能: 調(diào)整遠(yuǎn)堆中的分配塊用 法: void far *farrealloc( void far *block, unsigned long newsize );使用函數(shù):memcpy(),memset(),memmove(),movedata()函數(shù)名: memcpy功 能: 從源source

17、中拷貝n個字節(jié)到目標(biāo)destin中用 法: void *memcpy(void *destin,void *source,unsigned n);函數(shù)名: memset功 能: 設(shè)置s中的所有字節(jié)為ch, s數(shù)組的大小由n給定用 法: void *memset(void *s, char ch, unsigned n);函數(shù)名: memmove功 能: 移動一塊字節(jié)用 法: void *memmove(void *destin,void *source,unsigned n);函數(shù)名: movedata功 能: 拷貝字節(jié)用 法: void movedata(int segsrc, int of

18、fsrc, int segdest, int offdest, unsigned numbytes);釋放函數(shù):free(),farfree()函數(shù)名: free功 能: 釋放已分配的塊用 法: void free(void *ptr);函數(shù)名: farfree功 能: 從遠(yuǎn)堆中釋放一塊用 法: void farfree(void);指針操作函數(shù):MK_FP(),FP_OFF(),FP_SEG()函數(shù)名: MK_FP功 能: 設(shè)置一個遠(yuǎn)指針用 法: void far *MK_FP(unsigned seg, unsigned off);函數(shù)名: FP_OFF功 能: 獲取遠(yuǎn)地址偏移量用 法:

19、unsigned FP_OFF(void far *farptr);函數(shù)名: FP_SEG功 能: 獲取遠(yuǎn)地址段值用 法: unsigned FP_SEG(void far *farptr);如果想知道還剩下多少常規(guī)內(nèi)存,我們可以使用以下函數(shù):函數(shù)名: coreleft()功 能: 獲取空閑內(nèi)存用 法: unsigned coreleft(void);函數(shù)名: farcoreleft()功 能: 獲取遠(yuǎn)堆空閑內(nèi)存用 法: unsigned long farcoreleft(void);XMS功能調(diào)用索引表:功能號功能版本功能00H功能01H功能02H功能03H功能04H功能05H功能06H功能

20、07H功能08H功能09H功能0AH功能0BH功能0CH功能0DH功能0EH功能0FH功能10H功能11H取XMS版本號請求高內(nèi)存區(qū)HMA釋放高內(nèi)存區(qū)HMA全程啟用A20全程停用A20局部啟用A20局部停用A20查詢A20狀態(tài)查詢自由擴(kuò)展內(nèi)存分配擴(kuò)展內(nèi)存塊釋放擴(kuò)展內(nèi)存塊移動擴(kuò)展內(nèi)存塊鎖住擴(kuò)展內(nèi)存塊擴(kuò)展內(nèi)存塊解鎖取EMB句柄信息重新分配擴(kuò)展內(nèi)存塊請求上位存儲塊UMB釋放上位存儲塊UMBXMS規(guī)范V2.0XMS規(guī)范V2.0XMS規(guī)范V2.0XMS規(guī)范V2.0XMS規(guī)范V2.0XMS規(guī)范V2.0XMS規(guī)范V2.0XMS規(guī)范V2.0XMS規(guī)范V2.0XMS規(guī)范V2.0XMS規(guī)范V2.0XMS規(guī)范V2.

21、0XMS規(guī)范V2.0XMS規(guī)范V2.0XMS規(guī)范V2.0XMS規(guī)范V2.0XMS規(guī)范V2.0XMS規(guī)范V2.0XMS功能調(diào)用函數(shù)1. 測試xms是否存在使用中斷2fH的43H(AH)功能的00H(AL)子功能,可以獲得是否安裝了XMS驅(qū)動程序的信息,如果AL返回為80H則說明XMS安裝了。以下給出具體函數(shù):char test_xms() asm mov ax,0 x4300int 0 x2f if (_AL=0 x80) XMS=1; return(XMS);2. 獲取xms驅(qū)動程序入口地址使用中斷2fH的43H(AH)功能的10H(AL)子功能,可以獲得xms驅(qū)動程序入口地址,返回的ES:B

22、X便是具體的入口。以下給出具體函數(shù):void get_driver_address() if (XMS) asm mov ax,0 x4310 /功能號43H int 0 x2f /調(diào)用中斷2fH xms=(void (far *)()(long)(_ES)lock_count=_BH; handle_info-free_handle=_BL; /獲取可用的句柄handle_info-size=_DX; /獲取句柄分配的塊的容量 return(error_code); 18. 為句柄重新分配內(nèi)存使用功能0FH(AH)可以為句柄重新分配內(nèi)存,DX給入句柄,BX給入新的塊的容量(單位:K),AX返

23、回0001H表示成功、0000H表示失敗,失敗時BL返回錯誤代碼,以下給出具體函數(shù):char reallocate_xms_block(unsigned handle,unsigned size) char error_code=0 xff; if (XMS) asm mov ah,0 x0f mov dx,handle mov bx,size xms();error_code=_BL; return(error_code); 19. 請求分配UMB使用功能10H(AH)可以請求分配UMB(upper memory block,即上位內(nèi)存, 640K以上的非EMS內(nèi)存),DX給入塊的大小(單位

24、:節(jié), 即paragraphs, 為16個字節(jié)),AX返回0001H表示成功、0000H表示失敗,BX返回分配UMB的段地址,DX返回塊的實際容量actual size of block,失敗時BL返回錯誤代碼,以下給出具體函數(shù):typedef struct UMB_info unsigned UMB_segment; unsigned size; ui;char request_UMB(unsigned size,ui *info) char error_code=0 xff; if (XMS) asm mov ah,0 x10 mov dx,size xms();error_code=_B

25、L;info-UMB_segment=_BX;/返回umb段地址info-size=_DX;/返回容量 return(error_code); 20. 釋放UMB使用功能11H(AH)可以釋放UMB(upper memory block),640K以上的非EMS內(nèi)存),DX給入要釋放的UMB內(nèi)存的段地址,AX返回0001H表示成功、0000H表示失敗,失敗時BL返回錯誤代碼,以下給出具體函數(shù):char release_UMB(unsigned segment) char error_code=0 xff; if (XMS) asm mov ah,0 x10 mov dx,segment xms

26、();error_code=_BL; return(error_code); 這里值得一提的是HIMEM.SYS需要至少為256字節(jié)的棧空間。此外給出錯誤時BL返回的錯誤代碼及其含義:返回錯誤代碼含義80h沒有提供的功能81h檢測到虛擬盤(Vdisk)82h發(fā)生A20地址線錯誤8Eh一般驅(qū)動程序錯誤8Fh致命的驅(qū)動程序錯誤90h高端內(nèi)存(HMA)不存在91h高端內(nèi)存(HMA)已被使用92hDX is less than the /HMAMIN= parameter93h高端內(nèi)存(HMA)未被分配94hA20地址線已被激活A(yù)0h所有擴(kuò)充內(nèi)存已被分配A1h所有可用的句柄已被分配A2h無效的句柄A3

27、h無效的源句柄A4h無效的源偏移A5h無效的目的句柄A6h無效的目的偏移A7h無效的長度A8h移動有非法的重疊A9h發(fā)生奇偶校驗錯誤AAh塊未加鎖ABh塊已被鎖定ACh塊鎖定計數(shù)溢出ADh鎖定失敗B0h只有更小一些的UMB空間B1h沒有可用的UMB空間EMS功能調(diào)用索引EMS功能調(diào)用索引:功能號功能功能40H功能41H功能42H功能43H功能44H功能45H功能46H功能47H功能48H功能4BH功能4CH功能4DH取得EMS程序狀態(tài)取得物理映射頁面的段地址獲取邏輯頁頁數(shù)信息分配句柄和內(nèi)存內(nèi)存映射釋放句柄和內(nèi)存獲取EMM的版本號保存指定句柄映射關(guān)系恢復(fù)指定句柄映射關(guān)系獲取EMM的句柄數(shù)獲取指定

28、句柄所分配的邏輯頁頁數(shù)獲取所有句柄分配情況1. 測試EMS管理程序測試EMS管理程序, 找到返回1, 否則返回0,以下給出具體函數(shù):char test_ems() int i; union REGS inregs,outregs; struct SREGS segs; struct DeviceHeader struct DeviceHeader far *link;unsigned attributes;unsigned strategy_offset;unsigned interrupt_offset;char name_of_number_of_units8; far *dev; uns

29、igned char major,minor,c13; inregs.x.ax=0 x3001;/dos中斷功能30子功能01讀取當(dāng)前擴(kuò)充內(nèi)存是否有效 intdos(&inregs,&outregs);/DOS中斷 major=outregs.h.al;/返回擴(kuò)充內(nèi)存狀態(tài) minor=outregs.h.ah; if (majorattributes & 0 x8000) for (i=0;iname_of_number_of_unitsi; /取設(shè)備名稱 if (!strcmp(c,EMMXXXX0) /將設(shè)備名稱與擴(kuò)充內(nèi)存名字比較 EMS=1;/擴(kuò)充內(nèi)存存在 return(1); dev=

30、dev-link; /指向下一個設(shè)備 return(0); 2. 取得管理程序狀態(tài)在確認(rèn)EMS存在時,使用中斷67H功能40H(AH)可以取得管理程序狀態(tài),AH返回00H表示成功、否則返回錯誤代碼。以下給出具體函數(shù):char get_EMS_status() char tmp=0 xff; if (EMS) asm mov ah,0 x40/功能號40h int 0 x67/調(diào)用中斷67h mov tmp,ah/返回值 return(tmp); 3. 取得物理映射頁面的段地址使用中斷67H功能41H(AH)可以取得物理映射頁面的段地址,AH返回00H表示成功、否則返回錯誤代碼,BX返回物理映射

31、頁面的段地址。使用此功能可確定EMS在1Mb常規(guī)內(nèi)存中的映射位置,此物理映射頁面的大小為64K, 分為0-3頁, 每頁為16K,因為EMS邏輯頁的大小為16K, 也就是說我們最多可同時將4 個EMS邏輯頁映射到物理頁上。以下給出具體函數(shù):char get_page_frame_segment(unsigned *segment) char tmp=0 xff; if (EMS) asm mov ah,0 x41 int 0 x67 mov tmp,ah*segment=_BX;/取得段地址 return(tmp); 4. 獲取邏輯頁頁數(shù)信息使用中斷67H功能42H(AH)可以獲取邏輯頁頁數(shù)信息

32、,AH返回00H表示成功、否則返回錯誤代碼,BX返回未分配的頁數(shù),DX返回頁的總數(shù)。以下給出具體函數(shù):char get_number_of_pages(unsigned *avail,unsigned *total) char tmp=0 xff; if (EMS) asm mov ah,0 x42 int 0 x67 mov tmp,ah *avail=_BX;/返回可用頁數(shù)*total=_DX;/返回所有頁數(shù) return(tmp); 5. 分配句柄和內(nèi)存使用中斷67H功能43H(AH)可以分配句柄和內(nèi)存,BX給入要求分配的邏輯頁的頁數(shù)(邏輯頁每頁的大小為16K),AH返回00H表示成功、

33、否則返回錯誤代碼,DX返回句柄。當(dāng)程序退出運(yùn)行時, 句柄將被非顯式的關(guān)閉并無法回收。以下給出具體函數(shù):char allocate_memory(unsigned *handle,unsigned page_numbers) char tmp=0 xff; if (EMS) asm mov ah,0 x43 mov bx,page_numbers int 0 x67 mov tmp,ah*handle=_DX;/返回句柄 return(tmp); 6. 內(nèi)存映射使用中斷67H功能44H(AH)可以進(jìn)行內(nèi)存映射,AL給入物理頁頁號 (0-3),BX給入要求分配的邏輯頁的頁數(shù)(邏輯頁每頁的大小為16

34、K),DX給入句柄,AH返回00H表示成功、否則返回錯誤代碼。以下給出具體函數(shù):char map_memory(char physical_page,unsigned logical_page,unsigned handle) char tmp=0 xff; if (EMS) asm mov ah,0 x44 mov al,physical_page /物理頁數(shù) mov bx,logical_page /邏輯頁數(shù) mov dx,handle int 0 x67 mov tmp,ah return(tmp); 7. 釋放句柄和內(nèi)存使用中斷67H功能45H(AH)可以釋放句柄和內(nèi)存,DX給入EMM

35、句柄,AH返回00H表示成功、否則返回錯誤代碼。句柄必須被顯示的釋放, 否則分配的內(nèi)存無法被其后的程序使用。如果不成功, 應(yīng)重試這一操作。以下給出具體函數(shù):char release_memory(unsigned handle) char tmp=0 xff; if (EMS) asm mov ah,0 x45 mov dx,handle int 0 x67 mov tmp,ah return(tmp); 8. 獲取EMM的版本號使用中斷67H功能46H(AH)可以獲取EMM的版本號,AH返回00H表示成功、否則返回錯誤代碼,AL返回EMM的版本號,高四位為主版本號(BCD碼),低四位為副版本

36、號(BCD碼)。句柄必須被顯示的釋放, 否則分配的內(nèi)存無法被其后的程序使用。如果不成功, 應(yīng)重試這一操作。以下給出具體函數(shù):char get_EMM_version(unsigned char *version) char tmp=0 xff; if (EMS) asm mov ah,0 x46 int 0 x67 mov tmp,ah*version=_AL; return(tmp); 9. 保存指定句柄映射關(guān)系使用中斷67H功能47H(AH)可以保存指定句柄映射關(guān)系,DX給入句柄,AH返回00H表示成功、否則返回錯誤代碼。一些TSR, ISR或設(shè)備驅(qū)動程序要使用EMS, 必須在操作前保存映

37、射關(guān)系并在完成后恢復(fù)。以下給出具體函數(shù):char save_mapping_context(unsigned handle) char tmp=0 xff; if (EMS) asm mov ah,0 x47 mov dx,handle int 0 x67 mov tmp,ah return(tmp); 10. 恢復(fù)指定句柄映射關(guān)系使用中斷67H功能48H(AH)可以恢復(fù)指定句柄映射關(guān)系,DX給入句柄,AH返回00H表示成功、否則返回錯誤代碼。一些TSR, ISR或設(shè)備驅(qū)動程序要使用EMS, 必須在操作前保存映射關(guān)系并在完成后恢復(fù)。一些TSR, ISR或設(shè)備驅(qū)動程序要使用EMS, 必須在操作前

38、保存映射關(guān)系并在完成后恢復(fù)。以下給出具體函數(shù):char restore_mapping_context(unsigned handle) char tmp=0 xff; if (EMS) asm mov ah,0 x48 mov dx,handle int 0 x67 mov tmp,ah return(tmp);獲取EMM的句柄數(shù)使用中斷67H功能4BH(AH)可以獲取EMM的句柄數(shù),AH返回00H表示成功、否則返回錯誤代碼,BX返回EMM的句柄數(shù)(0-255)。要確定可用的句柄數(shù), 用255減去BX的值即可。以下給出具體函數(shù):char get_number_of_EMM_handles(u

39、nsigned *handle_numbers) char tmp=0 xff; if (EMS) asm mov ah,0 x4b int 0 x67 mov tmp,ah*handle_numbers=_BX;/返回句柄數(shù) return(tmp);獲取指定句柄所分配的邏輯頁頁數(shù)使用中斷67H功能4CH(AH)可以獲取指定句柄所分配的邏輯頁頁數(shù),DX給入句柄,AH返回00H表示成功、否則返回錯誤代碼,BX返回邏輯頁頁數(shù) (1-512)。 一個句柄最多可分配512個邏輯頁。以下給出具體函數(shù):char get_pages_owned_by_handle(unsigned handle,unsig

40、ned *page_numbers) char tmp=0 xff; if (EMS) asm mov ah,0 x4c mov dx,handle int 0 x67 mov tmp,ah*page_numbers=_BX;/返回頁數(shù) return(tmp);獲取所有句柄分配情況使用中斷67H功能4DH(AH)可以獲取所有句柄分配情況,ES:DI用于接收信息的數(shù)組,記錄結(jié)構(gòu)如下表,AH返回00H表示成功、否則返回錯誤代碼,BX返回活動的EMM句柄數(shù)。緩沖區(qū)的容量至少應(yīng)為4*BX個字節(jié),當(dāng)ES:DI所指的緩沖區(qū)有段跨越時會導(dǎo)致錯誤。以下給出具體函數(shù):記錄結(jié)構(gòu)偏移大小內(nèi)容00字EMS句柄號02字

41、分配的邏輯頁頁數(shù)char get_pages_for_all_handles(unsigned char *buffer,unsigned *handle_numbers) char tmp=0 xff; if (EMS) unsigned bseg=FP_SEG(buffer),boff=FP_OFF(buffer);asm mov ah,0 x4d mov di,boff mov es,bseg int 0 x67 mov tmp,ah*handle_numbers=_BX;/返回句柄數(shù) return(tmp);以下給出返回的錯誤代碼極其含義:返回錯誤代碼含義00h成功80h內(nèi)部錯誤81h

42、硬件故障82h擴(kuò)展內(nèi)存管理程序忙83h未分配或無效的句柄84h未定義的功能85h沒有可用的句柄86h保存或恢復(fù)映射關(guān)系時出錯87h要求分配的頁數(shù)超過系統(tǒng)總量88h要求分配的頁數(shù)超過當(dāng)前可用量89h0頁要求錯誤8Ah無效的邏輯頁頁號8Bh非法的物理頁頁號8Ch映射關(guān)系描述棧溢出8Dh映射關(guān)系保存失敗, 句柄已有關(guān)系描述棧8Eh映射關(guān)系恢復(fù)失敗, 句柄沒有關(guān)系描述棧8Fh無效的子功能90h未定義的屬性類型91h不支持的特性92h成功, 部分源區(qū)域(region)已被改寫93h源或目的區(qū)域的長度超過任一源或目的句柄所分配的區(qū)域的長度94h常規(guī)內(nèi)存和擴(kuò)展內(nèi)存區(qū)重疊95h邏輯頁中的偏移超過邏輯頁的大小9

43、6h區(qū)(region)的長度超過1M97h源和目的區(qū)域有相同的句柄且重疊98h內(nèi)存的源或目的類型未定義9Ah替換寄存器組不存在9Bh替換寄存器組已被分配9Ch替換寄存器組號不為零9Dh替換寄存器組號未定義9Eh不支持指定的DMA通道9Fh不支持指定的專用DMA通道A1h相同的句柄名A2h試圖環(huán)繞1Mb常規(guī)地址空間A3h部分頁映射損壞或可映射段的數(shù)目超過總的可映射段的數(shù)目A4h操作系統(tǒng)拒絕訪問鍵盤掃描碼表鍵名掃描碼鍵名掃描碼鍵名掃描碼Esc1A30F159! or 12S31F260 or 23D32F361# or 34F33F462$ or 45G34F563% or 56H35F664 or 67J36F765& or 78K37F866* or 89L38F967( or 910: or ;39F1068) or 011“ or 40F11133-12 or 41F12134=13Left shift42Numlock69Bksp1443Scroll lock70Tab15Z44Hom

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論