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

正文內(nèi)容

[高等教育]c第4章匯編語言程序設(shè)計-文庫吧資料

2025-01-25 18:26本頁面
  

【正文】 MOV DX,0 LP:MOV AH,BUF[BX] CMP AH,30H JL NEXT CMP AH,39H JG ABC INC DH JMP NEXT ABC: CMP AH,41H JL NEXT CMP AH,5AH JG NEXT INC DL NEXT: INC BX DEC CH JNZ LP MOV NUM,DH MOV NUM+1,DL MOV AH,BUF SUB AH,DH SUB AH,DL MOV NUM+2,AH RET CODE ENDS END START 59 循環(huán)結(jié)構(gòu) 入 口初 始 化 部 分循 環(huán) 體修 改 參 數(shù)循 環(huán) 控 制出 口入 口初 始 化 部 分出 口循 環(huán) 體循 環(huán) 控 制修 改 參 數(shù)( a ) “ 先 執(zhí) 行 ,后 判 斷 ” 結(jié) 構(gòu) ( b ) “ 后 執(zhí) 行 ,先 判 斷 ” 結(jié) 構(gòu)60 循環(huán)結(jié)構(gòu) 無論哪種循環(huán)結(jié)構(gòu)都包括四部分: ? 初始化: 為循環(huán)做準(zhǔn)備,設(shè)置循環(huán)計數(shù)值,設(shè)置變 量初值。 返回 DOS INT 21H 。 AND AL,0FH MOV BX,OFFSET TABLE XLAT 。 MOV DX,OFFSET BUF MOV AH,9 INT 21H 。 DATA ENDS 55 程序(續(xù)) 。,0DH,0AH,39。 數(shù)據(jù)段定義 DATA SEGMENT TABLE DB 0,1,4,9,16,25,36,49,64,81 BUF DB 39。 51 有關(guān)的文件類型 1. 源程序文件: 擴(kuò)展名為 .ASM 2. 目標(biāo)文件: 擴(kuò)展名為 .OBJ 3. 列表文件: 擴(kuò)展名為 .LST 4. 交叉參考文件: 擴(kuò)展名為 .CRF 5. 可執(zhí)行文件: 擴(kuò)展名為 .EXE 6. 映像文件: 擴(kuò)展名為 .MAP 7. 庫文件: 擴(kuò)展名為 .LIB 52 模塊化設(shè)計方法 ? 模塊化設(shè)計方法 ? ? 自頂向下,逐步細(xì)化 ? ? 結(jié)構(gòu)化編碼方法 ? 順序 、 分支 、 循環(huán) 三種基本結(jié)構(gòu) ? 順序程序設(shè)計 指令指針 IP值 線性增加 ? 條件程序設(shè)計 IP值受標(biāo)志位的影響而 跳變 ? 循環(huán)程序設(shè)計 IP值受計數(shù)器 CX中的值不為零而 循環(huán) 53 順序結(jié)構(gòu) (直線型結(jié)構(gòu) ) ? 例 4. 64 : ? 內(nèi)存中 TABLE開始存放 0~ 9的平方值,通過人機對話,當(dāng)任給定一個數(shù) X (0~ 9),查表得 X的平方值,放在 AL中。預(yù)置源數(shù)據(jù)的指針 示 例 定義存儲單元的數(shù)據(jù) 偽指令 定義堆棧 段定義語句 指令 47 MOV CX, CC ;預(yù)置次數(shù) LODS BYTE PTR [SI] ;取一個數(shù)并修改指針 MOV AH, 0 ;清 AX的高字節(jié) CLC ;清 CF位 AGAN: ADC SUM, AX ;累加 LODS BYTE PTR [SI] ;再取數(shù)并修改指針 LOOP AGAN ;控制循環(huán) MOV AH, 4CH ; 完成 , 返回 DOS INT 21H CODE ENDS ; 代碼段結(jié)束 END BEGIN ; 整個程序結(jié)束 段定義 匯編程序結(jié)束 48 關(guān)于返回 DOS ? 在 DOS環(huán)境下運行 MASM86匯編語言程序,如不能正確返回 DOS,則會出現(xiàn) 死循環(huán)或死機 。對各段進(jìn)行說明 BEGIN: MOV AX, DATA 。堆棧段定義結(jié)束 CODE SEGMENT 。定義堆棧段 DB 100 DUP ( ? ) 。為結(jié)果保留一個字 DATA ENDS 。連續(xù)的字節(jié)單元 CC EQU $- D1 。 45 匯編源程序的基本結(jié)構(gòu)形式 ? 模塊 和 段 ? 一個匯編 ? 模塊 ? 可以包含一個或幾個長度小于64KB的 ? 段 ? ? 8086只有 4個 段寄存器( CS、 DS、 SS和 ES) ? CS: 程序段 ? DS: 數(shù)據(jù)段 ? SS: 堆棧段 ? ES: 附加段 (可選 ) 46 DATA SEGMENT 。一個大的匯編源程序可以由多個 ? 模塊 ? 組成,而每個模塊則由一個或多個 ? 段 ? 構(gòu)成。 換行符 的 ASCII碼為 0AH MOV AH, 02H INT 21H MOV DL, 0DH 。 調(diào)用 DOS功能輸入以回車鍵結(jié)尾的字符串 MOV DX, OFFSET STRIN MOV AH, 0AH INT 21H 。 ? 此語句本身并不占內(nèi)存。 五、程序開始和結(jié)束偽指令 結(jié)束語句 END ? 語句格式: END [標(biāo)號 ] ? 放在程序的最后一行,每個模塊只有一個 END,匯編程序到 END語句停止匯編。 代碼段結(jié)束 36 NAME偽指令 ? 語句格式: NAME 模塊名 ? NAME偽指令用于給匯編后得到的目標(biāo)程序一個名字。 SUB2結(jié)束 …… 。 名為 SUB2的 NEAR過程開始 … RET 。 返回 SUB1 ENDP 。 代碼段中的其它語句 ( 主程序 ) SUB1 PROC FAR 。類別必須用單引號括起來。 ?MEMORY:同 PUBLIC連接程序?qū)⒈径味ㄎ辉诒贿B接在一起的其它所有段之上。 ?COMMON:本段與其它 同名同類別段重疊 ,段基址與最后定義的相同,長度為同名段中最大段的長度。連接的先后次序由連接命令指定。 ?NONE:本段與其它段邏輯上 不發(fā)生關(guān)系 ,每段都有自己的基地址 (缺省選擇 )。 ?BYTE:段起始地址為 任意值 ,即從任何地址開始都行。 ?PARA:段起始地址的 最低 4位 必須為 0。 PP = 89FBH ? 等號語句 與 EQU語句 的相同點在于 :符號 而非變量,故用 EQU、 = 定義的符號 不占用存儲器單元 ? 區(qū)別在于 :等號語句 可以在同一源程序中 重復(fù)定義 符號而 無需解除 30 三、 段定義 偽指令 ? 段定義語句 SEGMENT / ENDS ? 用于對 DS、 ES、 SS、 CS 段的定義 ? 語句格式: 段名 SEGMENT [ 定位類型 ] [ 組合類型 ] [?類別標(biāo)識符 ’ ] …… 段名 ENDS ? ENDS必須與 SEGMENT成對出現(xiàn),且段名必須一致。 用 M代替 MOV指令助記符 A1 EQU [BX+SI] 。 例: FIRST EQU THIS BYTE TABLE DW 200 DUP(?) 22 ? SHORT 格式: SHORT 標(biāo)號 例: JMP SHORT NEXT ? HIGH/ LOW 格式: HIGH/ LOW 變量或標(biāo)號 例: HIGH 12A0H = 12H ;高字節(jié) LOW 12A0H = 0A0H ;低字節(jié) 23 偽指令語句 ? 8086宏匯編語言 ,包括 ? 數(shù)據(jù)定義偽指令 : DB,DW,DD,DQ,DT ? 符號定義偽指令 : EQU = ? 段定義偽指令 : SEGMENT, ENDS ? 過程定義偽指令 :PROC, ENDP ? 程序開始和結(jié)束偽指令 : NAME, ORG, END ? 等 24 一、數(shù)據(jù)定義偽指令
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1