IBM-PC匯編語言程序設(shè)計(jì)第四章匯編語言程序格式課件_第1頁
IBM-PC匯編語言程序設(shè)計(jì)第四章匯編語言程序格式課件_第2頁
IBM-PC匯編語言程序設(shè)計(jì)第四章匯編語言程序格式課件_第3頁
IBM-PC匯編語言程序設(shè)計(jì)第四章匯編語言程序格式課件_第4頁
IBM-PC匯編語言程序設(shè)計(jì)第四章匯編語言程序格式課件_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、4.1 匯編程序功能4.2 偽操作4.3 匯編語言程序格式4.4 匯編語言程序的上機(jī)過程第4章 匯編語言程序格式4.1 匯編程序功能第4章 匯編語言程序格式把一個(gè)長(zhǎng)度為8的字符串從源緩沖區(qū)轉(zhuǎn)送到目的緩沖區(qū)中data1 segment source_buffer db personal data1 endsdata2 segment dest_buffer db 8 dup(?)data2 endscode1 segment assume cs:code1,ds:data1,es:data2start: mov ax,data1 mov ds,ax mov ax,data2 mov es,ax

2、lea si,source_buffer lea di,dest_buffer cld mov cx,8 rep movsbexit: mov ah,4ch int 21hcode1 ends end start把一個(gè)長(zhǎng)度為8的字符串從源緩沖區(qū)轉(zhuǎn)送到目的緩沖區(qū)中data11. 匯編程序功能匯編程序的主要功能: 檢查源程序,給出出錯(cuò)信息。 產(chǎn)生目標(biāo)文件(.obj)和列表文件(.lst)。 展開宏指令。1. 匯編程序功能匯編程序的主要功能:2. 程序運(yùn)行步驟及生成的文件myfile.asm編輯程序匯編程序連接程序myfile.crfotherfiles.objmyfile.lstmyfile.ob

3、jmyfile.mapmyfile.exe2. 程序運(yùn)行步驟及生成的文件myfile.asm編輯程序建立, 運(yùn)行匯編語言程序過程1、編寫匯編源代碼asm文件2、用匯編程序(masm.exe) 源代碼匯編成目標(biāo)代碼obj文件3、用連接程序(link.exe)將目標(biāo)程序連接成可執(zhí)行程序exe文件4、執(zhí)行程序。上機(jī)過程:CMASM test1. ASMCLINK test1 . OBJCtest1.exe建立, 運(yùn)行匯編語言程序過程1、編寫匯編源代碼asm文件3. 偽操作(偽指令) 偽操作是匯編程序?qū)υ闯绦蜻M(jìn)行匯編時(shí)處理的操作,完成處理器選擇、存儲(chǔ)模式定義、數(shù)據(jù)定義、存儲(chǔ)器分配、指示程序開始結(jié)束等功

4、能。偽指令是命令匯編編譯器執(zhí)行某種操作的;指令是命令CPU執(zhí)行某種操作的。3. 偽操作(偽指令) 偽操作是匯編程序?qū)υ?1) 段定義偽操作:segment和ends段名 SEGMENT ; 語句序列段名 ENDS格式:例如:(1) 段定義偽操作:segment和ends段名 SEGdata segment ; 定義數(shù)據(jù)段 data ends;-extra segment ; 定義附加段 extra ends;-code segment ; 定義代碼段 assume cs:code, ds:data, es:extrastart: mov ax, data mov ds, ax ; 段地址 段寄

5、存器 code ends end startdata segment ; 定義數(shù)據(jù)段(2) 明確段和段寄存器的關(guān)系偽操作:assume格式:assume 分配情況1,分配情況2,分配情況1格式為:段寄存器名:段名說明:例如:(2) 明確段和段寄存器的關(guān)系偽操作:assume格式:asEND 標(biāo)號(hào) (3) 源程序結(jié)束偽操作:end格式:說明: end表示結(jié)束匯編,因此必須放 在源程序末尾。 “標(biāo)號(hào)”應(yīng)指向程序起始地址, 在主模塊中必須指定,在子模 塊中可以不指定。例如:END 標(biāo)號(hào) (3) 源程序結(jié)束偽操作:end(4)數(shù)據(jù)定義及存儲(chǔ)器分配偽操作:DB、DW變量名 助記符 操作數(shù) , 操作數(shù) ,

