freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

編制匯編語言源程序時(shí),首先要使用段定義偽指令和段尋址(已修改)

2024-10-14 11:58 本頁面
 

【正文】 167。 匯編語言源程序的框架結(jié)構(gòu) 編制匯編語言源程序時(shí) , 首先要使用段定義偽指令和段尋址偽指令來構(gòu)造一個(gè)由若干指令和數(shù)據(jù)組成的程序 。 構(gòu)造一個(gè)源程序的框架結(jié)構(gòu)有如下兩種格式: 第一種格式: …… MOV AH,4CH ;返回 DOS INT 21H CODE ENDS END BEGIN 第 5章 8086/8088匯編語言程序設(shè)計(jì) 第二種格式: …… RET ;取程序段前綴首地址 MAIN ENDP CODE ENDS END BEGIN 區(qū)別:兩種格式的本質(zhì)區(qū)別在于返回 DOS的方法不同: 對(duì)于第一種格式 , 采用了調(diào)用 DOS系統(tǒng)的 4CH功能 , 返回 DOS。具體方法是:在要返回 DOS處 , 安排如下兩條指令: MOV AH,4CH INT 21H 對(duì)于第二格式, DOS返回方法是調(diào)用 20H類型的中斷服務(wù)程序。 167。 順序結(jié)構(gòu)程序設(shè)計(jì) 順序程序結(jié)構(gòu)是指完全按照順序逐條執(zhí)行的指令序列,這種結(jié)構(gòu)的流程圖除了有一個(gè)開始框和結(jié)束框外,就是若干處理框,沒有判斷框,如圖 。 圖 順序程序的結(jié)構(gòu)形式 語 句 3語 句 2結(jié)束開始語 句 1例 : 試分別用匯編語言源程序的兩種框架結(jié)構(gòu)編制程序,求出表達(dá)式: (X 4- Y) /2的值,并保存到 RESULT存儲(chǔ)單元中,其中 X, Y均為字節(jié)變量 。 解:完成該功能的流程圖 如圖 : 圖 例 Z←(AL )AL←(A L)/2AL←(A L)( Y)AL←(A L)4AL←(X )結(jié)束開始參考程序 1: DATA SEGMENT ;數(shù)據(jù)段 X DB 2 Y DB 4 Z DB ? ;定義變量 DATA ENDS STACK SEGMENT PARA STACK DW 20H DUP( 0) STACK ENDS CODE SEGMENT ;代碼段 ASSUME CS:CODE,DS:DATA,SS:STACK BEGIN: MOV AX, DATA MOV DS, AX ; DS賦初值 MOV AL, X ; AL←X MOV CL, 2 SAL AL, CL ; AL←X 4 SUB AL, Y ; AL←X 4- Y SAR AL, 1 ; AL←(X 4- Y)/2 MOV Z, AL ;存結(jié)果 MOV AH, 4CH ;返回 DOS INT 21H CODE ENDS END BEGIN 參考程序 2: DATA SEGMENT X DB 2 Y DB 4 Z DB ? DATA ENDS STACK SEGMENT PARA STACK DW 20H DUP( 0) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK PROC1 PROC FAR ;使 RET為遠(yuǎn)返回 END BEGIN BEGIN: PUSH DS ;入棧保存地址 MOV AX, 0 ;程序段前綴的首地址 PUSH AX MOV AX, DATA MOV DS, AX MOV AL, X ; AL←X MOV CL, 2 SAL AL, CL ; AL←X 4 SUB AL, Y ; AL←X 4- Y SAR AL, 1 ; AL←(X 4- Y)/2 MOV Z, AL ;存結(jié)果 RET ;取程序段前綴首地址 PROC1 ENDP CODE ENDS 167。 分支結(jié)構(gòu)程序設(shè)計(jì) 分支程序結(jié)構(gòu)可以有兩種形式,如圖 ,它們分別相當(dāng)于高級(jí)語言程序中的 IFTHENELSE語句和 CASE語句,它們適用于要根據(jù)不同條件做不同處理的情況。 ?? 語句2 判定條件語句1CASE結(jié)構(gòu)語句n  IFTHENELSE結(jié)構(gòu)語句2 判定條件語句1167。 用比較 /測(cè)試的方法實(shí)現(xiàn) IFTHENELSE結(jié)構(gòu) 實(shí)現(xiàn)方法:在產(chǎn)生分支之前,通常用比較、測(cè)試的辦法在標(biāo)志寄存器中設(shè)置相應(yīng)的標(biāo)志位,然后再選用適當(dāng)?shù)臈l件轉(zhuǎn)移指令,以實(shí)現(xiàn)不同情況的分支轉(zhuǎn)移。 ( 1) 進(jìn)行比較 , 使用比較指令: CMP DEST, SRC 該指令進(jìn)行減法操作 , 而不保存結(jié)果 , 只設(shè)置標(biāo)志位 。 ( 2) 進(jìn)行測(cè)試 , 使用測(cè)試指令 TEST DEST, SRC 該指令進(jìn)行邏輯與操作 , 而不保存結(jié)果 , 只設(shè)置標(biāo)志位 。 167。 用地址表法實(shí)現(xiàn) CASE結(jié)構(gòu)(即多路分支) 用地址表法實(shí)現(xiàn) CASE結(jié)構(gòu)的基本思路是:將各分支程序的入口地址依次羅列形成一個(gè)地址表,讓BX指向地址表的首地址,從鍵盤接收或其他方式獲取要轉(zhuǎn)到的分支號(hào),再讓 BX與分支號(hào)進(jìn)行運(yùn)算,使BX指向?qū)?yīng)分支入口地址,最后即可使用 JMP WORD PTR [BX] 或 JMP DWORD PTR [BX] 指令實(shí)現(xiàn)所要轉(zhuǎn)到的分支;程序設(shè)計(jì)流程圖如 圖 示: ??建立地址表求出分支號(hào)所對(duì)應(yīng)分 支在地址表的存放 地址,并 送BX接收分支號(hào) JMPWORD/DWORD PTR [BX]圖 用地址表法實(shí)現(xiàn)多路分支的結(jié)構(gòu)框圖 例 :編程實(shí)現(xiàn)菜單選擇,根據(jù)不同的選擇做不同的事情。 解:假設(shè)有 3路分支,在地址表中的入口地址分別: A0、 AA2;具體見圖 : A2HA2LA1HA1LA0H:TABA0L:參考程序: DATA SEGMENT MENU DB 0DH,0AH,0:Chinese! DB 0DH,0AH,1:English! DB 0DH,0AH,2: German! DB 0DH,0AH,Please choose one to answer the following question:$ ER DB 0DH,0AH,I am sorry,you choose the mistake!$ S0 DB 0DH,0AH,OK,Please answer in Chinese!$ S1 DB 0DH,0AH,OK,Please answer in English!$ S2 DB 0DH,0AH,OK,Please answer in German!$ TAB DW A0,A1,A2 ;地址表 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA DX,MENU ;顯示菜單 MOV AH,9 INT 21H MOV AH,1 ; 1號(hào) DOS功能調(diào)用 , 接收分支號(hào) INT 21H CMP AL,39。039。 ;進(jìn)行合法判斷 JB ERROR CMP AL,39。239。 JA ERROR LEA BX,TAB ;取地址表
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1