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

正文內(nèi)容

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

2025-08-25 11:58 本頁面


【正文】 首址 SUB AL,30H SHL AL,1 ;段內(nèi)轉(zhuǎn)移乘以 2,段間轉(zhuǎn)移乘以 4 XOR AH,AH ; AH清零 ADD BX,AX JMP WORD PTR [BX] ;產(chǎn)生多分支轉(zhuǎn)移 A0: LEA DX,S0 ;各分支程序段 MOV AH,9 INT 21H JMP EXIT1 A1: LEA DX,S1 MOV AH,9 INT 21H JMP EXIT1 A2: LEA DX,S2 MOV AH,9 INT 21H JMP EXIT1 ERROR: MOV DX,OFFSET ER MOV AH,9 INT 21H EXIT1: MOV AH,4CH ;返回 DOS INT 21H CODE ENDS END START 167。 用轉(zhuǎn)移表法實(shí)現(xiàn) CASE結(jié)構(gòu)(即多路分支) 用轉(zhuǎn)移表法實(shí)現(xiàn) CASE結(jié)構(gòu)的基本思路:將轉(zhuǎn)到各分支程序的轉(zhuǎn)移指令依次羅列形成一個(gè)轉(zhuǎn)移表,讓 BX指向轉(zhuǎn)移表的首地址,從鍵盤接收或其他方式獲取要轉(zhuǎn)到的分支號(hào),再讓 BX與分支號(hào)進(jìn)行運(yùn)算,使 BX指向?qū)?yīng)轉(zhuǎn)移表中轉(zhuǎn)到該分支的轉(zhuǎn)移指令處,最后即可使用JMP BX指令實(shí)現(xiàn)所要轉(zhuǎn)到的分支;具體見 圖 : ??建立地址表求出分支號(hào)所對(duì)應(yīng)分支在地址表的存放地 址 ,并送 BX接收分支號(hào)JMP BX圖 用轉(zhuǎn)移表法實(shí)現(xiàn)多路分支的結(jié)構(gòu)框圖 例 :編程實(shí)現(xiàn)菜單選擇 , 根據(jù)不同的選擇做不同的事情 。 解:假設(shè)有 3路分支 , 轉(zhuǎn)移表中的轉(zhuǎn)移指令分別為: JMP SHORT A0、JMP SHORT A JMP SHORT A2;具體見 圖 : JMP SHORT A2JMP SHORT A1JMP SHORT A0:TAB:參考程序: 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 shoose 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!$ 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。 JB ERROR CMP AL,39。239。 JA ERROR LEA BX,TAB ;取地址表首址 SUB AL,30H SHL AL,1 ;短轉(zhuǎn)移乘以 2,近轉(zhuǎn)移乘以 3,遠(yuǎn)轉(zhuǎn)移乘以 5 XOR AH,AH ; AH清零 ADD BX,AX JMP BX ;產(chǎn)生多分支轉(zhuǎn)移 TAB: JMP SHORT A0 ;轉(zhuǎn)移表 JMP SHORT A1 JMP SHORT A2 A0: LEA DX,S0 ;各分支程序段 MOV AH,9 INT 21H JMP EXIT1 A1: LEA DX,S1 MOV AH,9 INT 21H JMP EXIT1 A2:LEA DX,S2 MOV AH,9 INT 21H JMP EXIT1 ERROR: MOV DX,OFFSET ER MOV AH,9 INT 21H EXIT1: MOV AH,4CH ;返回 DOS INT 21H CODE ENDS END START 167。 循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 167。 循環(huán)程序的組成 如置 循環(huán)次數(shù)的計(jì)數(shù)值 , 以及為循環(huán)體正常工作的初始狀態(tài)等; 這是循環(huán)的工作主體 , 它由循環(huán)的工作部分及修改部分組成 。 它是循環(huán)程序設(shè)計(jì)的關(guān)鍵,每一個(gè)循環(huán)程序必須選擇一個(gè)循環(huán)控制條件來控制循環(huán)的運(yùn)行和結(jié)束 ,通常有兩種方法控制循環(huán):用計(jì)數(shù)控制循環(huán) ,用條件控制循環(huán) 167。 循環(huán)程序的結(jié)構(gòu)形式 循環(huán)程序有兩種結(jié)構(gòu) , 一種是 DOWHILE結(jié)構(gòu)形式 ,另一種是 DOUNTIL結(jié)構(gòu) 形式 。 具體見圖 : DOWHILE結(jié)構(gòu)把對(duì)循環(huán)控制條件的判斷放在循環(huán)的入口 , 先判斷條件 , 滿足條件就執(zhí)行循環(huán)體 , 否則退出循環(huán) 。 DOUNTIL結(jié)構(gòu)是先執(zhí)行循環(huán)體然后再判斷控制條件 ,不滿足條件則繼續(xù)執(zhí)行循環(huán)操作 , 一旦滿足條件則退出循環(huán) 。 一般講 , 如果循環(huán)次數(shù)等于 0的可能 , 則應(yīng)選擇 DOWHILE結(jié)構(gòu) , 否則用 DOUNTIL結(jié)構(gòu) 。 DO(當(dāng)型循環(huán),當(dāng)條件成立進(jìn)入循環(huán))循環(huán)體N循環(huán)條件判斷?Y循環(huán)初始設(shè)置(直到型循環(huán),直到條件成立退出循環(huán))YNDOUNTIL循環(huán)條件判斷?循環(huán)體循環(huán)初始設(shè)置圖 循環(huán)程序的結(jié)構(gòu)形式 167。 循環(huán)控制的方法 這種方法直觀 、 方便 , 易于程序設(shè)計(jì) 。 只要在編制程序時(shí) ,循環(huán) 次數(shù)已知 , 就可以使用這種方法設(shè)計(jì)循環(huán)程序 。 然而更多的循環(huán)程序 , 在編制 程序時(shí)并不能確切知道循環(huán)次數(shù) , 但是知道循環(huán)次數(shù)是前面運(yùn)算或操作的結(jié)果或者被存放在某內(nèi)存單元中 。 例 : 試編制程序統(tǒng)計(jì)字節(jié)變量 VAR中 1的個(gè)數(shù),并將它存入 COUNT單元中。 解:要測(cè)試出 VAR中 1的個(gè)數(shù)就應(yīng)該逐位進(jìn)行測(cè)試 , 可根據(jù)最低位是否為 1來計(jì)數(shù) , 然后用移位的辦法把各位數(shù)逐次移到最低位去 ,共需要測(cè)試 8次 。 程序流程如 圖 : YN ( C X ) = (CX )1A L邏 輯右移一位NCX=0?結(jié) 束Y( BL )= (B L) +1C OU NT ←( BL)循環(huán)次數(shù) CX←0計(jì)數(shù)初值 BL←0 AL←VAR開 始A L最 低位是否為1?圖 例 參考程序: DATA SEGMENT VAR DB 37H COUNT DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA BEGIN: MOV AX,DATA MOV DS,AX MOV AL,VAR ; AL←VAR 的值 MOV CX,8 ;賦循環(huán)初值 XOR BL,BL ;賦計(jì)數(shù)器初值 LL: TEST AL,1 ;測(cè)試 AL的最低位 JZ LL1 ;最低位為 0轉(zhuǎn) LL1 INC BL ;計(jì)數(shù)器加 1 LL1: SHR AL,1 ;邏輯
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1