




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
工編語言程序設(shè)計(jì)
向軍
0
第工幸預(yù)備知詼
1.1匯編語言的由來及其特點(diǎn)
1.1.1機(jī)器語言
機(jī)器指令是CPU能直接識(shí)別并執(zhí)行的指令,它的表現(xiàn)形式是二進(jìn)
制編碼。
機(jī)器指令通常由操作碼和操作數(shù)兩部分組成:
?操作碼指出該指令所要完成的操作,即指令的功能;
?操作數(shù)指出參與運(yùn)算的對(duì)象,以及運(yùn)算結(jié)果所存放的位置等。
機(jī)器指令與CPU緊密相關(guān),所以,不同種類的CPU所對(duì)應(yīng)的機(jī)器
指令也就不同。
第工幸預(yù)備知詼
1.1.2匯編語言
用通俗易懂、具有一定含義的符號(hào)來代表機(jī)器指令,這些符號(hào)稱為助憶符,用
指令助憶符、符號(hào)地址等組成的符號(hào)指令稱為匯編格式指令(或匯編指令)。
匯編語言是匯編指令集、偽指令集和使用它們規(guī)則的統(tǒng)稱。
偽指令是在程序設(shè)計(jì)時(shí)所需要的一些輔助性說明指令,它不對(duì)應(yīng)具體的機(jī)器指
令。
用匯編語言編寫的程序稱為匯編語言程序,或匯編語言源程序,在本教材中簡(jiǎn)
稱為源程序。匯編語言程序要比用機(jī)器指令編寫的程序容易理解和維護(hù)。
第工幸預(yù)備知詼
1.1.3匯編程序
用匯編語言編寫的程序大大提高了程序的可讀性,但失去了CPU能直接
識(shí)別的特性。
把匯編語言編寫的源程序翻譯成CPU能識(shí)別的機(jī)器指令序列,我們稱該
翻譯程序?yàn)閰R編程序。圖1.1是翻譯程序的翻譯過程示意圖。
目前,常用的匯編程序有:MASM、TASM和DEBUG等。
匯薪源程序
圖1.1匯編語言指令到機(jī)器指令的示意圖
第工幸預(yù)備知詼
1.1.4匯編語言程序的主要特點(diǎn)
匯編語言程序歸納起來大概有以下幾個(gè)主要特性。
?與機(jī)器相關(guān)性
?執(zhí)行的高效率
?編寫程序的復(fù)雜性
?調(diào)試的復(fù)雜性
現(xiàn)在在調(diào)試方面有所改善,CV(CodeView)>TD(TurboDebug)等軟件可在源
程序級(jí)進(jìn)行符號(hào)跟蹤。
第工幸預(yù)備知詼
14.5匯編語言的使用領(lǐng)域
根據(jù)應(yīng)用程序的“可移植性”和“執(zhí)行效率”來確定是否選用匯編語言。
下面簡(jiǎn)單列舉幾個(gè)領(lǐng)域以示說明,但不要把它們絕對(duì)化。
1、適用的領(lǐng)域
?要求執(zhí)行效率高、反應(yīng)快的領(lǐng)域,如:操作系統(tǒng)內(nèi)核,實(shí)時(shí)系統(tǒng)等;
?系統(tǒng)性能的瓶頸,或頻繁被使用子程序或程序段;
?與硬件資源密切相關(guān)的軟件開發(fā),如:設(shè)備驅(qū)動(dòng)程序等;
?受存儲(chǔ)容量限制的應(yīng)用領(lǐng)域,如:家用電器的計(jì)算機(jī)控制功能等;彳
2、不宜使用的領(lǐng)域
■大型軟件的整體開發(fā);
■沒有特殊要求的一般應(yīng)用系統(tǒng)的開發(fā)等。
第工幸預(yù)備知詼
1.2數(shù)據(jù)的表示和類型
用匯編語言進(jìn)行程序設(shè)計(jì)時(shí),程序員可以直接訪問內(nèi)存,對(duì)數(shù)據(jù)在存儲(chǔ)器內(nèi)
的表示形式要有清晰的認(rèn)識(shí)。有關(guān)“數(shù)據(jù)表示”的詳細(xì)內(nèi)容請(qǐng)參閱《計(jì)算機(jī)組
成原理》中的章節(jié)。
1.2.1數(shù)值數(shù)據(jù)的表示
1、二進(jìn)制
二進(jìn)制的表示元素是:。和1。書寫時(shí),在數(shù)據(jù)后面緊跟一個(gè)字母B。如:?
0101B、10101B等。
數(shù)據(jù)的二進(jìn)制寫起來比較長(zhǎng),通常情況下,程序中不直接用二進(jìn)制來書寫具
體的數(shù)值,而改用八進(jìn)制、十進(jìn)制或十六進(jìn)制。
第工幸預(yù)備知詼
2、八進(jìn)制
八進(jìn)制是一種二進(jìn)制的變形,三位二進(jìn)制可變?yōu)橐晃话诉M(jìn)制,反之也然。
八進(jìn)制的表示元素是:0、1、…、7o
書寫時(shí),在數(shù)據(jù)后面緊跟一個(gè)字母Q。如:1234Q、7654Q、54Q等。
3、十進(jìn)制
十進(jìn)制是我們最熟悉的一種數(shù)據(jù)表示形式,其基本元素是:0、1........9O
書寫時(shí),在數(shù)據(jù)后面緊跟一個(gè)字母D。如:1234D、7674D、5411D等。
4、十六進(jìn)制1
十六進(jìn)制是另一種二進(jìn)制的變形,四位二進(jìn)制可變?yōu)橐晃皇M(jìn)制,反之也
然。其基本元素是:0~9、A?F、a-f,其中:A?F依次代表10?15。
書寫時(shí),數(shù)據(jù)后面緊跟一個(gè)字母H。當(dāng)十六進(jìn)制數(shù)的第一個(gè)字符是字母時(shí),
在其之前必須添加一個(gè)'0'。如:100H、56EFH、OFFH、0ABCDH等。
第工幸預(yù)備知詼
1.2.2進(jìn)制在編程環(huán)境中的表示
程序員在用匯編語言進(jìn)行程序設(shè)計(jì)時(shí),需要知道當(dāng)前環(huán)境的數(shù)據(jù)表示符號(hào)。
進(jìn)制字符例子
二進(jìn)制B/Y以1010B、1011B
八進(jìn)制Q/01234Q、311Q
十進(jìn)制D/T1234D、512D
十六進(jìn)制H1234H、1011H
O字符Y、0和T是宏匯編MASM系統(tǒng)所增加的進(jìn)制表示符。
第工幸預(yù)備知詼
1.2.3非數(shù)值數(shù)據(jù)的表示
1、ASCH碼
在ASCII碼表中,對(duì)學(xué)習(xí)本課程有用的主要信息有:
A字符'。'?9是連續(xù)編碼的,其ASCII碼的低4位就是該字符在十進(jìn)制中的數(shù)值;
A小寫字母的ASCII碼比大寫字母的編碼大,對(duì)應(yīng)字母的編碼之間相差20H。
2、漢字編碼
我國(guó)在1981年5月對(duì)6000多個(gè)常用的漢字制定了交換碼的國(guó)家標(biāo)準(zhǔn),即:
GB2312-80o
該標(biāo)準(zhǔn)給定每個(gè)字符的二進(jìn)制編碼,即國(guó)標(biāo)碼。
第工幸預(yù)備知詼
1.2.4基本的數(shù)據(jù)類型
1、字節(jié)
一個(gè)字節(jié)有8位二進(jìn)制組成,其最高位是第7位,最低位是第0位。
通常情況下,存儲(chǔ)器按字節(jié)編址,讀寫存儲(chǔ)器的最小信息單位就是字節(jié)。
2、字
由2個(gè)字節(jié)組成一個(gè)字,其最高位是第15位,最低位是第0位。高8位稱為高
字節(jié),低8位稱為低字節(jié)。
3、雙字高字節(jié)低字節(jié)
用2個(gè)字(4個(gè)字節(jié))來組成一個(gè)雙字,其高16位稱為高字,低16位稱為低字。
雙字有較大的數(shù)據(jù)表示范圍,它通常是為了滿足數(shù)據(jù)的表示范圍而選用的數(shù)
據(jù)類型,也可用于存儲(chǔ)遠(yuǎn)指針。
高手低字
第工幸預(yù)備知詼
4、四字
由4個(gè)字(8個(gè)字節(jié))組成一個(gè)四字類型,它總共有64個(gè)二進(jìn)制位,有更大的數(shù)
據(jù)表示范圍,但在匯編語言中很少使用該數(shù)據(jù)類型。
5、十字節(jié)
由10個(gè)字節(jié)組成一個(gè)十字節(jié)類型,它總共有80個(gè)二進(jìn)制位。在匯編語言中很
少使用該數(shù)據(jù)類型。
6、字符串
字符串是由若干個(gè)字節(jié)組成的,字節(jié)數(shù)不定,通常每個(gè)字節(jié)存儲(chǔ)一個(gè)字符,
該數(shù)據(jù)形式是匯編語言程序中經(jīng)常使用的一種數(shù)據(jù)形式。
匯編語言中沒有C語言中的規(guī)定:以ASCII碼0為字符串的結(jié)束符。
第2幸CPU資源和存儲(chǔ)器
計(jì)算機(jī)的硬件資源是用匯編語言編程所必須要了解的重要內(nèi)容,因?yàn)閰R編語
言允許、也需要程序員直接使用這些硬件資源,只有這樣才能編寫出高效的目■1
標(biāo)代碼。!
2.1寄存器組I
2.1.116位寄存器組|
?4個(gè)數(shù)據(jù)寄存器:AX、BX、CX和DX,每個(gè)寄存器又可分為2個(gè)8位寄存器
?2個(gè)變址寄存器:DI和SI
?2個(gè)指針寄存器:SP和BP
?4個(gè)段寄存器:ES、CS、SS和DS
?1個(gè)標(biāo)志寄存器:FLAG
?1個(gè)指令指針寄存器:IP
第2幸CPU資源和存儲(chǔ)器
2.1.232位寄存器組
32位CPU把通用寄存器、指令指針和標(biāo)志寄存器從16位擴(kuò)充成32位,而且還
增加了2個(gè)16位的段寄存器:FS和GS。如下圖所示。
32位CPU有8個(gè)32位的通用寄存器EAX、EBX、ECX、EDX、ESI、EDI、
ESP和EBP,這些通用寄存器的低16位就是先前CPU中的AX、BX、CX、DX、
SI、DI、SP和BP。對(duì)其低16位數(shù)據(jù)的存取,不會(huì)影響高16位的數(shù)據(jù)。
3116150
指令指針和標(biāo)志寄存器
151410
段寄存器
第2幸CPU資源和存儲(chǔ)器
2.1.3通用寄存器的作用
1.數(shù)據(jù)寄存器
數(shù)據(jù)寄存器主要用來保存操作數(shù)和運(yùn)算結(jié)果等信息,從而節(jié)省讀取操作數(shù)所需
占用總線和訪問存儲(chǔ)器的時(shí)間。
?4個(gè)32位寄存器:EAX、EBX、ECX和EDX
?4個(gè)16位寄存器:AX、BX、CX和DX
?8個(gè)8位寄存器:AH和AL、BH和BL、CH和CL、DH和DL
每個(gè)寄存器都有自己的名稱,可獨(dú)立存取。程序員可利用數(shù)據(jù)寄存器“能分可
合”的特性,靈活地處理雙字、字和字節(jié)等信息。
第2率CPU資源和存儲(chǔ)器
2.變址寄存器(IndexRegister)
寄存器SI和DI稱為變址寄存器,它們可作一般的存儲(chǔ)器指針使用。在字符串操)
作指令的執(zhí)行過程中,對(duì)它們有特定的要求,且具有特殊的功能。
3.指針寄存器(PointerRegister)
寄存器BP和SP稱為指針寄存器,它們主要用于訪問堆棧內(nèi)的存儲(chǔ)單元,并且
規(guī)定:I
?BP為基指針(BasePointer)寄存器,用它可直接存取堆棧中的數(shù)據(jù)
?SP為堆棧指針(StackPointer)寄存器,用它只可訪問棧頂。
第2幸CPU資源和存儲(chǔ)器
表2.1通用寄存器的主要用途
寄存器名稱寄存器符號(hào)主要用途
乘、除、I/O、快速的算術(shù)運(yùn)算,中間結(jié)果
累加器EAX、AX、AL
的緩存
基地址寄存器EBX、BX在數(shù)據(jù)段中作基地址指針
循環(huán)計(jì)數(shù)器、重復(fù)操作計(jì)算器、移位操作
計(jì)數(shù)器ECX、CX、CL
計(jì)數(shù)器
數(shù)據(jù)寄存器EDX、DX字的乘、除運(yùn)算,間接的輸入輸出
源變址寄存器ESI、SI存儲(chǔ)器指針、串指令中的源操作數(shù)指針
源目標(biāo)變址寄存器EDI、DI存儲(chǔ)器指針、串指令中的目的操作數(shù)指針
基地址指針EBP、BP存儲(chǔ)器指針、存取堆棧的指針
棧頂指針ESP、SP堆棧的棧頂指針
第2幸CPU資源和存儲(chǔ)器
2.1.4段寄存器的作用
?CS-----代碼段寄存器(CodeSegmentRegister)
?DS----數(shù)據(jù)段寄存器(DataSegmentRegister)
?SS----堆棧段寄存器(StackSegmentRegister)
?ES----附加段寄存器(ExtraSegmentRegister)
?FS——386CPU增力口段寄存器(ExtraSegmentRegister)
?GS——386CPU增加段寄存器(ExtraSegmentRegister)
有關(guān)寄存器的作用詳細(xì)描述。
第2幸CPU資源和存儲(chǔ)器
24.5專用寄存器的作用
1、指令指針寄存器(InstructionPointer)
指令指針I(yè)P和EIP是16位和32位的寄存器,它們分別位于16位和32位處理器之
中。指令指針寄存器存放著下次將要執(zhí)行的指令在代碼段的偏移量。
在80386及其高檔處理器處于保護(hù)模式時(shí),其指令指針寄存器是32位的EIP。
在實(shí)方式下,由于每個(gè)段的最大范圍就是64K,所以,EIP中的高16位肯定都
為0,相當(dāng)于只用其低16位來反映程序中指令的執(zhí)行次序,這樣,EIP低16位與先
前CPU中的IP作用相同。
2、標(biāo)志寄存器(FlagsRegister)
有關(guān)標(biāo)志位寄存器的詳細(xì)描述。
第2幸CPU資源和存儲(chǔ)器
2.2存儲(chǔ)器的管理模式
2.2.116位微機(jī)的內(nèi)存管理模式
1.存儲(chǔ)器的分段
計(jì)算機(jī)的內(nèi)存單元是以“字節(jié)”為最小單位進(jìn)行線性編址的。為了標(biāo)識(shí)每個(gè)
存儲(chǔ)單元,就給每個(gè)存儲(chǔ)單元規(guī)定一個(gè)編號(hào),此編號(hào)就是該存儲(chǔ)單元的物理地
址。
?四鶴枷螂?花('喇御障觸例雛勵(lì)必須卷瞰段的UUUUOH
倍數(shù),即最低4位二進(jìn)制必須全為0;
■邏輯段的最大容量為64K,這由16位寄存器的尋址空WW0H
間所決定。XXXXDH
按上述規(guī)定,1M內(nèi)存最多可分成64K個(gè)段,即65536個(gè)段.“?出
(段之間相互重疊),至少可分成16個(gè)相互不重疊的段。
第2幸CPU資源和存儲(chǔ)器
2.物理地址的形成方式
存儲(chǔ)單元的邏輯地址分為兩部分:段地址和偏移量。由邏輯地址得到其物理
地址(PA—PhysicalAddress)的計(jì)算方法如下:
物理地址PA=段地址X16+偏移量
計(jì)算存儲(chǔ)單元物理地址的公式可用“左移4位”和“加”運(yùn)算來實(shí)現(xiàn)。
對(duì)物理地址來說,當(dāng)其段地址變化時(shí),只要對(duì)其偏移量進(jìn)行相應(yīng)的調(diào)整就可得
到同一個(gè)物理地址,所以,同一個(gè)物理地址可有多個(gè)邏輯地址。
第2幸CPU資源和存儲(chǔ)器
3、段寄存器的引用
段寄存器是因?yàn)閷?duì)內(nèi)存的分段管理而設(shè)置的。一般情況下,段寄存器及其指針
寄存器的引用關(guān)系方面有如下規(guī)定:
?取指令所用的段寄存器和偏移量一定是用CS和IP;
?堆棧操作所用的段寄存器和偏移量一定是SS和SP;)
?串操作的目標(biāo)操作數(shù)所用的段寄存器和偏移量一定是ES和DI;)
?其它情況,段寄存器除其默認(rèn)段寄存器外,還可以強(qiáng)行改變?yōu)槠渌渭拇嫫鳌?/p>
第2幸CPU資源和存儲(chǔ)器
表2.3段寄存器及其指針寄存器的引用關(guān)系
訪問存儲(chǔ)器方式缺省的段寄存器可選用的段寄存器偏移量
取指令CSIP
堆棧操作SSSP
?般取操作數(shù)DSCS、ES、SS后效地址
源操作數(shù)DSSI
串操作
目標(biāo)操作數(shù)ESDI
使用指針寄存器BPSSCS、DS、ES有效地址
第2率CPU資源和存儲(chǔ)器
1.存儲(chǔ)單元的內(nèi)容
存儲(chǔ)單元中所存放的二進(jìn)制信息稱為該存儲(chǔ)單元的內(nèi)容或值,并且規(guī)定:j
?一個(gè)字節(jié)的內(nèi)容是該字節(jié)單元內(nèi)存放的二進(jìn)制信息;:
?一個(gè)字的內(nèi)容是該字地址所指向的單元及其后繼一個(gè)單元的內(nèi)容拼接而成;(
?一個(gè)雙字的內(nèi)容是該字地址所指向的單元及其后三個(gè)單元的內(nèi)容拼接而成。|
在拼接“字內(nèi)容”時(shí),我們按“高高低低”的原則來處理,即:高存儲(chǔ)單元j
(地址大的存儲(chǔ)單元)的值是“字內(nèi)容”的高8位,低存儲(chǔ)單元(地址小的存儲(chǔ)單;
元)的值是“字內(nèi)容”的低8位。
在拼接“雙字內(nèi)容”時(shí)也是如此。)
第2幸CPU資源和存儲(chǔ)器
下圖是一段內(nèi)存單元存放數(shù)據(jù)的例子。從圖中可看出下列存儲(chǔ)結(jié)果:
?字節(jié)12340H、12341H的內(nèi)容分別為:12H和34H
?字12340H、12341H的內(nèi)容分別為:3412H和5634H
?雙字12340H、12341H的內(nèi)容分別為:78563412H和90785634H
第3幸操作教的尋址方式
微機(jī)系統(tǒng)有七種基本的尋址方式:立即尋址方式、寄存器尋址方式、直接尋
址方式、寄存器間接尋址方式、寄存器相對(duì)尋址方式、基址加變址尋址方式、
相對(duì)基址加變址尋址方式等。其中,后五種尋址方式是確定內(nèi)存單元有效地址
的五種不同的計(jì)算方法,用它們可方便地實(shí)現(xiàn)對(duì)數(shù)組元素的訪問。
另外,在32位微機(jī)系統(tǒng)中,為了擴(kuò)大對(duì)存儲(chǔ)單元的尋址能力,增加了一種新
的尋址方式——32位地址的尋址方式。
第3幸操作教的尋址方式
3.1立即尋址方式
操作數(shù)作為指令的一部分而直接寫在指令中,這種操作數(shù)稱為立即數(shù),這種
尋址方式也就稱為立即數(shù)尋址方式。
立即數(shù)可以是8位、16位或32位數(shù),該數(shù)值緊跟在操作碼之后。如果立即數(shù)為
16位或32位,那么,它將按“高高低低”的原則進(jìn)行存儲(chǔ)。例如:
MOVAH,80HADDAX,1234HMOVECX,123456H
MOVB1,12HMOVW1.3456HADDD1,32123456H
其中:B1、W1和D1分別是字節(jié)、字和雙字單元。
立即數(shù)尋址方式通常用于對(duì)通用寄存器或內(nèi)存單元賦初值。
第3幸操作教的尋址方式
下圖是指令“MOVAX,4576H”的存儲(chǔ)形式和執(zhí)行情況示意圖。
AX
MOVAX.4576H
A76H
指令的存儲(chǔ)形式
45H
第3幸操作教的尋址方式
3.2寄存器尋址方式
指令所要的操作數(shù)已存儲(chǔ)在某寄存器中,或把目標(biāo)操作數(shù)存入寄存器。把在指
令中指出所使用寄存器(即:寄存器的助憶符)的尋址方式稱為寄存器尋址方式。
指令中可以引用的寄存器及其符號(hào)名稱如下:
?8位寄存器有:AH、AL、BH、BL、CH、CL、DH和DL等;
?16位寄存器有:AX、BX、CX、DX、SLDLSP、BP和段寄存器等;
?32位寄存器有:EAX、EBX、ECX、EDX、ESI、EDI、ESP和EBP等。
寄存器尋址方式是一種簡(jiǎn)單快捷的尋址方式,源和目的操作數(shù)都可以是寄存器。
由于指令所需的操作數(shù)已存儲(chǔ)在寄存器中,或操作的結(jié)果存入寄存器,這樣,
在指令執(zhí)行過程中,會(huì)減少讀/寫存儲(chǔ)器單元的次數(shù)。
通常情況下,我們提倡應(yīng)盡可能地使用寄存器尋址方式,但也不要絕對(duì)化。
第3幸操作教的尋址方式
3.3直接尋址方式
指令所要的操作數(shù)存放在內(nèi)存中,在指令中直接給出該操作數(shù)的有效地址,這
種尋址方式為直接尋址方式。
通常情況下,操作數(shù)存放在數(shù)據(jù)段中,所以,其物理地址將由數(shù)據(jù)段寄存器
DS和指令中給出的有效地址直接形成,但如果使用段超越前綴,那么,操作數(shù)可
存放在其它段。
第3幸操作教的尋址方式
例3.1假設(shè)有指令:MOVBX,[1234H],在執(zhí)行時(shí),(DS)=2000H,內(nèi)存單元
21234H的值為5213H。問該指令執(zhí)行后,BX的值是什么?
解:根據(jù)直接尋址方式的尋址規(guī)則,把該指令的具體執(zhí)行過程如下圖所示。
第3幸操作教的尋址方式
3.4寄存器間接尋址方式
操作數(shù)在存儲(chǔ)器中,操作數(shù)的有效地址用SI、DI、BX和BP等四個(gè)寄存器之一
來指定,稱這種尋址方式為寄存器間接尋址方式。
該尋址方式物理地址的計(jì)算方法如下:
(S如
?S)3)>
PA=?>xl6+<
■9
(BP)[
在不使用段超越前綴的情況下,有下列規(guī)定:
?若有效地址用SI、DI和BX等之一來指定,則其缺省的段寄存器為DS;
?若有效地址用BP來指定,則其缺省的段寄存器為SS(即:堆棧段)。
第3幸操作教的尋址方式
例3.2假設(shè)有指令:MOVBX,[DI],在執(zhí)行時(shí),(DS)=1000H,(DI)=2345H,存
儲(chǔ)單元12345H的內(nèi)容是4354H。問執(zhí)行指令后,BX的值是什么?
解:根據(jù)寄存器間接尋址方式的規(guī)則,在執(zhí)行本例指令時(shí),寄存器DI的值不是操
作數(shù),而是操作數(shù)的地址。該操作數(shù)的物理地址應(yīng)由DS和DI的值形成,即:
PA=(DS)*16+(DI)=1000H*16+2345H=12345H。
該指令的執(zhí)行效果:把從物理地址為12345H開始的一個(gè)字的值傳送給BX。
DS:1000H
?DI:2345H,代碼段
12345H
①I10000H
-L^.12345H
,數(shù)據(jù)段
第3幸操作教的尋址方式
3.5寄存器相對(duì)尋址方式
操作數(shù)在存儲(chǔ)器中,其有效地址是一個(gè)基址寄存器(BX、BP)或變址寄存器(SI、
DI)的內(nèi)容和指令中的8位/16位偏移量之和。
其有效地址的計(jì)算公式如下:
8位1
EA16位j偏移量
⑻)
在不使用段超越前綴的情況下,有下列規(guī)定:
?若有效地址用SI、DI和BX等之一來指定,則其缺省的段寄存器為DS;
?若有效地址用BP來指定,則其缺省的段寄存器為SS(即:堆棧段)。
第3幸操作教的尋址方式
例3.3假設(shè)指令:MOVBX,[SI+100H],在執(zhí)行它時(shí),(DS)=1000H,
(SI)=2345H,內(nèi)存單元12445H的內(nèi)容為2715H,問該指令執(zhí)行后,BX
的值是什么?
解:根據(jù)寄存器相對(duì)尋址方式的規(guī)則,在本指令中的源操作數(shù)的有效地址EA為:
EA=(SI)+100H=2345H+100H=2445H
該操作數(shù)的物理地址應(yīng)由DS和EA的值形成,即:
PA=(DS)*16+EA=1000H*16+2445H=12445H。
該指令的執(zhí)行效果是:把從物理地址為12445H開始的一個(gè)字的值傳送給BX。
第3幸操作教的尋址方式
3.6基址加變址尋址方式
操作數(shù)在存儲(chǔ)器中,其有效地址是一個(gè)基址寄存器(BX、BP)和一個(gè)變址寄存
器(SI、DI)的內(nèi)容之和。
其有效地址的計(jì)算公式如下:
EA“嗎+[叫
在不使用段超越前綴的情況下,有下列規(guī)定:
?若有效地址用SI、DI和BX等之一來指定,則其缺省的段寄存器為DS;
?若有效地址用BP來指定,則其缺省的段寄存器為SS(即:堆棧段)。
第3幸操作教的尋址方式
例3.4假設(shè)指令:MOVBX,[BX+SI],在執(zhí)行時(shí),(DS)=1000H,(BX)=2100H,
(SI)=0011H,內(nèi)存單元12111H的內(nèi)容為1234H。問指令執(zhí)行后,BX的值
是什么?/
解:根據(jù)基址加變址尋址方式的規(guī)則,在本指令的源操作數(shù)的有效地址EA為:
EA=(BX)+(SI)=2100H+0011H=2111H
該操作數(shù)的物理地址應(yīng)由DS和EA的值形成,即:
PA=(DS)*16+EA=1000H*16+2111H=12111H
該指令的執(zhí)行效果是:把從物理地址為12111H開始的一個(gè)字的值傳送給BX。
BX:2100H
*SI:0011H_
-------------------①
EA:2111H
*DS:1000H
,代碼段
PA:12111H
BX1234
②I10000H
34H
③
12H
第3幸操作教的尋址方式
3.7相對(duì)基址加變址尋址方式
操作數(shù)在存儲(chǔ)器中,其有效地址是一個(gè)基址寄存器(BX、BP)的值、一個(gè)變址
寄存器(SI、DI)的值和指令中的8位/16位偏移量之和。
其有效地址的計(jì)算公式如下:
EA=.X)M網(wǎng)偏移量
I(BP)J[(DI)J116位J
在不使用段超越前綴的情況下,有下列規(guī)定:
?若有效地址用SI、DI和BX等之一來指定,則其缺省的段寄存器為DS;
?若有效地址用BP來指定,則其缺省的段寄存器為SS(即:堆棧段)。
第3幸操作教的尋址方式
例3.5假設(shè)指令:MOVAX,[BX+SI+200H],在執(zhí)行時(shí),(DS)=1000H,(BX)=
2100H,(SI)=0010H,內(nèi)存單元12310H的內(nèi)容為1234H。問指令執(zhí)行后,
AX的值是什么?
解:根據(jù)相對(duì)基址加變址尋址方式的規(guī)則,本指令中源操作數(shù)的有效地址EA為:I
EA=(BX)+(SI)+200H=2100H+0010H+200H=2310H
該操作數(shù)的物理地址應(yīng)由DS和EA的值形成,即:
PA=(DS)*16+EA=1000H*16+2310H=12310H
該指令的執(zhí)行效果是:把從物理地址為12310H開始的一個(gè)字的值傳送給AX。
BX:2100H
SI:0010H
+0200H_
-------------------①
EA:2310H
OP
DS:1000H-代碼段
AX12310H
②10000H
12310H
34H-數(shù)據(jù)段
③
.12H
第3幸操作教的尋址方式
相對(duì)基址加變址尋址方式有多種等價(jià)的書寫方式,書寫格式:
[BX+SI+1000H]>1000H[BX+SI]>1000H[BX][SI]和1000H[SI][BX]等格式都是
正確的,并且其尋址含義也是一致的,
但格式:BX[1000H+SI].SI[1000H+BX]等是錯(cuò)誤的,即所用寄存器不能
在之外,該限制對(duì)寄存器相對(duì)尋址方式的書寫也同樣起作用。
第3幸操作教的尋址方式
相對(duì)基址加變址尋址方式與其它尋址方式之間的變形關(guān)系
源操作數(shù)指令的變形源操作數(shù)的尋址方式
只有,個(gè)偏移量MOVAX,[100H]直接尋址方式
只有一個(gè)寄存器MOVAX,[BX]或寄存器間接尋址方式
MOVAX,[SI]
有?個(gè)寄存器和偏移量MOVAX,[BX+100H]或寄存器相對(duì)尋址方式
MOVAX,[SI+100H]
有二個(gè)寄存器MOVAX,[BX+SI]基址加變址尋址方式
有一個(gè)寄存器和常數(shù)項(xiàng)MOVAX,[BX+SI+100H]相對(duì)基址加變址尋址方式
第3幸操作教的尋址方式
3.832位地址的尋址方式
在32位微機(jī)系統(tǒng)中,除了支持前面的七種尋址方式外,又提供了一種更靈活、;
方便,但也更復(fù)雜的內(nèi)存尋址方式。
用16位寄存器來訪問存儲(chǔ)單元時(shí),只能使用基地址和變址寄存器來作為地址偏
移量的一部分,但在用32位寄存器尋址時(shí),不存在上述限制,所有32位寄存器
(EAX、EBX、ECX、EDX、ESkEDkEBP和ESP)者B可以是地址偏移量的一個(gè)
組成部分。)
當(dāng)用32位地址偏移量進(jìn)行尋址時(shí),內(nèi)存地址的偏移量可分為三部分:一個(gè)32位!
基址寄存器,一個(gè)可乘1、2、4或8的32位變址寄存器,一個(gè)8位/32位的偏移常量,
并且這三部分還可進(jìn)行任意組合,省去其中之一或之二。)
基址寄存器是:EAX、EBX、ECX、EDX、ESkEDkEBP和ESP;
變址寄存器是:EAX、EBX、ECX、EDX、ESkEDI和EBP(除ESP之外)。
第3幸操作教的尋址方式
用32位地址偏移量進(jìn)行尋址的有效地址計(jì)算公式歸納如下:
無、
f「無■
EAX
EAX
EBX
EBX
ECX?無一
ECX
EA=<EDX>+EDX卜?8位■
ESI?32位?
ESI
EDI
EDI
EBP
〔EBP」
IESP〉
基址變址比例偏移
寄存器寄存器因子常量
MOVAX,[123456H]MOVEAX,[EBX]
MOVEBX,[ECX*2]MOVEBX,[EAX+100H]
MOVEDX,[EAX*4+200H]MOVEBX,[EAX+EDX*2]
MOVEBX,[EAX+EDX*2+300H]MOVAX,[ESP]
第3幸操作教的尋址方式
由于32位尋址方式能使用所有的通用寄存器,和該有效地址相組合的段寄存器
也就有新的規(guī)定。具體規(guī)定如下:
1、地址中寄存器的書寫順序決定該寄存器是基址寄存器,還是變址寄存器;如:
[EBX+EBP]中的EBX是基址寄存器,EBP是變址寄存器,而[EBP+EBX]中的
EBP是基址寄存器,EBX是變址寄存器;
2、默認(rèn)段寄存器的選用取決于基址寄存器;1
3、基址寄存器是EBP或ESP時(shí),默認(rèn)段寄存器是SS,否則,默認(rèn)段寄存器是DS;1
4、在指令中,如果使用段前綴的方式,那么,顯式段寄存器優(yōu)先。
第3幸操作教的尋址方式
F面列舉幾個(gè)32位地址尋址指令及其內(nèi)存操作數(shù)的段寄存器。
MOVAX,[123456H];默認(rèn)段寄存器DS
MOVEAX,[EBX+EBP];默認(rèn)段寄存器DS
MOVEBX,[EBP+EBX];默認(rèn)段寄存器SS
MOVEBX,[EAX+100H];默認(rèn)段寄存器DS
MOVEDX,ES:[EAX*4+200H];顯式段寄存器ES
MOV[ESP+EDX*2],AX;默認(rèn)段寄存器SS
MOVEBX,GS:[EAX+EDX*2+300H];顯式段寄存器GS
MOVAX,[ESP];默認(rèn)段寄存器SS
第4章標(biāo)詼符和表達(dá)式
標(biāo)識(shí)符和表達(dá)式是程序設(shè)計(jì)經(jīng)常用到的兩個(gè)基本概念。
4.1標(biāo)識(shí)符I
在匯編語言中,標(biāo)識(shí)符最多由31個(gè)字母、數(shù)字及規(guī)定的特殊字符(?、@、_、(
$)等組成,但它不能用數(shù)字開頭。)
標(biāo)號(hào)、內(nèi)存變量名、子程序名和宏名等都是標(biāo)識(shí)符。通常情況下,匯編語言不
區(qū)分標(biāo)識(shí)符中字母的大小寫。
和高級(jí)語言的變量名一樣,一般要求標(biāo)識(shí)符盡可能取得有點(diǎn)含義,這會(huì)有助于I
對(duì)程序的理解。)
第4章標(biāo)詼符和表達(dá)式
標(biāo)識(shí)符不能是匯編語言的保留字,匯編語言的保留字主要是指:指令助憶符、
偽指令定義符、寄存器名以及一些具有特殊含義的字符串等。
例如:MSG1、ERRMSG2、ASC1、asc2等是合法的標(biāo)識(shí)符,而1a、ah、
mov等就不是標(biāo)識(shí)符。
試比較ABCDH和0ABCDH之間的差異。前者是標(biāo)識(shí)符,而后者是十六進(jìn)制數(shù)
值。
第4章標(biāo)詼符和表達(dá)式
4.2簡(jiǎn)單內(nèi)存變量的定義
在高級(jí)語言程序中,要給存儲(chǔ)單元取一個(gè)符號(hào)名,然后通過引用該符號(hào)名來訪
問其所對(duì)應(yīng)的存儲(chǔ)單元。
在匯編語言程序中要靈活一些,它可以給存儲(chǔ)單元取符號(hào)名,也可以不取符號(hào)
名。
當(dāng)給存儲(chǔ)單元取符號(hào)名時(shí),則可通過該符號(hào)名來訪問其對(duì)應(yīng)的存儲(chǔ)單元;
當(dāng)不給存儲(chǔ)單元取符號(hào)名時(shí).,則可通過存儲(chǔ)單元的偏移量(有效地址)來訪問它。
第4章標(biāo)詼符和表達(dá)式
4.2.1內(nèi)存變量定義的一般形式
定義內(nèi)存變量語句是程序中經(jīng)常使用的偽指令語句,其一般格式如下:J
[變量名]數(shù)據(jù)定義符表達(dá)式兀表達(dá)式2,…,表達(dá)式n][;注釋];
該定義格式的主要解釋如下:I
?變量名必須是一個(gè)合法的標(biāo)識(shí)符,它可以寫,也可以不寫;
?數(shù)據(jù)定義符用于確定內(nèi)存單元的數(shù)據(jù)類型,常用定義符有:DB、DW和DD等;J
?表達(dá)式是定義內(nèi)存單元時(shí)的初值表達(dá)式,一個(gè)定義語句可以有多個(gè)初值表達(dá)式,1
各表達(dá)式之間必須用逗號(hào)分開;如果某個(gè)存儲(chǔ)單元沒有初值表達(dá)式,則必須用/
一個(gè)問號(hào)‘?'來表示;';:
?在定義語句的后面可以書寫注釋內(nèi)容,也可以不寫。
第4章標(biāo)詼符和表達(dá)式
在定義變量時(shí),雖然可以不寫變量名,但我們建議還是要寫,因?yàn)椴粚懽兞棵?
就意味著只能用內(nèi)存單元的偏移量來訪問它。
這時(shí),一旦內(nèi)存單元的偏移量發(fā)生變化,那么程序中所有引用都要修改。這不
僅增加了程序維護(hù)的工作量,而且也容易因遺漏修改而出錯(cuò)。
第4章標(biāo)詼符和表達(dá)式
4.2.2字節(jié)變量
字節(jié)變量的定義符為DB/BYTE(DefineByte)(*),每個(gè)字節(jié)變量只占一個(gè)字節(jié)
單元。
例如:
COUNTERDB6
DBA,D,ODh,$
TABLEDB1,3,5,7,9,11
0641440D2401030507090B
t
COUNTERTABLE
(*)BYTE是MASM6.0及其以后版本的數(shù)據(jù)類型說明符,隨后的其它類型說明符
同此說明。
第4章標(biāo)詼符和表達(dá)式
用定義符DB還可定義一種特殊的數(shù)據(jù)形式——字符串。
在定義字符串時(shí),必須用成對(duì)的單引號(hào)或雙引號(hào)把所要的字符括起來,括號(hào)內(nèi)
字符的ASCII碼將依次存放在相應(yīng)的字節(jié)單元內(nèi)。例如:
MSG1DB1amastudent.,
46664644
'I't'ttJ
94a'm)6a)s)5u)d'e)n)
上面的例子也可改寫為另一種等價(jià)的語句:
MSG1DB'I',''a','m','匕','','s','t','u','d','e','n',
顯然,前者要比后者方便得多,所以,在程序中都采用前者的書寫方式。
第4章標(biāo)詼符和表達(dá)式
4.2.3字變量
字變量的定義符為DW/WORD(DefineWord),每個(gè)字變量占兩個(gè)連續(xù)的字節(jié)
單元。
例如:
WordlDW89H,1909H,-1
DWOabcdH,?,0
...89000919FFFFCDAB---0000...
由于字變量的數(shù)據(jù)是按照“高高低低”的原則存于存儲(chǔ)單元之中的,而字節(jié)
數(shù)據(jù)是按照排列順序存于存儲(chǔ)單元中的,所以,它們的存儲(chǔ)方式有所不同。
第4章標(biāo)詼符和表達(dá)式
試比較下面兩個(gè)定義的存儲(chǔ)順序。
B1DB'AB'
W1DW'AB'
其中:41H和42H分別是'A'和B的ASCII碼。
41424241
第4章標(biāo)詼符和表達(dá)式
4.2.4雙字變量
雙字變量的定義符為DD/DWORD(DefineDoubleword),每個(gè)雙字變量占用
二個(gè)連續(xù)的字單元(四個(gè)字節(jié))。
例如:
DD1DD12345678H,?
DD2DD0abcd1243H
上述定義的內(nèi)存分配如下所示,雙字的內(nèi)容也是按“高高低低”的原則來存儲(chǔ)
的。
785634124312CDAB
第4章標(biāo)詼符和表達(dá)式
4.2.5六字節(jié)變量
六字節(jié)變量的定義符為DF/FWORD(DefineFarword)每個(gè)六字節(jié)變量占用六
個(gè)連續(xù)的字節(jié)。o!
例如:(
DF1DF1234567890abH,0H,-1
DF1abcd23H1
第一個(gè)六字節(jié)常量1234567890abH在內(nèi)存中的分配方式如下所示,它也是按
“高高低低”的原則來存儲(chǔ)的。其它六字節(jié)常量的存儲(chǔ)方式與此一致?!?/p>
ab9078563412
第4章標(biāo)詼符和表達(dá)式
4.2.6八字節(jié)變量
八字節(jié)變量的定義符為DQ/QWORD(DefineQuadword)o每個(gè)八字節(jié)變量占用
八個(gè)連續(xù)的字節(jié)。
例如:
DQ1DQ12345678H,0H,-1234H
DQ?,1238H,?
第一個(gè)八字節(jié)常量12345678H在內(nèi)存中的分配方式如下所示,其存儲(chǔ)原則與
前面相同。其它八字節(jié)常量的存儲(chǔ)方式與此一致。
7856341200000000
第4章標(biāo)詼符和表達(dá)式
427十字節(jié)變量
定義十字節(jié)變量的定義符為DT/TBYTE(DefineTenbytes)0每個(gè)十字節(jié)變量占
用十個(gè)連續(xù)的字節(jié)。
例如:
DT1DT12345678H,?
DT2DT?,-1H
第一個(gè)十字節(jié)常量12345678H在內(nèi)存中的分配方式如下所示,它同樣按“高
高低低”的原則來存儲(chǔ)。其它十字節(jié)常量的存儲(chǔ)方式與此一致。
78563412000000000000
第4章標(biāo)詼符和表達(dá)式
4.3調(diào)整偏移量偽指令
調(diào)整偏移量偽指令是在內(nèi)存變量定義時(shí)用來調(diào)整內(nèi)存變量起始偏移量的,它們
是在把源程序匯編成目標(biāo)文件時(shí)起作用。
常用的調(diào)整偏移量偽指令有:EVEN、ALIGN和ORG。
4.3.1偶對(duì)齊偽指令EVEN
偶對(duì)齊偽指令格式:
EVEN
偽指令的作用是:告訴匯編程序(Assember),本偽指令下面的內(nèi)存變量從下
一個(gè)偶地址單元開始分配。
如果下一個(gè)偏移量是偶地址,那么,該偽指令不起作用;否則,匯編程序?qū)⒖?/p>
出一個(gè)字節(jié),從下一偶地址開始為其后變量分配內(nèi)存單元。
第4章標(biāo)詼符和表達(dá)式
假設(shè)有下列變量定義,并且變量B1的偏移量是偶數(shù)。
B1DB12H;為了表示方便,不妨再假設(shè)其偏移量為:xxxxOH
W1DW4567H
可把前面的變量定義改變成下列形式:
B1DB12H
EVEN
W1DW4567H
xxxxOH
xxxxOh-B1
xxxxlh
-W1xxxx2H
讀出字:
454567H
第4章標(biāo)詼符和表達(dá)式
4.3.2對(duì)齊偽指令A(yù)LIGN
對(duì)齊偽指令格式:
ALIGNNum
其中:Num必須是2的幕,如:2、4、8和16等。
偽指令的作用是:告訴匯編程序,本偽指令下面的內(nèi)存變量必須從下一個(gè)能被
Num整除的地址開始分配。
?如果下一個(gè)地址正好能被Num整除,那么,該偽指令不起作用;
?否則,匯編程序?qū)⒖粘鋈舾蓚€(gè)字節(jié),直到下一個(gè)地址能被Num整除為止。
試比較下面二組變量定義,它們的對(duì)齊效果一致嗎?
B1DB12HB1DB12H
EVENALIGN2
W1DW4567HW1DW4567H
第4章標(biāo)詼符和表達(dá)式
4.3.3調(diào)整偏移量偽指令ORG
調(diào)整偏移量偽指令格式::
ORG數(shù)值表達(dá)式|
偽指令的作用是:告訴匯編程序,本偽指令下面的內(nèi)存變量從該“數(shù)值表達(dá)式*
所指定的偏移量開始分配。
假設(shè)有下列變量定義,且變量wordl的偏移量土八
wordlDW1234h
bytelDB56hwordl
word2DWOabcdhbyte1->S
ORG1word3I
7
byte2DBword2
word3DW7byte3,
byte3DB?
第4章標(biāo)詼符和表達(dá)式
4.3.4偏移量計(jì)數(shù)器的值
匯編語言提供了一個(gè)特殊的符號(hào)“$”來引用偏移量計(jì)數(shù)器的值。
例如:
W1DW$,$
ORG$+3;從當(dāng)前地址開始空3個(gè)字節(jié)
B1DB43h
假設(shè):在給變量W1分配內(nèi)存單元時(shí),當(dāng)前偏移量計(jì)數(shù)字變量W1
器的值為2。
空出3個(gè)字節(jié)
字節(jié)變量B1
第4章標(biāo)詼符和表達(dá)式
4.4復(fù)合內(nèi)存變量的定義
4.4.1重復(fù)說明符DUP
匯編語言提供了變量的重復(fù)說明符DUP,其說明的一般形式如下:
countDUP(表達(dá)式,表達(dá)式,…,表達(dá)式)
解釋:count是重復(fù)次數(shù),(表達(dá)式,表達(dá)式,…,表達(dá)式)是被重復(fù)的部分,“表
達(dá)式”可以是存儲(chǔ)單元的初值,也可以是含義另一個(gè)DUP的式子。如果在表達(dá)式
的括號(hào)中有多個(gè)表達(dá)式,那么,它們之間要用逗號(hào)','分開。
例如:
BUFFERDB100DUP(?)
STRINGDB120DUP('ABODE'),0
DA7A1DW50DUP(10H,20DUP(1,2,3),20H)
POINTSDD12,30DUP(0)
第4章標(biāo)詼符和表達(dá)式
4.4.2結(jié)構(gòu)類型的定義
1、結(jié)構(gòu)類型的定義
用STRUC和ENDS可以把一系列數(shù)據(jù)定義語句括起來作為一種新的、用戶定
義的結(jié)構(gòu)類型。其一般說明格式如下:
結(jié)構(gòu)名STRUC[Alignment][,NONUNIQUE]
數(shù)據(jù)定義語句序列
結(jié)構(gòu)名ENDS
解釋:結(jié)構(gòu)名是一個(gè)合法的標(biāo)識(shí)符,且具有唯一性。結(jié)構(gòu)名代表整個(gè)結(jié)構(gòu)類型,
前后兩個(gè)結(jié)構(gòu)名必須一致。結(jié)構(gòu)內(nèi)被定義的變量為結(jié)構(gòu)字段,變量名即為字段名。
一個(gè)結(jié)構(gòu)中允許含有任意多個(gè)字段,各字段的類型和所占字節(jié)數(shù)也都可任意。
如果字段有字段名,則字段名必須唯一。每個(gè)字段可獨(dú)立存取。
第4章標(biāo)詼符和表達(dá)式
?對(duì)齊方式(Alignment):可用1、2或4來指定結(jié)構(gòu)中字段的字節(jié)邊界(Byte
boundary),其缺省值為1。
?NONUNIQUE:要求結(jié)構(gòu)中的字段必須用全名才能訪問,見本小節(jié)中的“結(jié)
構(gòu)類型字段的引用”。
例如:
COURSESTRUC
NODD?
CNAMEDB'Assember'
SCOREDW0
COURSEENDS
Assember
II]
NOCNAMESCORE
第4章標(biāo)詼符和表達(dá)式
結(jié)構(gòu)中的字段可以有字段名,也可以沒有字段名。有字段名的字段可直接用該
字段名來訪問它,沒有字段名的字段可以用該字段在結(jié)構(gòu)中的偏移量來訪問。
例如:
PEASONSTRUC
NODD?;偏移量為0
NAMEDB10dup(?);偏移量為4
DB1;偏移量為14
PEASONENDS
在結(jié)構(gòu)PEASON中,有二個(gè)字段有字段名,一個(gè)字段沒有字段名,但不管有
無字段名,我們都可用其偏移量來訪問它。
第4章標(biāo)詼符和表達(dá)式
2、結(jié)構(gòu)類型變量的定義
在定義某個(gè)結(jié)構(gòu)類型后,程序員就可以說明該結(jié)構(gòu)類型的內(nèi)存變量。它的說明)
形式與前面介紹的簡(jiǎn)單數(shù)據(jù)類型的變量說明基本上相一致。其說明格式如下:I
[變量名]結(jié)構(gòu)名v[字段值表卜I
解釋:1
?變量名即為該結(jié)構(gòu)類型的變量名,它可省缺。如果省缺,則不能用符號(hào)名來訪;
問該內(nèi)存單元;(
?字段值表是給字段賦初值,中間用逗號(hào)','分開,其字段值的排列順序及類,
型應(yīng)與該結(jié)構(gòu)說明時(shí)各字段相一致;I
?如果結(jié)構(gòu)變量中某字段用其定義時(shí)的缺省值,那么,可用逗號(hào)來表示;如果所
有字段都如此,則可省去字段值表,但必須保留尖括號(hào)“<”、O
第4章標(biāo)詼符和表達(dá)式
例如:
C0URSE1COURSE<>;使用缺省的初值
COURSE<1,Pascal',60>
COURSE3COURSE<2,,84>;使用缺省的課程名
PEASON1PEASON<1000,'張三',34>
3、結(jié)構(gòu)類型字段的引用
定義了結(jié)構(gòu)類型的變量后,若要訪問其結(jié)構(gòu)中的某字段,則可采用如下形式:
結(jié)構(gòu)變量名.字段名
該引用方式與高級(jí)語言的字段引用方式完全一致。
我們還可用偏移量來訪問其中的某個(gè)字段,但此方法不直觀,變動(dòng)性大,所以,
一般情況下,不提倡使用此方法。
第4章標(biāo)詼符和表達(dá)式
例如:
EXAM1STRUC
F1DW?
F2DB?
EVEN;偶對(duì)齊
F3DW?
EXAM1ENDS
E1EXAM1<1234H,'A),8765H>定義EXA
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年工業(yè)互聯(lián)網(wǎng)平臺(tái)網(wǎng)絡(luò)安全隔離技術(shù)安全認(rèn)證與評(píng)估報(bào)告
- 智能交通信號(hào)優(yōu)化系統(tǒng)在城市軌道交通中的應(yīng)用效果評(píng)估報(bào)告
- 2025短視頻平臺(tái)內(nèi)容監(jiān)管與行業(yè)倫理教育:社會(huì)責(zé)任實(shí)踐報(bào)告
- 2026屆高考政治一輪復(fù)習(xí):統(tǒng)編版必修4《哲學(xué)與文化》知識(shí)點(diǎn)考點(diǎn)提綱
- 2026高考物理第一輪復(fù)習(xí):實(shí)驗(yàn)八 驗(yàn)證動(dòng)量守恒定律
- 2026年中考英語復(fù)習(xí):滿分英語作文寫作技巧 講義
- 2025外研版八年級(jí)上英語課文翻譯及語法填空
- 商鋪使用協(xié)議書范本
- 客戶預(yù)存款協(xié)議書范本
- 【01-暑假?gòu)?fù)習(xí)】專題08 非謂語動(dòng)詞 (教師版)-2025年新高一英語暑假銜接講練 (譯林版)
- 2025年江蘇省靖江市輔警招聘考試試題題庫及答案詳解(名師系列)
- 2025年中醫(yī)三基訓(xùn)練試題及答案
- 2025浙江臺(tái)州市椒江區(qū)區(qū)屬國(guó)有企業(yè)招聘42人筆試歷年參考題庫附帶答案詳解
- 單側(cè)雙通道內(nèi)鏡技術(shù)課件
- 結(jié)腸透析健康宣教
- 2024-2025學(xué)年廣東省珠海市香洲區(qū)鳳凰中學(xué)八年級(jí)(下)期末數(shù)學(xué)模擬試卷
- 物流費(fèi)用結(jié)算管理制度
- 2025年瀘州市中考語文試卷真題
- 2025年第十屆“學(xué)憲法、講憲法”網(wǎng)絡(luò)知識(shí)競(jìng)賽題庫(含答案)
- 勞務(wù)派遣勞務(wù)外包項(xiàng)目方案投標(biāo)文件(技術(shù)方案)
- 定額〔2025〕1號(hào)文-關(guān)于發(fā)布2018版電力建設(shè)工程概預(yù)算定額2024年度價(jià)格水平調(diào)整的通知
評(píng)論
0/150
提交評(píng)論