6、 助記符:DB DWDATA_BYTE DB 10,4,10H,?DATA_WORD DW 100,100H,-5,? - 0AH 04H 10H - 64H 00H 00H 01H FBH FFH -DATA_BYTE DATA_WORD 例4.7:(4)數(shù)據(jù)定義及存儲(chǔ)器分配偽操作:DB、DW變量名 ARRAY DB HELLO DB AB DW AB 48H 45H 4CH 4CH 4FH 41H 42H 42H 41H ARRAY VAR DB 100 DUP (?) DB 2 DUP (0,1,2,?)例4.8:例4.10:ARRAY DB HELLO 48H 45H 4CHOPER1

7、 DB ?, ?OPER2 DW ?, ? MOV OPER1, 0 ;字節(jié)指令 MOV OPER2, 0 ;字指令OPER1 DB 1, 2OPER2 DW 1234H, 5678H MOV AX, OPER1+1 MOV AL, OPER2 類型不匹配 MOV AX, WORD PTR OPER1+1 MOV AL, BYTE PTR OPER2(AX)=3402H (AL)=34HOPER1 DB ?, ?(AX)=3402H (5)表達(dá)式賦值偽操作:equ和=表達(dá)式名 EQU 表達(dá)式ALPHA EQU 9BETA EQU ALPHA+18BB EQU BP+8 格式:例如:(5)表達(dá)式

8、賦值偽操作:equ和=表達(dá)式名 EQU (6) 地址計(jì)數(shù)器與對(duì)準(zhǔn)偽操作:地址計(jì)數(shù)器 $ :保存當(dāng)前的偏移地址例如:JNE $+6 ;轉(zhuǎn)向地址是 JNE 的首址 +6ARRAY DW 1, 2 , $+4 , 3 , 4 , $+4 00H 01H 00H 02H 00H 7CH 00H 03H 00H 04H 00H 82H ARRAY 007E00780074例4.17:假設(shè)ARRAY單元的首偏移地址為0074H(6) 地址計(jì)數(shù)器與對(duì)準(zhǔn)偽操作:地址計(jì)數(shù)器 $ :保存當(dāng)前的4. 匯編語言程序格式標(biāo)號(hào) 指令 寄存器 說明程序或語句變量 偽指令 標(biāo)號(hào) 的功能 宏指令 變量 常數(shù) 表達(dá)式源程序的每條

9、語句格式: 名字 操作 操作數(shù) ; 注釋標(biāo)號(hào)/變量:段值、偏移量、類型三種屬性 表達(dá)式:數(shù)字表達(dá)式 地址表達(dá)式舉例說明4. 匯編語言程序格式標(biāo)號(hào) 指令 寄存器 匯編源程序結(jié)構(gòu)及格式由若干各段組成,最少要有一個(gè)代碼段。代碼段用來存放指令,其它段用來存放數(shù)據(jù)。每條語句占一行,一行只能放一條語句,分號(hào)表示注釋,一行內(nèi)分號(hào)以后的內(nèi)容為注釋,不匯編。源程序以end偽指令結(jié)束匯編,因此end以后若有程序是沒有意義的。源程序以end后的標(biāo)號(hào)地址為源程序起始地址。源程序結(jié)束時(shí)應(yīng)加上終止程序返回DOS語句,否則程序不能正常終止。例如匯編源程序結(jié)構(gòu)及格式由若干各段組成,最少要有一個(gè)代碼段。例如(1) 算術(shù)操作符: 、 、 、ModVIDEO_BUF DB 25*80*2 DUP(?)ARRAY DW 1,2,3,4,5,6,7ARYEND DW ? MOV CX, (ARYEND-ARRAY)/2ADD AX, BLOCK+2 ; 符號(hào)地址常數(shù) 有意義 ; 時(shí)意義不明確MOV AX, BX+1 ; MOV AX, BX+1 ; 寄存器間接尋址例4.1819(1) 算術(shù)操作符: 、 、 、ModVID(2) 數(shù)值回送操作符: OFFSET、SEGOFFSET / SEG 變量 / 標(biāo)號(hào)功能:回送變量或標(biāo)號(hào)的偏址 / 段

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論