時間:2023-03-03 01:30:02 | 來源:營銷百科
時間:2023-03-03 01:30:02 來源:營銷百科
kom字典中KOM的含義:.KOM文件包含程序的一個絕對映象----就是說,為了運行程序準確的處理器指令和內存中的數(shù)據,MS-DOS通過直接把該映象從文件拷貝到內存而加載.KOM程序;它不作任何改變. 為加載一個.KOM程序,MS-DOS首先試圖分配內存,因為.KOM程序必須位于一個64K的段中,所以.KOM文件的大小不能超過65,024(64K減去用于PSP的256字節(jié)和用于一個起始堆棧的至少256字節(jié)).如果MS-DOS不能為程序,一個PSP,一個起始堆棧分配足夠內存,則分配嘗試失敗.否則,MS-DOS分配盡可能多的內存(直至所有保留內存),即使.KOM程序本身不能大于64K.在試圖運行另一個程序或分配另外的內存之前,大部分.KOM程序釋放任何不需要的內存.分配內存后,MS-DOS在該內存的頭256字節(jié)建立一個PSP,如果PSP中的第一個FCB含有一個有效驅動器標識符,則置AL為00h,否則為0FFh. MS-DOS 還置AH為00h或0FFh,這依賴于第二個FCB是否含有一個有效驅動器標識符. 建造PSP后,MS-DOS在PSP后立即開始(偏移100h)加載.COM文件,它置SS,DS和ES為PSP的段地址,接著創(chuàng)建一個堆棧.為創(chuàng)建一個堆棧,MS-DOS置SP為0000h,若已分配了至少64K內存;否則,它置寄存器為比所分配的字節(jié)總數(shù)大2的值.最后,它把0000h推進棧,這是為了保證與在早期MS-DOS版本上設計的程序的兼容性. MS-DOS通過把控制傳遞偏移100h處的指令而啟動程序.程序設計者必須保證.KOM文件的第一條指令是程序的入口點. 注意,因為程序是在偏移100h處加載,因此所有代碼和數(shù)據偏移也必須相對于100h.匯編語言程序設計者可通過置程序的初值為100h而保證這一點(例如通過在原程序的開始使用語句org 100h).關鍵詞:含義,字典