




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第三章匯編語言程序設計
第一節匯編語言上機過程
第二節匯編語言程序結構
第三節指示性語句
第四節匯編語言程序舉例
第五節BIOS和DOS功能調用
第六節匯編語言程序設計
1
作業:3-2,3-6,3-7,3-9,3-12
復習內容:P97-P114
預習內容:P114-P140
P145-147(不作要求,自學)
2
上環境
用戶開發的程序:ABC.exe等
操作系統:DOS系統
編輯器EDIT.exe
編程序.MASM.exe
連接程序:LINKexe
調試程序:DEBUG.exe
CPU、存儲器(ROM、RAM)、I/O接口、輸入、輸出設備
3
第一節匯編語言上機過程編輯源程序EDITABC.ASM
匯編源程序MASMABC.ASM
I-----------
D:>EDITABC.asm〈有匯編錯誤信息?產-------------
D:>MASMABC;
形成目標程序ABC.OBJ
有語法錯,回EDIT下改該程序
D:>LINKABC;連接目標程序LINKABC.OBJ
有錯,回在EDIT下改程序的連接錯凄信息?)丫----
IN____
D:>ABC形成可執行程序ABC.EXE
運行結果錯,回下改程序
EDIT裝入可執行程序到內存并執行
或在DEBUG下調試,找原因。D:\>sub>ABC
D:>DEBUGABC.exe〈運行好果正確下一程序]一
_________IN
1DEBUG調試程序查錯?-------?
_______1丫
用DEBUG調試可執行程序」戈到原因「
D:\>suM>EBUGABC.EXE^■
第二節匯編語言程序結構
一,、程序結構
二、語句結構
5
匯編語言程序結構例一
程序:movs.asm
功能:實現數據傳送功能
數據段1傳送至》數據段2
目的:學習程序結構
6
一、程序結構;匯編語言程序結構例一movs.asm
;實現數據傳送功能
aaSEGMENT;數據段1
?程序由數條語句構成,每條語句占一行。strlDB'Hello!'
指令性語句(指令語句)aaENDS
bbSEGMENT;數據段2
指示性語句(偽指令語句)
str2DB6dup(?)
?分段結構bbENDS
程序按段編寫,與8088內存分段編址相對應。ccSEGMENT;代碼段
ASSUMECS:cc,DS:aa,ES:bb
每段由偽操作SEGMENT開始、由ENDS結束。start:CLD
MOVAX,aa
?程序最后為END結束語句,后跟一啟動地址。
MOVDS,AX
啟動地址指示程序開始執行的第一條語句。LEASI,strl
MOVAX,SEGstr2
?程序中設有返回DOS的功能。
MOVES,AX
使程序執行完后返回DOS系統的命令接受狀態。MOVDI,OFFSETstr2
MOVCX,6
?程序中用到內存操作數時,REPMOVSB
應按操作數的尋址方式,給相應的段寄存器賦值MOVAH,4CH
INT21H;返回DOS
ccENDS
ENDstart;指示程序結束
匯編語言程序結構例二
程序:scans.asm(子程結構)
子程內容:用二進制顯示BX內容
功能:實現
用二進制顯示
中斷向量表中(0:0?0:3FFH)
數據D0H的個數
目的:了解程序可由多個段構成
8
程序可由多個段構成,至少有一個代碼段
;匯編語言程序結構例二(子程結構)scans.asm
;用二進制顯示中斷向量表中(0:0?0:3FFH)數據D0H的個數
keyEQU0D0H;用符號表示常量(關鍵字)
codeSEGMENT;代碼段開始;用二進制顯示BX內容子程
ASSUMECS:codedisplayPROC
begin:MOVAX,0000H
MOVCX,16
MOVDS,AX
rotate:ROLBX,1
MOVSI,0000H
MOVDL,BL
MOVCX,0400H
ANDDL,01H
MOVBX,0
ADDDL,30H
MOVAL,key
MOVAH,2H
next:CMP[SI],AL
INT21H
JNZpoint
LOOProtate
INCBX
RET;子程返回
point:INCSI
displayENDP
LOOPnext
CALLdisplay;調用顯示子程codeENDS;代碼段結束
MOVAH,4CH;返回DOSENDbegin;指示程序結束和
INT21H;程序入口
9
二、語句結構
[名字H:1助記符[操作數,,一[;注釋]
丁1
名字項助記符項操作數項注釋項
例:
dataSEGMENT;數據段
varDB?
dataENDS
codeSEGMENT;代碼段
ASSUMECS:code,DS:data
start:MOVAX,data
MOVDS,AX
MOVvar,CL
MOVAH,4cH
INT21H;返回DOS
codeENDS
ENDstart10
【名字H:]助記符[操作數,???][;注釋]
名字項助記符項操作數項注釋項
dataSEGMENT;數據段
L名字項varDB?
dataENDS
?據語句功能的不同,
codeSEGMENT;代碼段
名字項可用來表示:ASSUMECS:code,DS:data
start:MOVAX,data
段名、變量名、MOVDS,AX
標號、過程名以及常量名等。MOVvar,CL
MOVAH,4CH
INT21H;返回DOS
codeENDS
ENDstart
11
[名字H:]助記符[操作數,???][;注釋]
名字項助記符項操作數項注釋項
?名字項用一個符號表示。
對符號的規定:
①由字符A?Z,a?z,0?9及符號@、$、下劃線—等組成,
最長31個字符,超出部分忽略。
②不能用數字打頭,以免與十六進制數相混。
③不使用匯編程序中的保留字。(如指令的助記符等)
④對定義的符號不區分大小寫。
12
[名字][:]助記符[操作數,???][;注釋]
名字項助記符項操作數項注釋項
2.助記符項
助記符可以是指令、偽操作中的助記符。
對于指令,匯編程序將其翻譯成機器語言指令。
MOVAX,100—B80001
對于偽操作,匯編程序據其要求的功能進行處理。
dataSEGMENT-data與一段值對應
stringDB4Tsinghua5一string與一內存地址對應
13
[名字H:]助記符[操作數,???][;注釋]
名字項助記符項操作數項注釋項
3.操作數項
?操作數給出參與操作的數或數所在的地方。
?操作數多于一個時,用逗號分開。
?操作數可以是常數、寄存器、存儲器操作數、
標號名、過程名或表達式等。
14
常數
給出具體的數據。可以是數字常量或字符常量。
,,數字默認十進制,也可加D表示十進制數。如1234D,1234
/,數字后加B表示二進制數。如1010B
//數字后加H表示十六進制數。如1234H
字符常量,用單引號表示。如出下
匯編時,用字符對應的ASCH表示。如31H,32H,33H,34H
例datalDB12,34,56;十進制
data!DB12H,34H,56H;十六進制
MOVAL「G,;字符
stringDB612345;字符串
15
?A、B、C、D、E、F開頭的十六進制數前面加0,
與H結尾的標識符區別。
如寄存器名AH、BH、CH、DH
變量名abcdH等
例movAL,0AH
movAL,AH
movBX,OabcdH
16
[名字][:]助記符[操作數,???][;注釋]
名字項助記符項操作數項注釋項
4.注釋項
?由分號引出,用來說明語句或程序的功能。
匯編程序對分號后的內容不做處理。
?作用:①注釋程序,增強程序可讀性。
②可放在語句最前,暫時注釋某語句,調試程序用。
例、、、
;MOVAH,2;顯示提示信息
;MOVDL,'A,
;INT21H
第三節指示性語句/第四節匯編語言程序舉例
一、程序開始和結束
二、段定義
三、變量定義
四、ASSUME語句
購匯編語言程序舉例一
了解DOS的返回,裝入功能
五、表達式及表達式中的操作符
匯編語言程序例二
六、過程定義(第五節程序設計介紹)
七、等值定義(第五節程序設計介紹)
副匯編語言程序例三(第五節程序設計介紹)18
指示性語句與指令性語句:
?指令性語句是用指令系統中的指令構成的語句。
例MOVAX,BX
?指示性語句是指示匯編程序進行匯編的操作。
例MOVAX,4+8中的+
codeSEGMENT中的SEGMENT
MOVBX,OFFSETstring中的OFFSET
19
?指示性語句與指令性語句區別
一個程序經匯編,連接和裝入內存后,在執行程序之前:
,指示性語句的功能已經完成,故又稱偽操作。
,而指令性語句的功能尚未完成,需控制CPU去執行,才能完成。
20
數據傳送源程序hello2.asm程序經匯編、連接后,裝入內存的情況如下:
aaSEGMENT;數據段1D:\masm>DEBUGhello2.exe
strlDB'Hello!'
-U:查看代碼段
aaENDS
12A0:0000FCCLD
bbSEGMENT;數據段2
12A0:0001B89E12MOVAX,129E
str2DB6dup(?)
bbENDS12A0:00048ED8MOVDS,AX
ccSEGMENT;代碼段12A0:00068D360000LEASI,[0000]
ASSUMECS:cc12A0:000AB89F12MOVAX,129F
12A0:000D8EC0MOVES,AX
ASSUMEDS:aa,ES:bb
12A0:000F8D3E0000LEADI,[0000]
start:CLD12A0:0013B90600MOVCX,0006
MOVAX,aa12A0:0016F3REPZ
MOVDS,AX12A0:0017A4MOVSB
LEASI,strl
12A0:0018B44CMOVAH,4C
MOVAX,bb
12A0:001ACD21INT21
MOVES,AX、、、
LEADI,str2
-D129E:0L10;查看數據段1的內容
MOVCX,6
129E:000048656C6C6F210000-0000000000000000
REPMOVSB
MOVAH,4CHHello!.........
INT21H-D129F:0L10;查看數據段2的內容
ccENDS129F:00000000000000000000-0000000000000000
ENDstart—
21
常用偽操作介紹
一、程序開始和結束
二、段定義
三、變量定義
四、ASSUME語句
五、表達式中的操作符
六、過程定義
七、等值定義
22
、模塊定義和程序結束偽操作
1.NAME和TITLE偽操作
格式NAME模塊名
格式TITLE模塊名
▲在源程序開始可用NAME或TITLE為模塊命名,
模塊名的作用是指示給連接程序進行連接用。
▲源程序中可無模塊定義,此時源文件名作為模塊名。
23
2.END偽操作
格式END啟動地址
▲作用是指示源程序到此結束。
匯編程序對END之后的語句不進行處理。
程序中所有有效語句應放在END語句之前。
▲源程序中必須有END結束語句。
匯編程序對無END語句的源程序不進行處理,
只給出無END語句錯誤信息。
24
假設TEST.asm是一個無END語句的匯編語言源程序。
其匯編結果如下:
D:\MASMTEST;/
Microsoft(R)MacroAssemblerVersion5.10
Copyright(C)MicrosoftCorp1981,1988.Allrightsreserved.
Endoffileencounteredoninputfile
Endoffileencounteredoninputfile
49968+421181Bytessymbolspacefree
0WarningErrors
0SevereErrors
D:\
由于沒有END語句,匯編程序根本沒對源程序進行匯編,
此時顯示警告性錯誤總數為0,嚴重性錯誤總數為0,
用戶不要被此值的誤導。
25
▲啟動地址可是一個標號或過程名,指示程序的入口O
程序裝入內存后,系統跳轉到入口處,開始執行程序。
aaSEGMENT;數據段1D:\masm>DEBUGhello.exe
strlDB^Hello!^-u:查看代碼段
aaENDS129F:0000FCCLD
bbSEGMENT;數據段2129F:0001B89D12MOVAX,129D
str2DB6dup(?)129F:00048ED8MOVDS,AX
bbENDS129F:00068D360000LEASI,[0000]
ccSEGMENT;代碼段129F:000AB89E12MOVAX,129E
ASSUMECS:cc129F:000D8EC0MOVES,AX
ASSUMEDS:aa,ES:bb129F:000FBF0000MOVDI,0000
start:CLD129F:0012B90600MOVCX,0006
MOVAX,aa129F:0015F3REPZ
MOVDS,AX129F:0016A4MOVSB
LEASI,strl129F:0017B44CMOVAH,4C
MOVAX,SEGstr2129F:0019CD21INT21
MOVES,AX、、、
MOVDI,OFFSETstr2-D129d:0110;查看數據段1的內容
MOVCX,6129D:000048656C6C6F210000-00000000000000
REPMOVSB00Hello!.........
MOVAH,4CH-D129e:0110;查看數據段2的內容
INT21H129E:00000000000000000000-0000000000000000
ccENDS
ENDstart
26
二、段定義偽操作
格式段名SEGMENT
段名ENDS
▲段定義由偽操作SEGMENT開始、ENDS結束。
其中:SEGMENT和ENDS必須成對出現,
且語句前必須有段名,段名必須相同。
▲SEGMENT和ENDS語句之間可以有指令和其他偽操作,
表示存放在該段內存的變量、指令或其他偽操作對該段內存的處理
▲程序中可以定義多個段。
▲程序經匯編、連接及裝入內存后,段名為一具體的段值。
27
數據傳送源程序:程序經匯編、連接后,裝入內存的情況如下:
aaSEGMENT;數據段1D:\masm>DEBUGhello2.exe
strlDB'Hello!'
-U:查看代碼段
aaENDS
12A0:0000FCCLD
bbSEGMENT;數據段2
12A0:0001B89E12MOVAX,129E
str2DB6dup(?)
bbENDS12A0:00048ED8MOVDS,AX
ccSEGMENT;代碼段12A0:00068D360000LEASI,[0000]
ASSUMECS:cc12A0:000AB89F12MOVAX,129F
12A0:000D8EC0MOVES,AX
ASSUMEDS:aa,ES:bb
12A0:000F8D3E0000LEADI,[0000]
start:CLD12A0:0013B90600MOVCX,0006
MOVAX,aa12A0:0016F3REPZ
MOVDS,AX12A0:0017A4MOVSB
LEASI,strl
12A0:0018B44CMOVAH,4C
MOVAX,bb
12A0:001ACD21INT21
MOVES,AX、、、
LEADI,str2
-D129E:0L10;查看數據段1的內容
MOVCX,6
129E:000048656C6C6F210000-0000000000000000
REPMOVSB
MOVAH,4CHHello!.........
INT21H-D129F:0L10;查看數據段2的內容
ccENDS129F:00000000000000000000-0000000000000000
ENDstart—
28
三、變量定義偽操作
格式變量名類型助記符操作數[,操作數,…]
▲用來定義程序中所用的內存操作數。
其中變量名指示內存操作數的地址(符號地址)
類型助記符指示內存操作數的類型(字節、字、雙字等)
操作數指示內存操作數的內容
▲匯編程序將定義的操作數,按其類型分配內存單元數,
順序存入變量名指向的內存單元中。
▲常用的類型助記符有:
DB指示其后的操作數為字節類型
DW指示其后的操作數為字類型
DD指示其后的操作數為雙字類型
29
例?1?定義賦初值的變量yy
dataSEGMENT
xxDB1,-1OfcH
9zz
yyDW1,-1,OfcH
zzDD1r1,OfcH
dataENDS
30
例2??定義字符串變量(只能用DB定義)
strl一546T,
73's'
dataSEGMENT69'i,
6e'n,
strlDB'TsingHua'67'g,
48
str2DB'INPUT:'OdH,OaH,$75'u'
61
str2f49T
dataENDS4e,N'
50P
55U
注意:3個及其以上的字符,546r
3a
只能用DB定義OdOdH
strlDW'abed'\/0aOaH
24$
str2DD6abcd5A
31
▲操作數可以是用常量、表達式和?表示。
*常量和表達式表示內存操作數的初始值,
其值應在其定義的類型范圍內,否則匯編出錯。
例aaDB270
bbDW80000人
親用?表示不置初始值的內存操作數。
例ccDB?
*可用DUP復制操作符定義相同的操作數,其格式為
重復次數DUP(操作數)
例eeDB3DUP(4)
等價于eeDB4,4,4
32
例4:在DEBUG下查看變量存放情況。
dataSEGMENTD:\MASM>DEBUGvarible.exe
xxDB1,-1,OFCH
-U
yyDW1,-1,OFCH
12Al:0000B89E12MOVAX,U9E一段名data
zzDD1,-1,OFCH
12Al:00038ED8MOVDS,AX
strDB'TsingHua'12Al:00058D1E0000LEABX,[0000]—變量XX
bufDB4,?,4DUP(?)12Al:00098D360300LEASI,|0003]+變量yy
DB'dataend'12Al:000D8D3E0900LEADI,[0009]十變量zz
dataENDS12Al:00118D1E1500LEABX,[0015]十變量str
12Al:00158D361D00LEASI,|001D]變量buf
codeSEGMENT
12Al:0019B44CMOVAH,4C
ASSUMECS:code12Al:001BCD21INT21
ASSUMEDS:data
12Al:001DFF36243EPUSH|3E24]
start:MOVAX,data
-D129E:0L30
MOVDS,AX
LEABX,xx129E:000001FFFC0100FFFFFC-0001000000FFFFFF.
ttt
LEASI,yyxxyyZZ
LEADI,zz129E:0010FFFC000000547369-6E67487561040000TsingHua...
MOVAH,4CHbuf
INT21H129E:00200000006461746165-6E64000000000000...dataend
codeENDS'dataend'
ENDstart129E:0030B89E128ED88DIE00-008D3603008D3E09.........6...>.
四、ASSUME偽操作
格式ASSUME段寄存器:段名[,段寄存器:段名,…]
其中段寄存器為CS、DS、ES、SS中的一個
段名為用偽操作SEGMENT定義過的段名
例ASSUMECS:cc,DS:aa
▲ASSUME偽操作的作用
指示匯編程序指令中用到的標號、過程及變量所在的段。
其中對標號、過程必須用CS段寄存器指示
對變量可用CS、DS、ES、SS段寄存器指示
34
▲若未用ASSUME語句指示指令中用到的標號、
過程和變量所在的段,匯編程序將給出錯誤信息。
▲ASSUME語句只起指示作用,并無實際的操作。
在程序中引用定義的變量做內存操作數時,
需按尋址方式用傳送指令(如MOV)給相應的段寄存器賦值。
35
value—?34
例用程序實現1234H+5678Hpl
78
dataSEGMENT56
valueDW1234H,5678Hresult—?oo
00
resultDW?
dataENDS
codeSEGMENT
ASSUMECS:code,DS:data
start:MOVAX,data;給口5賦值
MOVDS,AX
MOVAX,value;取數
ADDAX,value+2;兩數相力口
MOVresult,AX;保存結果
MOVAH,4CH;返回DOS
INT21H
codeENDS
ENDstart
36
注釋掉ASSUME語句,其匯編結果:
dataSEGMENTD:\MASM>MASMassume;
valueDW1234H,5678HMicrosoft(R)MacroAssemblerVersion5.10
resultDW?Copyright(C)MicrosoftCorp1981,1988.Allrights
dataENDSreserved.
codeSEGMENTassume.ASM(8):MissingorunreachableCS
;ASSUMECS:code,DS:dataassume.ASM(10):Cannotaddresswithsegmentregister
start:MOVAX,dataassume.ASM(U):Cannotaddresswithsegmentregister
MOVDS,AXassume.ASM(12):Cannotaddresswithsegmentregister
MOVAX,value
ADDAX,value+249872+421341Bytessymbolspacefree
MOVresult,AX
MOVAH,4CH0WarningErrors
INT21H4SevereErrors
codeENDS
D:\MASM>
ENDstart
37
程序中有ASSUME語句,經匯編,連接和裝入內存后的情況:
dataSEGMENTD:\MASM>DEBUGassume.exe
valueDW1234H,5678HR;查看程序執行前各寄存器
resultDW?AX=OOOOBX=OOOOCX=0023DX=OOOO
SP=OOOOBP=OOOOSI=OOOODI=OOOO
dataENDS
DS=1295ES=1295SS=12A5
codeSEGMENT
CS=12A6IP=OOOO
ASSUMECS:code,DS:dataNVUPEIPLNZNAPONC
start:MOVAX,data;給。3賦值12A6:0000B8A512MOVAX,12A5
MOVDS,AX-U;查看在內存的程序
MOVAX,value;取數12A6:0000B8A512MOVAX,12A5
ADDAX,value+2;兩數相加12A6:00038ED8MOVDS,AX
MOVresult,AX;保存結果12A6:0005A10000MOVAX,[0000]
MOVAH,4CH;返回DOS12A6:000803060200ADDAX,[0002]
INT21H12A6:000CA30400MOV[0004J,AX
12A6:000FB44CMOVAH,4C
codeENDS
12A6:0011CD21INT21
注意:
程序裝入內存后,執行程序前,
當前的DS值并非程序定義的data段值,1295不等于12A5
38
思考:如果上例中沒有MOVDS,AX程序執行的結果會怎樣?
D:\MASM>DEBUGassume.exe
dataSEGMENT
R;查看程序執行前各寄存器
valueDW1234H,5678H
AX=0000BX=0000CX=0023DX=0000
resultDW?
SP=0000BP=0000SI=0000DI=0000
dataENDS
DS=1295ES=1295SS=12A5CS=12A6IP=0000
codeSEGMENT
NVUPEIPLNZNAPONC
ASSUMECSicode,DS:data
12A6:0000B8A512MOVAX,12A5
start:MOVAX,data;給口5賦值
-U;查看在內存的程序
;MOVDS,AX
12A6:0000B8A512MOVAX,12A5
MOVAX,value;取數
12A6:0003A10000MOVAX,|0000|
ADDAX,value+2;兩數相加
12A6:000603060200ADDAX,|0002]
MOVresult,AX;保存結果
12A6:000AA30400MOV[0004],AX
MOVAH,4CH;返回DOS
12A6:000DB44CMOVAH,4C
INT21H
12A6:000FCD21INT21
codeENDS
39
結論:
1.ASSUME語句只起指示作用,沒有賦值作用
2.程序中用到內存操作數時,
應按操作數的尋址方式,給相應的段寄存器賦值。
40
第三節指示性語句/第四節匯編語言程序舉例
一、程序開始和結束
二、段定義
三、變量定義
四、ASSUME語句
購匯編語言程序舉例一
了解DOS的返回,裝入功能
五、表達式及表達式中的操作符
匯編語言程序例二
六、過程定義(第五節程序設計介紹)
七、等值定義(第五節程序設計介紹)
副匯編語言程序例三(第五節程序設計介紹)41
匯編語言程序舉例一
42
例修BL寄存器的內容按二進制形式顯示出來
(BL)10100110
3130313030313130
MOVCX,8;顯示字符個數為8
next:SHLBL,1H尋顯示位移至CF中
JCone;CF=1?
MOVDL,30H;CF=0,將0的ASCII放在DL中
JMPexit
one:MOVDL,31H;CF=1,將1的ASCH放在DL中
exit:MOVAH,2
INT21H;調用DOS功能顯示
DECCX;循環次數減1
JNZnext;判斷是否結束
、、、
43
codeSEGMENT
ASSUMECS:code
start:
MOVCX,8;顯示字符個數為8
next:SHLBL,1;修顯示位移至CF中
JCone;CF=1?
MOVDL,30H;CF=0,將0的ASCII放在DL中
JMPexit
one:MOVDL,31H;CF=1,將1的ASCH放在DL中
exit:MOVAH,2
INT21H;調用DOS功能顯示
DECCX;循環次數減1
JNZnext;判斷是否結束
codeENDS
ENDstart
44
D:\>MASMSBL;2匯編成ShowBL.obj
Microsoft(R)MacroAssemblerVersion5.10
Copyright(C)MicrosoftCorp1981,1988.Allrightsreserved.
48912+447243Bytessymbolspacefree
0WarningErrors
0SevereErrors
D:\>LINKSBL;2連接成ShowBL.exe
Microsoft(R)OverlayLinkerVersion3.61
Copyright(C)MicrosoftCorp1983-1987.Allrightsreserved.
LINK:warningL4021:nostacksegment
D:\>SBL2裝載并執行ShowBL.exe
請猜想執行的結果?45
D:\>DEBUGSBL.exe2;用DEBUG裝入程序
-U2
0B5E:0000B90800MOVCX,0008、
0B5E:0003D0E3SHLBL,1
0B5E:00057205JB000C
0B5E:0007B230MOVDL,30
0B5E:0009EB03JMP000Ehello.exe
0B5E:000B90NOPr用戶程序
0B5E:000CB231MOVDL,31
0B5E:000EB402MOVAH,02
0B5E:0010CD21INT21
0B5E:001249DECCX
0B5E:001375EEJNZ0003)
0B5E:001509E8ORAX,BP'
0B5E:001796XCHGSI,AX與用戶程序相連的
0B5E:001800F8ADDAL,BH內存內容被看作
0B5E:001AB262MOVDL,62程序時
0B5E:001CFFFF???DJ一死機
0B5E:001DEBOAJMP0029
▲復習DOS系統的啟動過程
磁盤
執行用戶程序后,引導程序
IO.SYS
>DOS
若要返回DOS狀態,內存MSDOS.SYS
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 管道工程行業自律與規范完善路徑探索與實施考核試卷
- 肉類副產品在食品加工過程中的安全性與質量控制考核試卷
- 畜禽養殖污染治理設施運行維護考題考核試卷
- 摩托車制動盤熱膨脹與制動效能考核試卷
- 2025雇傭人事合同書模板
- 2025合同違約將可申請賠償
- 2025網站高級會員服務合同協議
- 2025域名購買合同「」
- 2025網絡云服務供應商采購合同
- 2025年駕校培訓合同示范文本
- 帶狀皰疹病人的個案護理
- 《中藥鑒定技術》課件-五味子的鑒定
- 大數據 AI大模型-智慧統計大數據平臺解決方案(2023版)
- 江蘇省安全員《B證》考試題庫及答案
- 自殺及其預防課件
- 灰姑娘童話故事
- 鉛鋅礦的冶煉技術進展與設備改進
- 等離子切割機操作手冊與安全操作規程
- 印刷合同:紙袋印刷合作
- 快學Scala(中文版第2版)
- 人工智能知識競賽題庫(含答案)
評論
0/150
提交評論