文档详情

汇编语言程序设计课件.ppt

发布:2025-01-29约5.47千字共27页下载文档
文本预览下载声明

組合語言程式設計4-1 組合語言程式約定組合語言程式: 用組合語言編寫的、完成特定功能的指令序列。組合語言程式: 能將組合語言根源程式轉換成機器語言目標程式的系統軟體。組合語言程式到機器語言程式的轉換過程稱為彙編。1.手工彙編:人工查指令表彙編。用於設計短小程式或調試程式的場合。2.機器彙編:用組合語言程式進行彙編。根源程式使用機器彙編要考慮組合語言程式的約定1)按指令格式和語法規則編寫程式。常數的表示: 十進位數:20 十六進制數:87H,0F0H 二進位數 字元: ‘H’ 字串: “Hello”。2)使用偽指令提供彙編資訊。彙編的主要任務:1)確定程式中每條組合語言指令的指令機器碼。2)確定每條指令在記憶體中的存放地址。3)提供錯誤資訊。 4)提供目標執行檔(*.OBJ/*.HEX)和列表檔(*.LST)。一.組合語言指令類型1.機器指令:指令系統中的全部指令,每條指令有對應的機器代碼。2.偽指令:彙編控制指令,僅提供彙編資訊,沒有指令代碼。一.組合語言指令類型3.宏指令: 宏彙編功能:將需要多次反復執行的程式段定義成一個宏指令名(宏定義),編程時,可在程式中使用宏指令名來替代一段程式(宏調用)。宏定義過程:宏指令名MACRO形式參數 … ;定義程式段 ENDM宏調用過程: … 宏指令名實際參數 … 宏指令名實際參數二.彙編控制指令(偽指令)

常用偽指令及其功能:1.ORG—起始地址指令:指明程式和數據塊起始地址。指令地址機器碼 根源程式 ORG 2000H 2000H7830 MAIN:MOVR0,#30H2002HE6 MOVA,@R0… ORG3000H3000H23 DB23H,100,‘A’3001H643002H 412.DB—定義位元組型常數指令。

例:DB12H,100,‘A’4.EQU—等值。為標號或識別字賦值。

X1 EQU2000H

X2 EQU0FH

MAIN: MOVDPTR,#X1

ADDA,#X25.END—結束彙編指令。例:START:……END START3.DW—定義字型常數指令。

例:DW1234H,5678H4-2組合語言程式設計步驟一.確定方案和計算方法二.瞭解應用系統的硬體配置、性能指標。三.建立系統數學模型,確定控制演算法和操作步驟。四.畫程式流程圖表示程式結構和程式功能五.編制根源程式1.合理分配記憶體單元和瞭解I/O介面地址。2.按功能設計程式,明確各程式之間的相互關係。3.用注釋行說明程式,便於閱讀和修改調試和修改。開始1YN?常用程式結構:

直線程式、分支程式、迴圈程式、副程式 4-3直線程式直線程式又稱簡單程式,程式走向只有一條路徑。雙位元組變補程式(設數據在R4R5中):MOV A,R5 ;取低位元組CPL AADD A,#1 ;低位元組變補MOV R5,AMOV A,R4 ;取高位元組CPL AADDCA,#0 ;高位元組變補MOV R4,A例4-3-4壓縮式BCD碼分解成為單字節BCD碼。MOV R0,#40H ;設指針MOV A,@R0 ;取一個位元組MOV R2,A ;暫存ANL A,#0FH ;清0高半位元組INC R0MOV @R0,A ;保存數據個位MOV A,R2SWAPA ;十位換到低半位元組ANL A,#0FHINC R0MOV @R0,A ;保存數據十位十個4-4 分支程式

由條件轉移指令構成程式判斷框部分,形成程式分支結構。 4-4-2 單重分支程式一個判斷決策框,程式有兩條出路。兩種分支結構:條件滿足?N影響條件Y處理段條件滿足?N影響條件Y處理1處理2例求R2中補數絕對值,正數不變,負數變補。 MOVA,R2 JNBACC.7,NEXT;為正數? CPLA ;負數變補 INCA MOVR2,A

显示全部
相似文档