




已閱讀5頁,還剩215頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
微機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 第 4章 匯編語言程序設(shè)計 微機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 第 4章 匯編語言程序設(shè)計 本章要點 編語言與匯編程序 指令及其應(yīng)用 編語言屬性操作符 32 位匯編語言與 C+語言混合編程 微機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 編語言與匯編程序 程序員用各種編程語言編寫指令以指揮計算機工作。計算機程序由一系列指令序列組成。計算機通過對每條指令的譯碼和執(zhí)行來完成相應(yīng)的操作。指令必須以二進制代碼的形式存放在內(nèi)存中,才能夠被計算機所識別和理解,并加以執(zhí)行。由二進制代碼表示的指令稱為機器指令,相應(yīng)的程序稱為機器語言程序。 任何計算機所能直接理解的語言只有其本身的機器語言 (機器語言是特定計算機的自然語言,由計算機的硬件設(shè)計定義。機器語言通常由一系列數(shù)字組成 (最終簡化 0和 1),讓計算機一次一個地執(zhí)行最基本的操作。機器語言程序由 0、 1二進制代碼組成,非常繁瑣、難于編程和記憶。隨著計算機越來越普及,機器語言編程對大多數(shù)程序員顯然太慢、太繁瑣。程序員不用計算機直接理解的一系列數(shù)字,而是用類似英文縮寫的助記符 (表示計算機的基本操作,這些助記符構(gòu)成了匯編語言(使用匯編語言編寫的程序,機器不能直接識別,稱為匯編器 /匯編程序 (翻譯程序?qū)R編語言程序轉(zhuǎn)換為機器語言。由此產(chǎn)生了用指令助記符表示的匯編語言指令,對應(yīng)的程序稱為匯編語言程序。匯編程序把匯編語言翻譯成機器語言的過程稱為匯編。 微機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 編語言與匯編程序 【 例 4 【 例 4均在 【 例 4將 4位二進制數(shù)對應(yīng)的 16進制數(shù)轉(zhuǎn)換為 數(shù)在 0000應(yīng)的 0-9( 30當數(shù)在 1010應(yīng)的 A-F(41 步驟如下: ( 1)在 記事本 】 ( %輸入如下的匯編語言程序并另存為C: ;此處輸入數(shù)據(jù)段代碼 x 10 此處輸入代碼段代碼 S:S: X, S, L,x L,0 L,0 ; JB: L,07H L,30H L, ;示 H,2 1H H,4 ;帶返回碼結(jié)束 1H 機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 編語言與匯編程序 ( 2)單擊 【 開始 】【 程序 】【 運行 】 ,在 【 打開 】 框中輸入 單擊 【 確定 】 。 在彈出的 C: 此命令將當前目錄切換到 C: C: 上述命令將匯編語言源程序 目標代碼),在 C: 微機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 編語言與匯編程序 ( 3) C: 不用附加名 如圖4 R) 09 3 1992 C) 984 是否改動輸出 不改就 是否需要列表文件( 不需要則 是否需要庫文件,要就鍵入文件名,不要則 4021: no 以錯誤信息, no 不影響程序正常執(zhí)行至此已經(jīng)生成 連接程序 成以 微機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 編語言與匯編程序 ( 4)運行 如圖所示,鍵入 看到輸出的結(jié)果 A, 0的十六進制表示。 微機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 編語言與匯編程序 ( 5)調(diào)試和查看匯編代碼的機器碼 在 裝 默認安裝路徑的C:中打開 可看到如下圖圖 4 微機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 編語言與匯編程序 畫面的左上窗口是調(diào)試器的主窗口,其顯示被調(diào)試的源程序或執(zhí)行代碼,左下窗口是命令窗口,用戶可輸入各種 窗口是顯示寄存器窗口,它可顯示 16位寄存器的內(nèi)容。在主窗口 3中,分為 3列顯示,第 1列顯示的是代碼所在內(nèi)存單元的段地址和段內(nèi)偏移地址,請注意右側(cè)寄存器 們和當前要執(zhí)行的指令的段地址和偏移地址是一致的。第 2列顯示的是第 3列匯編指令的相應(yīng)的 16進制表示的機器指令。按快捷鍵 逐語句觀察運行結(jié)果。 微機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 匯編與連接 1匯編程序 匯編是把匯編語言程序翻譯成機器語言描述的目標程序的過程。 匯編程序是完成匯編任務(wù)的程序。 2連接程序 連接程序的主要功能是實現(xiàn)多個目標文件及庫文件的連接,并完成浮動地址的重定位。 從匯編語言源程序到可執(zhí)行程序的生成過程如圖所示。 微機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 匯編語言與高級語言 匯編語言程序的基本單位仍然是機器指令,只是采用助記符表示,便于人們記憶。匯編語言是一種依賴于計算機微處理器的語言,每種機器都有它專用的匯編語言 (如 8086031單片機的匯編語言即不相同 ),匯編語言一般不具有通用性和可移植性。由于進行匯編語言程序設(shè)計必須熟悉機器的硬件資源和軟件資源,因此具有較大的難度和復(fù)雜性。為了加速編程過程,人們開發(fā)了高級語言 (用一條語句完成大量任務(wù)。稱為編譯器 (翻譯程序?qū)⒏呒壵Z言程序變?yōu)橄鄳?yīng)的機器語言。高級語言使程序員能夠編寫更像英語的指令,可以包含常用的數(shù)學(xué)符號。從程序員角度看,高級語言比機器語言和匯編語言都要強得多。 C、 C+、 C#、 高級語言程序編譯為相應(yīng)的機器語言的過程可能需要大量時間。解釋器 (序可以直接執(zhí)行高級語言程序,而不必先將這些程序編譯成相應(yīng)的機器語言。盡管編譯程序的執(zhí)行速度比解釋程序更快,但解釋器在程序開發(fā)環(huán)境中更常用,因為增加新特性和糾正錯誤時經(jīng)常需要重新編譯程序。一旦程序開發(fā)完成,編譯版本的運行最有效。 微機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 匯編語言與高級語言 高級語言 (如 語言等是面向過程的語言,不依賴于機器,因而具有很好的通用性和可移植性,并且具有很高的程序設(shè)計效率,便于開發(fā)復(fù)雜龐大的軟件系統(tǒng)。 微機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 匯編語言與高級語言 既然高級語言有很多優(yōu)點,為什么還要學(xué)習(xí)匯編語言呢?理由如下: 匯編語言仍然是各種系統(tǒng)軟件(如操作系統(tǒng))設(shè)計的基本語言。利用匯編語言可以設(shè)計出效率極高的核心底層程序,如設(shè)備驅(qū)動程序。迄今在許多高級應(yīng)用編程中, 32位匯編語言編程仍然占有較大的市場。 用匯編語言編寫的程序一般比用高級語言編寫的程序執(zhí)行速度快,且占內(nèi)存較少。 匯編語言程序能夠直接有效地利用機器硬件資源,在一些實時控制系統(tǒng)中更是不可代替。 學(xué)習(xí)匯編語言對于理解和掌握計算機硬件組成及工作原理十分重要,也是進行計算機應(yīng)用系統(tǒng)設(shè)計的基礎(chǔ)。 微機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 匯編語言源程序的結(jié)構(gòu)( 一個匯編語言源程序由若干個代碼段、數(shù)據(jù)段、附加段或堆棧段組成,先看下面的例子。 【 例 4將一個 8位二進制數(shù)分成高 4位和低 4位分別轉(zhuǎn)換為兩個 待轉(zhuǎn)換的數(shù)據(jù)及轉(zhuǎn)換好的 整的匯編語言源程序如下: 微機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 1 2 3 ; 數(shù)據(jù)段定義開始 4 0101011B 5 ) 6 ; 數(shù)據(jù)段定義結(jié)束 7 8 ; 堆棧段定義開始 9 56 S) 10 $ 11 ; 堆棧段定義結(jié)束 12 13 ; 定義附加段 14 15 16 17 ; 附加段定義結(jié)束 18 微機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 19 ; 代碼段定義開始 20 S: 21 ;. 22 ; 主程序開始 23 24 25 26 27 28 29 30 4 31 32 33 34 35 36 機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 37 38 39 40 $;加字符串結(jié)束標記 41 42 43 4421H 45 46H,4 471H 48 ; 主程序結(jié)束 49;. 50 ; 過程 (子程序 )定義開始 51 L,0 52 L,10 53 54 L,7 55 L, 0 56 57 ; 過程 (子程序 )定義結(jié)束 58;. 59 ; 代碼段定義結(jié)束 60 61 ; 程序結(jié)束 微機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 從例 4個匯編語言源程序由若干個代碼段、數(shù)據(jù)段、附加段和堆棧段組成,即程序由段結(jié)構(gòu)組成。它們由段定義開始語句“ 段定義結(jié)束語句“ 定義一個段。每個段都有一個段名,段名可自行命名,如數(shù)據(jù)段的段名為“ 堆棧段的段名為“ 代碼段的段名為“ 數(shù)據(jù)段和附加段用于存放變量、數(shù)據(jù)和結(jié)果,堆棧段用于執(zhí)行壓棧和出棧操作,以及子程序調(diào)用和參數(shù)傳遞,代碼段則是所編制的執(zhí)行程序或常數(shù)表格。各個段都由一系列語句組成。語句包括指令語句和偽指令語句。指令語句(生對應(yīng)的機器代碼,指定 偽指令語句 (不產(chǎn)生機器代碼,僅僅起控制匯編過程的作用,它指定匯編器( 何種操作。 匯編器是專門把匯編語言源程序匯編成機器語言的工具軟件。它通過偽指令來了解諸如“變量名列表”、“變量所在位置”、“過程名”等信息。在例 4B,們是匯編語言源程序的重要組成部分。 微機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 匯編語言的語句格式( 匯編語言程序的每行語句由 1 4個部分組成。指令語句和偽指令語句的格式稍有區(qū)別,指令語句的標號后有冒號“:”,偽指令語句的標號后沒有冒號。 指令語句的格式為 ; 標號域 指令助記符域 操作數(shù)域 注釋域 偽指令語句的格式為 ; 標號域 偽指令助記符域 操作數(shù)域 注釋域 微機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 語句格式中用方括號括起來的部分,是可選項,可以有也可以沒有。每部分之間用空格 (至少一個 )分開,一行最多可有 132個字符。 號域,表示段名、變量名、過程名或指令符號地址等。 記符域,為指令或偽指令的助記符。 作數(shù)域,表示操作的對象,由一個或多個表達式組成,表達式與表達式之間必須用逗號“,”分開。 釋域,用來說明語句的功能,以“;”開始。匯編程序?qū)Α埃弧币院蟮牟糠植挥鑵R編。 指令助記符前面還可以有 前綴 。匯編程序語句中的四個域,均可以用大寫、小寫或大小寫混合編寫。 標號 (一個自行設(shè)計的標識符或名稱,最多可由 31個字母、數(shù)字和特別字符 (?、 、 _、 $)等組成。但不能用數(shù)字開頭 ,中間不能有空格,也不能為匯編語言的保留字。 注:保留字指有專門用途的字符或字符串,如 令助記符、偽指令助記符等。 標號一般表示變量名、段名、過程名或指令符號地址。變量名、段名和過程名由專門的偽指令語句定義,而指令符號地址則根據(jù)需要在標號域中寫上,后面跟一個“:”。 在同一個匯編單位(以 ,標號域中的標號不能相同。 操作數(shù) (以是常數(shù)、常量、變量、標號、寄存器名或表達式。 微機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 1. 常數(shù)、常量 編程時已經(jīng)確定其值,程序運行期間不會改變其值的數(shù)據(jù)對象稱為常數(shù)。 8086/8088 整數(shù)、字符串、“組合 實數(shù) (浮點數(shù) ),但只能處理整數(shù)、字符串、“組合 不能處理實數(shù) (浮點數(shù) )。 常數(shù)表達式的名字稱為常量。 (程序員給出的一個名或助記名作為一個確定值的標識, 其值在程序執(zhí)行過程中保持不變。)常量可用偽指令說明符“ “ =”定義。 例如, A 7或 A = 7都可將常量 。 注意:偽指令說明符 “ =”左邊的符號名可以重復(fù)定義。即: A 7可以: A=7A 8 (不允許)可以: A=8 微機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 匯編語言的語句格式( 匯編語言語句中出現(xiàn)的常數(shù)一般有 5種: (1) 二進制數(shù)( 后跟字母 B,如 10101011B。 (2) 八進制數(shù)( 后跟字母 Q,如 367Q。 (3) 十進制數(shù)( 后跟字母 9。 (4) 十六進制數(shù)( 后跟字母 H,如 03意,當數(shù)字的第一個字符是 A 字符前應(yīng)添加一個數(shù)字 0,以示和變量或保留字的區(qū)別。如 0 位寄存器。 (5) 字符和字符串 字符或字符串的值是取其對應(yīng)的 并用一對單引號 括起來。如字符 0,其對應(yīng)的 0H。字符串 41H、 53 微機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 2. 變量、標號和寄存器名 例如,指令 示目的操作數(shù), 示源操作數(shù)。 標號就是指令地址的名字,也稱為指令的符號地址。標號定義在指令的前面 (通常是左邊 ),用冒號作為分隔符。標號只能定義在代碼段 (,它代表其后第一條指令的第一個字節(jié)的存儲單元地址,用于說明指令在存儲器中的存儲位置。例如 , 在例 4 ; 主程序開始 這里, 標號有如下的屬性: (1) 段基值屬性: 指標號后面第一條指令所在的代碼段的段基值; (2) 偏移地址屬性: 指標號后面第一條指令首字節(jié)的段內(nèi)偏移地址; (3) 類型屬性: 也稱距離屬性,是指標號與引用該標號的指令之間允許距離的遠、近。 微機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 匯編語言的語句格式( 3. 表達式 由運算符連接起來的式子叫表達式,匯編程序在對其匯編時,按一定的規(guī)則對表達式進行運算后得到一個數(shù)值或一個地址。 表達式可分算術(shù)表達式、邏輯表達式、關(guān)系運算表達式、分析運算表達式和合成運算表達式。 微機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 匯編語言的語句格式( (1) 算術(shù)表達式 算術(shù)運算符有 加( +)、減( -)、乘( *)、除( /)、求余( 算術(shù)運算表達式的最后結(jié)果仍為一個數(shù)。例如 5*8+20, 127/100, 5 等算術(shù)表達式,其結(jié)果分別為 60,1和 2。 微機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 匯編語言的語句格式( (2) 邏輯表達式 邏輯運算符有 輯與 )、 輯或)、 輯異或)和 輯非)。 邏輯表達式的結(jié)果視情況不同而可能為 8位或 16位二進制數(shù)。 邏輯運算符與邏輯運算指令的區(qū)別在于,前者在匯編時完成邏輯運算,而后者在指令執(zhí)行時完成邏輯運算。例如 10101011B 10101011B 邏輯表達式,其結(jié)果在匯編時即已確定,為 00001011B,故上述指令等價于 00001011B 微機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 匯編語言的語句格式( (3) 關(guān)系表達式 關(guān)系運算符有 于)、 等于)、于)、 于或等于)、 于 )和 于或等于)共六種。 關(guān)系運算符的兩個操作數(shù)必須都是數(shù)字或同一段內(nèi)的兩個存儲單元的地址。計算的結(jié)果為邏輯值,結(jié)果為真,表示為 0果為假,表示為 0000H。例如指令 5 其中 , 5 為關(guān)系表達式 ,該關(guān)系成立 ,結(jié)果為 0指令等價于 0機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 匯編語言的語句格式( (4) 分析運算表達式和合成運算表達式 分析運算表達式和合成運算表達式的操作對象都為存儲器操作數(shù)。存儲器操作數(shù)表示變量、符號地址、存儲單元等。分析運算表達式把存儲器操作數(shù)分解為幾個部分,如分解出段值、偏移量、類型等;而合成運算表達式則把這些組成部分綜合為存儲器操作數(shù)。 例如,例 4 的作用為取存儲器操作數(shù)(變量) 于在例 4 001H。故該指令等價于 0001H 微機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 指令及其應(yīng)用 偽指令語句只是用來指示、引導(dǎo)匯編程序在匯編時做一些操作,它不產(chǎn)生機器代碼,本身也不占用存儲單元。 偽指令主要分為下列幾類: 程序分段及存儲器分配 變量定義及存儲器申請 過程定義 符號定義 程序模塊定義與通信 宏定義及宏調(diào)用 條件匯編 格式控制,列表及其他功能 微機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 段定義偽指令 格式如下: 段名 定位方式 組合方式 類別名 指令語句或偽指令語句 段名 機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 段定義偽指令 1段名 段名是賦予該段的一個名稱,它位于 對出現(xiàn),且前后必須一致。段名的取法與標號、變量名等相同。在同一個模塊中,不同段的段名不能相同。 段名代表該段的段地址。例如,例 4 表示取數(shù)據(jù)段的段地址 (用段名表示 )送 后再將地址 )送數(shù)據(jù)段寄存器 微機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 段定義偽指令 2定位方式 程序的段必須連續(xù)放置在內(nèi)存單元的某個區(qū)域,并占據(jù)一定的存儲空間。為了對程序的段進行合理的管理,需要對段放置的起始地址進行規(guī)定,這就是定位方式的作用。有 4種定位類型: 始地址分別為( 或 1): 0000 B 0000 0000 B 分別表示以字節(jié)、字、節(jié)、頁的邊界為起始地址。如果缺省定位方式,則以節(jié)( 邊界為起始地址。一節(jié)包含 16個連續(xù)的字節(jié)單元,一頁包含 256個連續(xù)的字節(jié)單元。 微機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 段定義偽指令 3組合方式 對于規(guī)模較大的程序,常將程序分割為多個模塊。在不同的模塊中,段名可以相同,組合方式的作用是指示連接程序,把同名的段按照指定的方式組合起來形成一個新的段。組合方式共有 6種。 ( 1) 示該段與其他模塊的段沒有任何關(guān)系,每段都有自己的基址。這是缺省方式。 ( 2) 示該段與其它模塊中說明為 輯段的長度為各段長度之和。 ( 3) 示此段為堆棧段,連接時把所有 ( 4) 示該段與其它模塊中所有已說明為 享的長度為模塊同名段中最大長度,各共享段具有相同的段起始地址。 ( 5) 示該段應(yīng)定位在所有其他段的上面。若有多個段選用 除第一個之外,其余段均作為 ( 6) 示該段按絕對地址定位,其段地址即為其后表達式的值,位移量為 0。 微機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 段定義偽指令 4類別名 類別名必須用單引號括起來。連接程序把類別名相同的所有段放在連續(xù)的存儲區(qū)域內(nèi),先出現(xiàn)的段放前 ,后出現(xiàn)的在后,但對各段不進行重新組合。一般總是定義堆棧段的類別名為 例如,例 4堆棧段可定義如下 : 表示堆棧段從節(jié)的起始地址開始存放 ,組合方式為 類別名為 微機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 5指定段內(nèi)的偏移地址 常用的有 指定下一個要用的存儲單元的偏移地址。 ( 1) 格式: 數(shù)表達式 指定當前可用的存儲單元的偏移地址為常數(shù)表達式的值,就是將常數(shù)表達式的值送入 $。 ( 2) 格式: 將當前可用的存儲單元的偏移地址調(diào)整為最近的偶數(shù)值,就是將當前可用的最小偶數(shù)偏移地址值送入 $。 例如,在下述偽指令語句序列中, 1000H A 7H, 12H, 45H B 7H 這里,指令 1000H 將 000H,從 個字節(jié)變量,占用地址 1000H、 1001002H, 003H,但 的偏移地址部分調(diào)整為偶數(shù)地址 1004H。 對于字數(shù)組,為保證其從偶地址開始,可在它前面用 操作來達到這一目的,形如: 100 ) 機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 段定義偽指令 6 前述的組合方式是把同名的段按照指定的方式組合起來形成一個新的段,而 其裝入同一個物理段中,組內(nèi)各段之間的跳轉(zhuǎn)可視為段內(nèi)跳轉(zhuǎn)。格式如下: 組名 段名 , 注:組名與段名是一樣的取名規(guī)則,是代表該組的段地址,格式中的段名也可用表達式 變量 或 標號 來代替,其中“ 算符表示取變量或標號的段地址 。 微機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 偏移地址計數(shù)器 $和定位偽指令 1偏移地址計數(shù)器 $ 匯編程序在對源程序進行匯編的過程中,用偏移地址計數(shù)器 $來保存當前正在匯編的指令的偏移地址或偽指令語句中變量的偏移地址。 用戶可將 $用于自己編寫的源程序中。 在每個段開始匯編時,匯編程序 ( 匯編器)都將 $清為 0,以后,每處理一條指令或一個變量, $就增加一個值,此值為該指令或該變量所占的字節(jié)數(shù)。 可見, $的內(nèi)容就是當前指令或變量的偏移地址。 在偽指令中, $代表其所在地的偏移地址。例如,如果 074H,則語句 A , 2, $+4, 3, 4, $+4 中的第一個 $+4的偏移地址為 A+4,第二個 $+4的偏移地址為 A+10。 匯編后: 第一個 $+4: $+4=(A+4)+4=(0074H+4)+4=007 第二個 $+4: $+4=(A+10)+4=(0074H+04=0082H 微機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 偏移地址計數(shù)器 $和定位偽指令 2 指令 過 以將位置計數(shù)器設(shè)置為新值 , 以便其后的指令性語句或數(shù)據(jù)定義語句從指定的位置處進行匯編。 數(shù)據(jù)表達式 例如,例 4將該變量改放到 0100 0100H 5機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 段尋址偽指令 用 便匯編程序能夠正確匯編。 段寄存器:段名 ,段寄存器:段名 , 其中段寄存器有 個指定之間用逗號分開。例如,例 4 S: 表示 程序中沒有用到附加段。 注意, 未向各個段寄存器真正賦值。要向各個段寄存器賦值,必須在程序中用指令語句實現(xiàn)。例如,用下列指令向 機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 過程(子程序)定義偽指令 過程即是子程序。匯編語言規(guī)定必須對過程進行定義,以確定過程的三種屬性。過程的屬性確定之后,就可對調(diào)用指令 定是產(chǎn)生近調(diào)用指令還是遠調(diào)用指令。近調(diào)用時,只需將返回位置的偏移地址壓棧,而遠調(diào)用時,需將返回位置的偏移地址和段地址都壓入堆棧。 微機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 過程(子程序)定義偽指令 1過程的三種屬性 ( 1) 段屬性:過程所在段的段地址。 ( 2) 偏移量屬性:過程所處位置的段內(nèi)偏移地址。 ( 3) 類型屬性 (過程為 過程與調(diào)用指令 名相同)。 過程與調(diào)用指令 名不同)。 微機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 過程(子程序)定義偽指令 2過程的定義 過程定義的格式如下: 過程名 語句 過程名 其中,過程名是為該過程指定的一個名稱,與變量、標號的定義規(guī)則相同。 寫過程時,最后一條指令必須是返回指令 將堆棧內(nèi)保存的返回地址彈出,以實現(xiàn)程序的正確返回。 微機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 變量定義偽指令與存儲器分配 1. 變量的三種屬性 變量均有下列三種屬性。 ( 1)段屬性:變量所在段的段地址。如例 4們都處在同一個數(shù)據(jù)段中,故有相同的段地址。 ( 2)偏移屬性:變量所處位置的段內(nèi)偏移地址。例如變量 000H, 001H。 ( 3)類型屬性:變量為字節(jié)、字或雙字類型。 微機原理與接口技術(shù) 清華大學(xué)出版社 2013年 4月 24日 變量定義偽指令與存儲器分配 變量定義符用于定義變量,也就是為變量分配存儲單元并可同時預(yù)置初始值,主要包括下列幾種: 定義字節(jié)型變量 定義字型變
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年醫(yī)學(xué)高級職稱-傳染病學(xué)(醫(yī)學(xué)高級)歷年參考題庫含答案解析(5卷單選100題)
- 2025年醫(yī)學(xué)高級職稱-中醫(yī)外科(醫(yī)學(xué)高級)歷年參考題庫含答案解析(5卷單選一百題)
- 2025年住院醫(yī)師規(guī)范培訓(xùn)(各省)-河南住院醫(yī)師全科歷年參考題庫含答案解析(5卷單項選擇題100題)
- 2025年住院醫(yī)師規(guī)范培訓(xùn)(各省)-江蘇住院醫(yī)師急診科歷年參考題庫含答案解析(5卷100題)
- 2025-2030全球及中國定期人壽保險行業(yè)市場現(xiàn)狀供需分析及市場深度研究發(fā)展前景及規(guī)劃可行性分析研究報告
- 2025-2030全球及中國農(nóng)業(yè)監(jiān)測軟件行業(yè)市場現(xiàn)狀供需分析及市場深度研究發(fā)展前景及規(guī)劃可行性分析研究報告
- 2025-2030健身房產(chǎn)業(yè)政府戰(zhàn)略管理與區(qū)域發(fā)展戰(zhàn)略研究報告
- 2025-2030中國駕駛學(xué)校軟件行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 2025年住院醫(yī)師規(guī)范培訓(xùn)(各省)-廣東住院醫(yī)師兒科學(xué)歷年參考題庫含答案解析(5卷單選一百題)
- 2025-2030中國防腐橡膠板行業(yè)市場運行態(tài)勢分析及發(fā)展前景與投資研究報告
- 中小學(xué)校長招聘考試試題
- 大報告廳EASE聲場模擬分析
- (完整版)土的參數(shù)換算(計算飽和重度)
- 境外匯款申請書樣板
- 抗焦慮藥和抗抑郁藥教學(xué)課件
- 2023年浙江溫州技師學(xué)院招聘教師(共500題含答案解析)高頻考點題庫參考模擬練習(xí)試卷
- 撫養(yǎng)費糾紛答辯狀
- 壓鑄行業(yè)面臨的挑戰(zhàn)分析
- 河南暴雨參數(shù)計算表
- 產(chǎn)品質(zhì)量證明書
- RB/T 034-2020測量設(shè)備校準周期的確定和調(diào)整方法指南
評論
0/150
提交評論