微機(jī)原理與接口技術(shù) 第6章
《微機(jī)原理與接口技術(shù) 第6章》由會員分享,可在線閱讀,更多相關(guān)《微機(jī)原理與接口技術(shù) 第6章(46頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、第 6章 匯 編 語 言 程 序 設(shè) 計(jì) 用 匯 編 語 言 編 程 屬 結(jié) 構(gòu) 化 程 序 設(shè) 計(jì) 。 需 按 照 結(jié) 構(gòu) 化 的 思 想 來 進(jìn) 行 匯 編 程序 的 設(shè) 計(jì) 分析題意,確定算法根據(jù)算法畫出程序框圖根據(jù)框圖編寫程序上機(jī)調(diào)試程序執(zhí)行程序按 照 自 上 而 下 的 設(shè) 計(jì) 方 法 , 設(shè) 計(jì) 一 個(gè) 匯 編 程 序 的 步 驟 : 順序程序 分支程序 循環(huán)程序從 結(jié) 構(gòu) 上 來 講 , 一 般 的 匯 編 程 序 可 分 為 : Eg:從 鍵 盤 輸 入 一 個(gè) 字 符 并 存 儲 到 字 節(jié) 變量 BUF單 元 中 .分 析 : 用 DOS功 能 調(diào) 用 完 成 鍵 入 ,
2、輸 入 的 字 符 保 存 在 AL寄 存 器 中 將 AL中 的 內(nèi) 容 存 到 定 義 在 數(shù) 據(jù) 段 的 變 量 BUF所 指 單 元 中 順 序 程 序 設(shè) 計(jì) .486DATA SEGMENT USE16 BUF DB ?DATA ENDS源 程 序 清 單 :CODE SEGMENT USE16 ASSUME CS : CODE , DS : DATABEG: MOV AX , DATAMOV DS , AXMOV AH , 1INT 21H ;AL=鍵 入 字 符 的MOV BUF , AL ASIIC碼MOV AH , 4CHINT 21HCODE ENDSEND BEG 分
3、支 程 序 設(shè) 計(jì) 轉(zhuǎn) 移 指 令 可 用 來 實(shí) 現(xiàn) 分 支 程 序 設(shè) 計(jì)分 支 程 序 分 三 種 : 簡 單 分 支 復(fù) 合 分 支 多 分 支 簡 單 分 支 即 兩 路 分 支 , 該 分 支 程 序 結(jié) 構(gòu) 為 :條 件 滿 足 否 ?程 序 段 1 程 序 段 2Y N Eg: 將 BX寄 存 器 的 內(nèi) 容 以 二 進(jìn) 制 數(shù) 格 式 顯 在屏 幕 上 BX=1110010011100110B 簡 單 分 支 RCL 0SALROL CF CF CF 486CODE SEGMENT USE16 ASSUME CS:CODE BEG: MOV BX,5678H MOV CX,1
4、6 LAST: MOV AL,0 ROL BX,1 JNC NEXT MOV AL,1 NEXT: MOV AH,0EH INT 10H LOOP LAST MOV AH,4CH INT 21H CODE ENDS END BEG ADC AL,0 數(shù) BX,16 CXC標(biāo) =? 1 AL調(diào) BIOS.0EHCX-1 CXCX=0 0 ALBX左 移 一 位10N Y返 DOS 源 程 序 清 單 : 復(fù) 合 分 支判 斷 的 條 件 是 復(fù) 合 條 件 , 稱 復(fù) 合 判 斷 復(fù) 合 分 支 程 序 結(jié) 構(gòu) 為 :條 件 1和 條 件 2.滿 足 否 ?程 序 段 1 程 序 段 2Y N
5、Eg:某 科 室 9人 , 統(tǒng) 計(jì) 月 收 入 在 800900間 的 人 數(shù) , 并 用 十 進(jìn) 制 數(shù) 顯 示 復(fù) 合 分 支 分 析 : 月 收 入 是 無 符 號 數(shù) , 對 一 批 數(shù) 處 理 應(yīng) 該 用 間 址 。 數(shù) 軸 : N1 (800) N2 (900) 多 分 支判 斷 條 件 后 有 多 個(gè) 出 口 , 判 斷 一 次 只 能 選 擇一 個(gè) 分 支 。 多 分 支 程 序 結(jié) 構(gòu) 為 :1 條 件 屬 哪 種情 況 ?程 序 段 1 程 序 段 n+m. .程 序 段 nn n+m 例 .多 分 支 段 內(nèi) 轉(zhuǎn) 移要 求 : 鍵 入 0, 轉(zhuǎn) P0程 序 段 鍵 入 1
6、, 轉(zhuǎn) P1程 序 段 鍵 入 9, 轉(zhuǎn) P9程 序 段思 路 : 用 比 較 指 令 配 合 直 接 轉(zhuǎn) 移 指 令 實(shí) 現(xiàn) CMP 鍵 入 字 符 , 0 JE P0 CMP 鍵 入 字 符 , 1 JE P1 用 轉(zhuǎn) 移 地 址 表 配 合 間 接 轉(zhuǎn) 移 指 令 實(shí) 現(xiàn) 多 分 支 486DATA SEGMENT USE16TAB DW P0, P1, , P9 ;匯 編 后 自 動 裝 入 相 應(yīng) 的 偏 移 地 址MESG DB 0DH,0AH,strike 09:$DATA ENDSCODE SEGMENT USE16 ASSUME CS:CODE,DS:DATABEG: MOV
7、 AX,DATA MOV DS,AXAGA: MOV AH,9 MOV DX,OFFSET MESG INT 21H MOV AH,1 INT 21H CMP AL,0 JC AGA CMP AL,9JA AGASUB AL,30HMOVZX BX,ALADD BX,BX;2 BXBXMOV SI,OFFSET TABJMP BX+SI;DS:BX+SI IPP0: P1: P9: CODE ENDS END BEG 或 :MOV BX,BX+SI JMP BX ;BX IP源 程 序 清 單 : 循 環(huán) 程 序 設(shè) 計(jì)循 環(huán) 程 序 的 組 成 : 循 環(huán) 準(zhǔn) 備 循 環(huán) 體 循 環(huán) 控 制
8、 1. 循 環(huán) 程 序 的 結(jié) 構(gòu)Y預(yù) 置 循 環(huán) 次 數(shù)其 他 準(zhǔn) 備 工 作循 環(huán) 體循 環(huán) 減 1計(jì) 數(shù)退 出 循 環(huán)結(jié) 果 為 0?N (a)單循環(huán)結(jié)構(gòu) (b) 雙循環(huán)結(jié)構(gòu)結(jié) 果 為 0?循 環(huán) 體內(nèi) 循 環(huán) 減 1計(jì) 數(shù)結(jié) 果 為 0?外 循 環(huán) 減 1計(jì) 數(shù)退 出 循 環(huán)預(yù) 置 外 循 環(huán) 次 數(shù)其 他 準(zhǔn) 備 工 作預(yù) 置 內(nèi) 循 環(huán) 次 數(shù)其 他 準(zhǔn) 備 工 作NN YY Eg: 假 設(shè) 從 BUF單 元開 始 為 一 個(gè) ASCII碼 字 符 串 ,找 出 其 中的 最 大 數(shù) 送 屏 幕 顯示 。 循 環(huán) 程 序 設(shè) 計(jì)思 路 : ASC 碼 數(shù) 為 無 符 號數(shù) , 無
9、符 號 數(shù) 的 最 小 數(shù) 為 0 Y NN 數(shù) 據(jù) 區(qū) 首 址 DS:BX無 符 號 最 小 數(shù) AL數(shù) 據(jù) 個(gè) 數(shù) CXBX ALBX=AL?BX+1 BXCX-1 CX顯 示 結(jié) 果返 回 DOSCX=0?Y 486 DATA SEGMENT USE16 BUF DB QWERTYUIOP123 COUNT EQU $ -BUF;統(tǒng) 計(jì) 串 長 度 MAX DB MAX=,?,0DH,0AH,$ DATA ENDS CODE SEGMENT USE16 ASSUME CS:CODE,DS:DATA BEG: MOV AX,DATA MOV DS,AX MOV AL,0 ;無 符 號 最
10、小 數(shù) 0 AL LEA BX,BUF ;串 首 址 偏 移 量 BX MOV CX,COUNT ;串 長 度 CX LAST: CMP BX,AL;比 較 JC NEXT MOV AL,BX;大 數(shù) ALNEXT: INC BX LOOP LAST ;循 環(huán) 計(jì) 數(shù) MOV MAX+4,AL ;最 大 數(shù) MAX+4 單 元 MOV AH,9 MOV DX,OFFSET MAX INT 21H ;顯 示 結(jié) 果 MOV AH,4CH INT 21H ;返 回 DOSCODE ENDS END BEG 源 程 序 清 單 1: 486DATA SEGMENT USE16BUF DB QWERT
11、YUIOP123FLAG DB 1 ;設(shè) 置 串 結(jié) 束 標(biāo) 志MAX DB MAX=,?,0DH,0AH,$DATA ENDSCODE SEGMENT USE16 ASSUME CS:CODE,DS:DATABEG: MOV AX,DATA MOV DS,AX MOV AL,0 ;無 符 號 最 小 數(shù) 0 AL LEA BX,BUF ;串 首 址 偏 移 量 BXLAST: CMP BYTE PTR BX, -1 ;BX=串 結(jié) 束 標(biāo) 志 ? JE DISP ;是 ,轉(zhuǎn) CMP BX,AL JC NEXT MOV AL,BX ;大 數(shù) ALNEXT: INC BX JMP LASTDIS
12、P: MOV MAX+4,AL ;最 大 數(shù) MAX+4 單 元 MOV AH,9 MOV DX,OFFSET MAX INT 21H ;顯 示 結(jié) 果 MOV AH,4CH INT 21H ;返 回 DOSCODE ENDS END BEG 源 程 序 清 單 2: 匯 編 程 序 設(shè) 計(jì) 舉 例 代 碼 轉(zhuǎn) 換 代 碼 轉(zhuǎn) 換 常 見 的 代 碼 轉(zhuǎn) 換 有 : 二 進(jìn) 制 數(shù) 顯 示 二 進(jìn) 制 數(shù) 十 進(jìn) 制 數(shù) 顯 示 二 進(jìn) 制 數(shù) 十 六 進(jìn) 制 數(shù) 顯 示 BCD碼 數(shù) 二 進(jìn) 制 數(shù) 代 碼 轉(zhuǎn) 換 A1 二 進(jìn) 制 數(shù) 顯 示 :例 .把 鍵 盤 輸 入 的 一 位 數(shù) (
13、0 9),轉(zhuǎn) 換 成 等 值 二 進(jìn) 數(shù) 顯 示顯 示 的 格 式 要 求 如 下 :Please Enter:ERROR!Please Enter:9 =00001001B 代 碼 轉(zhuǎn) 換思 路 :鍵 盤 緩 沖 區(qū) 中 是 鍵 入 字 符 的 ASC 碼 。 0 9的 ASC 碼 為 30H 39H。二 進(jìn) 制 數(shù) 每 一 位 代 碼 的 判 斷 :本 程 序 采 用 兩 種 格 式 設(shè) 計(jì) 源 程 序 :一 種 是 EXE文 件 編 程 格 式 ,另 一 種 是 COM文 件 編 程 格 式 。RCL 0SALROLCF CF CF 程 序 框 圖 : AL-30H BL = 屏 幕 ,
14、8 CX 0 屏幕 1 屏幕 CX-1 CX B 屏 幕 ,返 回DOSN N給 出 操 作 提 示鍵 盤 輸 入 ALAL= 0 9 ?CF=?CX=0?BL左 移 一 位Y 顯 示 錯(cuò) 誤 信 息 Y0 1 . 486DATA SEGMENT USE16MESG1 DB Please Enter ! ,0DH,0AH,$MESG2 DB -Error ! $ DATA ENDSCODE SEGMENT USE16 ASSUME CS:CODE,DS:DATABEG: MOV AX,DATA MOV DS,AX MOV AH,9 MOV DX,OFFSET MESG1 INT 21H ;顯
15、示 操 作 提 示 MOV AH,1 INT 21H ;等 待 鍵 入 CMP AL,3AH JNC ERROR ; 9轉(zhuǎn) CMP AL,30H EXE格 式 程 序 清 單 JC ERROR ; 0轉(zhuǎn) SUB AL,30H MOV BL,AL ;BL=0 9 的 二 進(jìn) 制 數(shù) MOV AH,2 MOV DL,= INT 21H CALL DISP MOV AH,2 MOV DL,B INT 21H JMP EXITERROR: MOV AH,9 MOV DX,OFFSET MESG2 INT 21H ;顯 示 錯(cuò) 誤 信 息EXIT: MOV AH,4CH INT 21H ;-DISP P
16、ROC ;顯 示 BL中 的 二 進(jìn) 制 數(shù) MOV CX,8LAST: MOV DL,0 RCL BL,1 JNC NEXT MOV DL,1NEXT: MOV AH,2 INT 21H LOOP LAST RETDISP ENDPCODE ENDS END BEG EXE格 式 程 序 清 單 . 486CODE SEGMENT USE16 ASSUME CS:CODE ORG 100HSTART: JMP BEGMESG1 DB Please Enter ! ,0DH,0AH,$MESG2 DB -Error ! $ BEG: MOV AH,9 MOV DX,OFFSET MESG1 I
17、NT 21H ;顯 示 操 作 提 示 MOV AH,1 INT 21H ;等 待 鍵 入 CMP AL,3AH JNC ERROR ; 9 轉(zhuǎn) CMP AL,30H JC ERROR ; 0 轉(zhuǎn) SUB AL,30H MOV BL,AL ;BL=0 9 的 二 進(jìn) 制 數(shù) MOV AH,2 MOV DL,= INT 21H CALL DISP MOV AH,2 MOV DL,B INT 21H JMP EXIT MOV DX,OFFSET MESG2 INT 21H ;顯 示 錯(cuò) 誤 信 息 INT 21H ERROR: MOV AH,9EXIT: MOV AH,4CH COM格 式 程 序
18、 清 單 ;-DISP PROC ;顯 示 BL中 的 二 進(jìn) 制 數(shù) MOV CX,8LAST: MOV DL,0 RCL BL,1 JNC NEXT MOV DL,1NEXT: MOV AH,2 INT 21H LOOP LAST RETDISP ENDPCODE ENDS END START COM格 式 程 序 清 單 問 題 : 鍵 入 的 是 兩 位 十 進(jìn) 制 數(shù) 時(shí) ,如 何 將 該 十 進(jìn) 制 數(shù) 的 二 進(jìn) 制 數(shù) 顯示 在 屏 幕 上 ?代 碼 轉(zhuǎn) 換 二 .二 進(jìn) 制 數(shù) 十 六 進(jìn) 制 數(shù) 顯 示算 法 :四 位 二 進(jìn) 制 數(shù)等 值 的 十 六 進(jìn) 制 數(shù)十 六 進(jìn)
19、 制 數(shù) ASC 碼算 法 00001001 1010111109 AF30H39H 41H46H四 位 二 進(jìn) 制 數(shù) +30H= 等 值 的 十 六 進(jìn) 制數(shù) ASC 碼 四 位 二 進(jìn) 制 數(shù) +37H= 等 值 的 十 六 進(jìn)制 數(shù) ASC 碼代 碼 轉(zhuǎn) 換 編 程 技 巧 :8位 二 進(jìn) 制 數(shù)截 取 高 4位 顯 示 顯 示 截 取 低 4位XXXX XXXXXXXX0 0 0 0 XXXX0 0 0 016進(jìn) 制 數(shù) ASC 碼16進(jìn) 制 數(shù) ASC 碼 代 碼 轉(zhuǎn) 換 例 .設(shè) 從 BNUM單 元 開 始 , 有 4個(gè) 16位 的 二 進(jìn) 制 數(shù) , 要 求把 它 們 轉(zhuǎn) 換
20、成 16進(jìn) 制 數(shù) , 并 送 屏 幕 顯 示 。 程 序 清 單 . 486 DATA SEGMENT USE16 BNUM DW 0001001000110100B ;1234H DW 0101011001111000B ;5678H DW 0001101000101011B ;1A2BH DW 0011110001001101B ;3C4DH BUF DB 4 DUP(?), H $ ;輸 出 緩 沖 區(qū) COUNT DB 4 DATA ENDS CODE SEGMENT USE16 ASSUME CS:CODE, DS:DATA BEG: MOV AX,DATA MOV DS,AX M
21、OV CX,4 MOV BX,OFFSET BNUMAGA: MOV DX,BX SAL EDX,16 CALL N2_16ASC MOV AH,9 MOV DX,OFFSET BUF INT 21H ;顯 示 一 個(gè) 16進(jìn) 數(shù) ADD BX,2 ;地 址 加 2 LOOP AGA MOV AH,4CH INT 21H ;二 進(jìn) 數(shù) 十 六 進(jìn) 數(shù) ACSII碼N2_16ASC PROC MOV SI,OFFSET BUF ;輸 出 緩 沖 區(qū) 地 址 SI MOV COUNT,4LAST: ROL EDX,4 AND DL,0FH CMP DL,10 JC NEXT ADD DL,7NEX
22、T: ADD DL,30H MOV SI,DL INC SI ;地 址 加 1 DEC COUNT ;計(jì) 數(shù) JNZ LAST RETN2_16ASC ENDPCODE ENDS END BEGEXE格 式 程 序 清 單 代 碼 轉(zhuǎn) 換 三 .BCD碼 二 進(jìn) 制 數(shù)例 .4位 BCD碼 數(shù) 二 進(jìn) 制 數(shù) 顯 示算 法 : 設(shè) 4位 BCD碼 數(shù) 列 為 : N3 N2 N1 N0,等 值 二 進(jìn) 制 數(shù) =N3 1000+N2 100+N1 10+N0 =(0 10+N3) 10+N2) 10+N1) 10+N0編 程 考 慮 :4位 BCD碼 最 大 為 9999H,等 值 的 二 進(jìn)
23、 制 數(shù) 最 大 為 16位(超 過 8位 ), 而 且 D15位 肯 定 為 0分 離 出 BCD千 位 N3,百 位 N2, 十 位 N1,個(gè) 位 N0設(shè) 計(jì) 一 個(gè) AX 10+BX AX的 子 程 序 供 調(diào) 用 , 首 次 調(diào) 用時(shí) , 令 AX=0,BX=N3,共 調(diào) 用 4次 , 則 AX中 即 為 等 值 的 二 進(jìn)制 數(shù) 。 486CODE SEGMENT USE16 ASSUME CS:CODENUM DW 4567H ;BCD碼 表 示BEG: MOV CX,4 ;4次 調(diào) 用 MOV AX,0AGA: ROL NUM, 4 MOV BX,NUM AND BX,000FH
24、 IMUL AX,10 ADD AX,BX LOOP AGA 顯 示 AX中 的 二 進(jìn) 制 數(shù) 返 回 DOSCODE ENDS END BEG 本 例 數(shù) 據(jù) 放 在 代 碼 段 !本 例 : 因 為 AX的 D15=0,是 正的 有 符 號 數(shù) , 所 以 可 用IMUL指 令A(yù)X 10+BXAX EXE格 式 程 序 清 單 代 碼 轉(zhuǎn) 換三 .二 進(jìn) 制 數(shù) 十 進(jìn) 制 數(shù)方 法 :比 較 法 , 恢 復(fù) 余 數(shù) 法 , 除 法 8位 二 進(jìn) 制 數(shù) 最 大 為 11111111, 等 值 的 十 進(jìn) 制 數(shù) 為 255, 比 較 法 的 關(guān) 鍵 : 判 斷 某 二 進(jìn) 制數(shù) (假
25、設(shè) 為 BEN單 元 的 內(nèi) 容 )包 含幾 個(gè) 100, 幾 個(gè) 10, 幾 個(gè) 1 1. 8位 二 進(jìn) 制 數(shù) 十 進(jìn) 制 數(shù) ,比 較 法 : DL+1 DL(BEN)-10 BEN(BEN)=100? NY(BEN)=10? NY0 DL DL+1 DL(BEN)-100 BENDL+30H 屏 幕 0 DL DL+30H 屏 幕(BEN)+30H 屏 幕 返 回 DOS . 486CMPDISP MACRO NN LOCAL LAST, NEXT MOV DL,0 ;DL清 0LAST: CMP BEN, NN ;比 較 JC NEXT ;BEN NN轉(zhuǎn) INC DL ;DL加 1
26、SUB BEN, NN JMP LASTNEXT: ADD DL, 30H MOV AH,2 INT 21H ;顯 示 ENDM CODE SEGMENT USE16 ASSUME CS:CODEBEN DB 10101110B ;=174BEG: CMPDISP 100 CMPDISP 10 CMPDISP 1 MOV AH,4CH INT 21HCODE ENDS END BEGEXE格 式 程 序 清 單 代 碼 轉(zhuǎn) 換2. 8位 二 進(jìn) 制 數(shù) 十 進(jìn) 制 數(shù) , 恢 復(fù) 余 數(shù) 法 ( 請 自 學(xué) )3. 8位 二 進(jìn) 制 數(shù) 十 進(jìn) 制 數(shù) , “ 除 權(quán) 值 求 商 ” 的 算
27、法 分 析把 11110101B 十 進(jìn) 制 數(shù) 245 算 法 : 依 次 用 權(quán) 值 100,10,1去 除上 次 的 余 數(shù) , 直 到 余 數(shù) 為 0時(shí) 停 止 。 每 次 除 法 所 得 的 商 數(shù) 順 序 排 列 , 即 為 十 進(jìn) 制 數(shù) 。 1 1 1 1 0 1 0 11100100 1 1 0 0 1 0 01 0 1 1 0 11 02權(quán) 值 (100)10 1 0 1 5 1 0 1 1 0 1 0余 數(shù) 為 0時(shí) 止1權(quán) 值 (1) 1 0 0 4 1 0 1 1 0 1 1 0 1 0 1 0 11010權(quán) 值 (10)10 例 . 將 NUM單 元 中 的 16位
28、 二 進(jìn) 制 數(shù) , 轉(zhuǎn) 換 成 十 進(jìn) 制數(shù) 顯 示 。思 路 : 16 位 二 進(jìn) 制 數(shù) : 最 大 為 11, 其 等 值 的 十 進(jìn)制 數(shù) 為 65535, 故 應(yīng) 判 斷 NUM單 元 的 數(shù) 包 含 幾 個(gè) 10000,幾 個(gè) 1000, 幾 個(gè) 100, 幾 個(gè) 10, 幾 個(gè) 1設(shè) 計(jì) 一 個(gè) XX YY并 顯 示 商 值 的 宏 指 令 供 調(diào) 用 , XX為 32位 , YY為 16為 二 進(jìn) 制 數(shù) 。 DX,AX為 被 除 數(shù) 486DIVIDE MACRO XX,YY MOV AX,XX MOV DX,0 MOV CX,YY ;CX為 除 數(shù) DIV CX ;AX=
29、商 ,且 1010B,DX=余 數(shù) MOV AH,0EH ADD AL,30H INT 10H ENDMCODE SEGMENT USE16 ASSUME CS:CODENUM DW 65530 ;匯 編 后 為 二 進(jìn) 制 數(shù)BEG: DIVIDE NUM, 10000 DIVIDE DX, 1000 本 題 在 代 碼 段 中 設(shè) 置 數(shù) 據(jù) ,這 是 COM格 式 ? EXE格 式 ? 如 果 改 為 :BEG: MOV BX,OFFSET NUM DIVIDE BX,10000 是 錯(cuò) 誤 的 , 為 什 么 ? DIVIDE DX, 100 DIVIDE DX, 10 DIVIDE
30、DX, 1 MOV AH, 4CH INT 21HCODE ENDS END BEG顯 示 一 位 商 值不 能顛 倒 分 析 :應(yīng) 寫 成 :DIVIDE CS:BX,10000程 序 清 單 代 碼 轉(zhuǎn) 換4. 8位 二 進(jìn) 制 數(shù) 十 進(jìn) 制 數(shù) , “ 除 十 取 余 ” 的 算 法 分 析 把 11110101 十 進(jìn) 制 數(shù) 245算 法 : N被 (10)10除 , 商 再 被 (10)10除 , 直 到 商 數(shù) 為 0時(shí) 止 。 每 次 所 得 的 余 數(shù) 按 倒 序 方 式排 列 顯 示 。編 程 技 巧 :每 次 除 法 的 余 數(shù) 棧 ,除 法 結(jié) 束 后 , 再 從 堆
31、 棧 中依 次 彈 出 余 數(shù) +30H 屏 。 1 1 0 0 0 1 1 1 1 0 1 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 151010即 (10)10 1 0 1 1 0 0 0 1 0 1 0 1 0 041010 0商 為 0時(shí) 止 1 0 0 0 1 021010 8位 32位 二 進(jìn) 制數(shù) 轉(zhuǎn) 換 成 十 進(jìn) 制 數(shù) ,通 用 的 除 法 求 余 框圖 :(書 程 序 ,自 學(xué) )設(shè) N為 待 轉(zhuǎn) 換 的 8位32位 二 進(jìn) 制 數(shù) EAX=商 , EDX=余 數(shù) ,且 余 數(shù) 肯 定 1010B統(tǒng) 計(jì) 除 法 的 次 數(shù)CX=0?彈 出 余 數(shù) +
32、30H 顯 示 CX-1 CX N EAX除 數(shù) 1010B EBX 0 CX計(jì) 數(shù) 器 0 EDX(EDX,EAX) EBX 余 數(shù) 堆 棧 CX+1 CX商 為 0? 轉(zhuǎn) 換 完 畢YYNN CODE SEGMENT USE16 ASSUME CS:CODEBEN DB 10101110B ;=174BEG: CMPDISP 100 CMPDISP 10 CMPDISP 1 MOV AH,4CH INT 21HCODE ENDS END BEG 代 碼 轉(zhuǎn) 換 .486CODE SEGMENT USE16 ASSUME CS:CODEBEN DB 10101110B ;=174BEG: MOV BL,100 CALL CMPDISP MOV BL,10 CALL CMPDISP MOV BL,1 CALL CMPDISP MOV AH,4CH INT 21H 代 碼 轉(zhuǎn) 換 CMPDISP PROC MOV DL,0 ;DL清 0LAST: CMP BEN,BL ;比 較 JC NEXT ;BEN BX 轉(zhuǎn) INC DL ;DL加 1 SUB BEN,BL ;BEN-BX BEN JMP LASTNEXT: ADD DL,30H MOV AH,2 INT 21H ;顯 示 RETCMPDISP ENDPCODE ENDS END BEG 代 碼 轉(zhuǎn) 換
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版六年級下冊科學(xué)第一課時(shí)_-_我們身邊的物質(zhì)(教育精品)
- 以夢為馬勵志正能量年終工作總結(jié)動態(tài)模板課件
- 【培訓(xùn)課件】成功大學(xué)畢業(yè)生的綜合素質(zhì)結(jié)構(gòu)
- 【培訓(xùn)課件】義務(wù)消防員培訓(xùn)內(nèi)容
- 科學(xué)飲食健康生活專家講座
- 外觀設(shè)計(jì)專利權(quán)保護(hù)問題
- 熬夜的危害醫(yī)學(xué)
- 病態(tài)心理學(xué)醫(yī)學(xué)知識專題講座
- 意識障礙分類
- 小清新卡通世界環(huán)境日教育PPT模板課件
- 《大樹的故事》教學(xué)課件
- 護(hù)理安全和管理措施
- 團(tuán)學(xué)工作中存在的問題及解決方案
- 小兒發(fā)熱的常見病因和處置措施專家講座
- 伴性遺傳上課用專家講座