




已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
匯編語言程序設計,齊志儒 高福祥 主編 東北大學出版社,第四章 匯編語言,4.1 匯編語句格式 4.2 匯編語言中數(shù)據(jù)的表示方法 4.3 運算符號 4.4 偽指令 4.5 匯編語言的上機過程,4.1 匯編語句格式,4.1.1 字符集 4.1.2 匯編語句格式,Microsoft的宏匯編語言由下列字符組成: (1)英文字母:AZ和az。 (2)數(shù)字字符:09。 (3)算術運算符:+,-,*,/。 (4)關系運算符:。 (5)分隔符:,:,;,(,), (空格),TAB(制表符)。 (6)控制符:CR(回車),LF(換行),FF(換頁)。 (7)其它字符:,_(下劃線),.,%,!。,4.1.1 字符集,DSEG SEGMENT ;數(shù)據(jù)段開始 DATAl DB 13H,26H ;原始數(shù)據(jù) DATA2 DW 0 ;保存結果單元 DSEG ENDS ;數(shù)據(jù)段結束 SSEG SEGMENT STACK ;堆棧段開始 SKTOP DB 20 DUP(0) SSEG END5 ;堆棧段結束 CSEG SEGMENT ;代碼段開始 ASSUME CS:CSEG,DS:DSEG, SS:SSEG START: MOV AX,DSG ;初的化數(shù)據(jù)段基址 MOV DS,AX MOV AX,SSEG ;初始化堆棧段基址 MOV SS,AX MOV SP,LENGTH SKTOP ;設段堆棧指針 MOV AL,DATA1 ;取第一個數(shù)據(jù) ADD AL,DATAl十1 ;與第二個數(shù)據(jù)相加 MOV BYTE PTR DATA 2,AL ;保存結果 M()V AH,4CH INT 21H ;返間DOS C5EG ENDS ;代碼段結束 END START ;源程序結束,匯編語句最多由四個域組成:,標號 操作符 操作數(shù) ;注釋,4.1.2 匯編語句格式,1. 標號,(1) 定義: 程序設計人員自己定義的符號, 用于代表內(nèi)存單元的地址. (2)標號的組成規(guī)則 1)組成標號的字符: AZ,az,09,?,.,$, 和_(下劃線); 2)標號的最大長度為3l(字符個數(shù))。 3)標號的第一個字符不能是09的數(shù)字。 4)機器指令語句中標號必須以冒號結束,偽指令語句中的標號不允許有冒號.,1. 標號,(3) 標號的三個屬性 1)段屬性: 標號所代表的段的值, 可用SEG算符得到. 2)偏移量屬性: 標號所代表的偏移量的值, 可用OFFSET算符得到 3)類型屬性: 標號所代表的內(nèi)存單元所存放的數(shù)據(jù)或指令代碼的類型. 共有7種.,2. 操作符 操作符可以是指令助記符, 偽指令助記符,宏指令符號。 3. 操作數(shù) 操作數(shù)是操作符操作的對象,可以是數(shù)據(jù)本身,也可以是標號、寄存器名或算術表達式。 4. 注釋 注釋是對指令功能的說明,目的實施自己或他人在閱讀分析程序是方便。,4.2.1 數(shù)據(jù)在機內(nèi)的表示 4.2.2 匯編語言中數(shù)據(jù)的書寫形式,4.2 匯編語言中數(shù)據(jù)的表示方法,4.2.1 數(shù)據(jù)在機內(nèi)的表示,(1)數(shù)據(jù)的符號: 用0表示下,1表示負. 對于定點表示有原碼反碼補碼等表示方法. (2)數(shù)據(jù)的定點表示法 1)小數(shù)點在最低位之后,代表純整數(shù), 16位表示范圍為 -32768+32767 2)小數(shù)點在最高位和次高位之間,代表純小數(shù). (3)數(shù)據(jù)的浮點表示法 在浮點表示中, 分為尾數(shù)和階碼兩部分. 有多種表示方法,現(xiàn)在一般用IEEE的表示方法.,(3)浮點數(shù)據(jù)表示法,1ffffff,轉(zhuǎn)換為二進制為 100100.101 規(guī)格化后為 1.0010010125 階碼為 101 加過余量127后 0111 1111+00000101=10000100 尾數(shù)(23位) 001 0010 1000 0000 0000 0000 符號&階碼&尾數(shù) 01000010 00010010 10000000 00000000 用16進制表示為 42 12 80 00 符號位變化 11000010 00010010 10000000 00000000 C2 12 80 00,(3)浮點數(shù)據(jù)表示法(舉例),36.625,-36.625,(4) 數(shù)據(jù)的表示范圍,1)一個字節(jié)(字節(jié)數(shù)據(jù)) 無符號整數(shù) 0255 補碼表示帶符號整數(shù) -128127 2)二個字節(jié)(字數(shù)據(jù)) 無符號整數(shù) 0655535 補碼表示帶符號整數(shù) -32767+32768 3) 四字節(jié)表示的浮點數(shù)據(jù)(規(guī)格化) 正數(shù): 2127(1-2-24)N2-1272-1 負數(shù):2127(-(1-2-24)N2-128(-2-1) 零: 階碼和尾數(shù)同時為0,4.2.2匯編語言中數(shù)據(jù)的書寫形式,1) 二進制常數(shù) 0,1 以B結尾 2)八進制常數(shù) 07, 以O或Q結尾 3)十進制常數(shù) 09, 以D結尾或空 4)十六進制常數(shù) 09, AF, 以結尾 5)十進制科學記數(shù)法常數(shù) 以09,E和指數(shù)組成, 如 0.2467E+5 6)字符常數(shù), 用單引號或雙引號給出,例如 a ,”高” 7)標識符, 用符號定義偽指令定義的符號。 8)表達式,用運算符號連接起來的以上各種數(shù)據(jù),4.3 運算符號,4.3.1 算術運算符 4.3.2 邏輯運算符 4.3.3 關系運算符 4.3.4 分析算符 4.3.5 組合算符 4.3.6 字節(jié)分離算符 4.3.7 記錄專用算符 4.3.8 算符的優(yōu)先級,4.3.1 算術運算符,七個: + - * / MOD SHL SHR + - * / 與通常的用法相同 MOD(取模) 兩數(shù)相除之余數(shù), 例 10 MOD 3=1 SHL(左移) 按二進制左移, 例 10 SHL 2 =40 SHR(右移) 按二進制右移, 例 10 SHR 2 =2,4.3.2 邏輯運算符,AND(與) 按位與 76H AND 23H=22H,OR(或) 按位或 76H AND 23H=77H,4.3.2 邏輯運算符,XOR 異或 76H XOR 23H=55H,NOT(非) 按位取反 NOT 76H =89H,4.3.3 關系運算符,(略),4.3.4 分析算符,1. SEG 取標號所代表的地址的段地址. 2. OFFSET 取標號所代表的地址的偏移量. 3. TYPE 取標與所代表的內(nèi)存單元的類型值.,ALPHA DB 15,23,46 BETA DW 4267H,25H MOV AX,SEG ALPHA MOV BX,SEG BETA MOV CX,OFFSET ALPHA MOV DX,OFFSET BETA MOV SI,TYPE ALPHA MOV DI,TYPE BETA,4.3.4 分析算符,4. SIZE 取DUP分配的內(nèi)存單元的字節(jié)數(shù)。 5. LENGTH 取DUP分配的內(nèi)存單元數(shù)。,ALPHA DB 5 DUP(0) BETA DW 3 DUP (0) GAMA DD 4 DUP (0) MOV AX,SIZE ALPHA ;5 MOV BX,SIZE BETA ;6 MOV CX,SIZE GAMA ;16 MOV AX,LENGTH ALPHA ;5 MOV BX,LENGTH BETA ;3 MOV CX,LENGTH GAMA ;4,SIZE LAB= (LENGTH LAB) * (TYPE LAB),4.3.5 組合算符,1. PTR 用來建立或臨時改變存儲器操作數(shù)的類型。 2. THIS 用來為一個標號建立一個新的類型。,MOV BX,10H MOV BYTE PTRBX,10H MOV WORD PTRBX,10H A1 DB 10H,20H MOV AX,A1 MOV AX,WORD PTR A1 B1 EQU THIS WORD A2 DB 21H,34H MOV AX,B1,4.3.6 字節(jié)分離算符,用于將一個表達式的高字節(jié)和低字節(jié)分開。LOW取的字節(jié),HIGH取高字節(jié)。,MOV AL,HIGH 1234H MOV AH,LOW 1234H MOV AL,LOW 12345 MOV AL,LOW 34*97+8 MOV AL, LOW OFFSET A1,4.3.7 記錄專用算符,1. MASK 2. WIDTH,暫時不講。,4.3.8 算符的優(yōu)先級,表達式求值時,各種運算符的優(yōu)先次序(由高至低)如下: 1)括號內(nèi)的表達式 2)LENGTH,SIZE,WIDTH,MASK 3)PTR,OFFSET,SEG,TYPE 4)HIGH,LOW 5) *,MOD,SHL,SHR 6)十,一 7)EQ,NE,LT,LE,GT,GE 8)NOT 9)AND 10)OR,XOR。 先級別相同時,按出現(xiàn)次序由左至右順序計算。,4.4偽指令,4.4.1 符號定義偽指令 4.4.2 數(shù)據(jù)定義偽指令 4.4.3 段定義偽指令 4.4.4 其他偽指令,4.4.1 符號定義偽指令,1. EQU 等價偽指令 EQU偽指令用來定義一個符號,用該符號代表機器指令助記符、偽指令助記符、寄存器名字、各種運算符號、常數(shù)等。,VAL EQU 100 JIA EQU ADD ADR EQU SI+BX+1000H MOV AL,VAL JIA AL,10 MOV ADR,AL,4.4.1 符號定義偽指令,2. = 等號偽指令 =偽指令用來定義一個符號,用該符號代表表達式、常數(shù)等。,VAL = 100 MOV AL,VAL VAL = 200 MOV AL,VAL VAL = VAL+10 MOV AL,VAL,3.=偽指令與EQU偽指令的差別: =偽指令只能代表表達式或常數(shù),不能是指令助記符等。 EQU定義的符號不能重定義,而=定義的可以。,4.4.2 數(shù)據(jù)定義偽指令,數(shù)據(jù)定義偽指令用來定義一個存儲單元的符號名, 并初始化該單元或由該單元開始的若干連續(xù)單元。 初始化單元就是將一個確定的數(shù)值或不確定的值(在定義語句中用?表示)放入指定的內(nèi)存單元。 數(shù)據(jù)定義偽指令有五種: DB, DW, DD, DQ和DT。只介紹前三種。,1. 字節(jié)定義偽指令DB,000D 03 12 25 41 42 43 FIRST DB 3,18,25H,ABC 0013 2D 0C 1F 06 SECOND DB 3*15,48/4,36-5,26 MOD 10 0017 ? ? 36 FF 1E THIRD DB ?,?,36H,-1,36Q 001C 00051A FOUTH DB 5 DUP (26) 0021 0002000204 0F 7F FIVET DB 2 DUP (2 DUP (4),15),7FH 0027 0003? SIXTH DB 3 DUP (?),2. 字定義偽指令DW,002E 1234 8000 5859 FSTW DW 1234H,-32768,XY 0034 1000 0046 FFE7 SCDW DW 256*16,46H,-25 003A ? 002E R 00FF TRDW DW ?,OFFSET FSTW,255 0040 00030510 FUTW DW 3 DUP (510H),3. 雙字定義偽指令DD,0052 FFFFFFFF00000080 DFST DD 4294967295,80000000H 005A 00801242008012C2 DSCD DD 36.625,-0.36625E+2 0062 0002FF030000 DTRD DD 2 DUP (1023) 006A 4E4D0000 DFUT DD MN 006E 0052 - R DFIV DD DFST,4.4.3. 段定義偽指令,1. 段首定義偽指令 SEGMENT 2. 段結束偽指令 ENDS 3. 段假定偽指令 ASSUME,CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG MOV AX,DSEG MOV AL,DATA1 ADD AL,DATA2 MOV SUM,AL HLT CSEG ENDS,參數(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國建盞行業(yè)市場全景分析及前景機遇研判報告
- 2025-2030年中國型材行業(yè)市場全景調(diào)研及投資價值評估咨詢報告
- 建筑節(jié)能報告用指標的確定
- 稅務師老師講解課件
- 2025年中國智能防火墻行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報告
- 2022-2027年中國帶魚捕撈行業(yè)市場調(diào)查研究及投資戰(zhàn)略研究報告
- 2025年 重慶四聯(lián)特種裝備材料有限公司招聘考試筆試試題附答案
- 中國機動車綜合測試儀行業(yè)市場調(diào)研及投資戰(zhàn)略研究報告
- 2025年 內(nèi)蒙古呼和浩特中航集團信息管理部招聘考試筆試試題附答案
- 2025年 菏澤市省屬公費師范畢業(yè)生專項招聘考試筆試試題附答案
- GB/T 9799-1997金屬覆蓋層鋼鐵上的鋅電鍍層
- GB/T 19139-2012油井水泥試驗方法
- GB/T 18314-2001全球定位系統(tǒng)(GPS)測量規(guī)范
- 工貿(mào)行業(yè)重點可燃性粉塵目錄(2022版)
- 鐵道概論試題及答案重要
- 空間幾何中的平行與垂直 新高考 數(shù)學 一輪復習專項提升 精講精練
- 近代史期末復習試題
- 教學設計 完整版:Summer holiday plans
- 2022年武漢市法院書記員招聘考試題庫及答案解析
- DB34-T 4010-2021 水利工程外觀質(zhì)量評定規(guī)程-高清現(xiàn)行
- 幼兒園大班社會:《京劇》 課件
評論
0/150
提交評論