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

正文內(nèi)容

04微機原理與接口技術(shù)課程設計指導書-資料下載頁

2025-10-05 16:47本頁面

【導讀】淮海工學院計算機工程學院。微機原理與接口技術(shù)

  

【正文】 特別適合按照 COM格式編寫的源程序 ,INT 27H可駐留的目標代碼所占內(nèi)存空間小于 64KB ~ 256B。 ( 2) INT 24H 的 31H 號 功能 功能 : 實現(xiàn)程序駐留 ,返回到 DOS。 入口參數(shù) : ? AH = 31H ? DX = 被駐留程序的長度(包括被駐留程序的 PSP 段) ,單位是“節(jié)” ,一節(jié)等于 16 個字節(jié)。 “ DOS 重入” 簡單的說 ,當程序正在執(zhí)行 INT 21H 的某項功能時 ,該項功能調(diào)用還沒有結(jié)束 ,又被另一個程序中斷 ,中斷第一個程序 ,又再次調(diào)用 INT 21H,這種現(xiàn)象稱為“ DOS 重入”。 駐留程序是特殊的中斷服務子程序 ,駐留程序的激活是隨機的 ,在駐留程序激活后 ,它所中斷的前臺程序是無法預料的。當前臺程序正在執(zhí)行“ INT 21H”的某 項功能時 ,駐留程序被激活 ,CPU 暫停執(zhí)行前臺程序的“ INT 21H” ,則 CPU 又要“重新進入” DOS。 由于 DOS 是單任務操作系統(tǒng) ,INT 21H 的大部分功能調(diào)用是不允許重入的。如果強行重入 DOS,很可能 使系統(tǒng)癱瘓 ,因此駐留程序要避免 DOS 重入。 1) 避免 DOS 重入最簡單的對策是 :在駐留程序中避免使用 DOS 功能調(diào)用。如果駐留程序涉及到鍵盤輸入、屏幕顯示、字符打印等項操作 ,應當避免使用 INT 21H 的 1~0CH 功能調(diào)用 ,而改用相應的 BIOS 功能調(diào)用。 例如 ,駐留程序需要向屏幕輸出一串字符 ,如果用 INT 21H的 9 號功能 ,很可能造成 DOS 重入而死機。改用 INT 10H,用它的 13H 號功能 ,或者直接對“視屏映像區(qū)”寫入 ,就不會發(fā)生 DOS 重入的災難了。 2) 避免 DOS 重入的最穩(wěn)妥的辦法是 : 在中斷程序中查詢“ DOS 忙閑標志” ,在確保 DOS 空閑的條再調(diào)用 DOS 功能。 DOS 忙閑標志占用一個字節(jié)(稱為 INTDOS 單元)該字節(jié)為 0 表示 DOS 空閑 ,非 0 表示忙。 DOS 有一個未公開的 34H 號功能調(diào)用 ,它提供了 DOS 忙閑標志的物理地址。 該項功能調(diào)用格式如下。 微機原理與接口課程設計指導書 計算機應用教研室 /實驗中心 第 17 頁 共 62 頁 入口參數(shù) : AH = 34H 出口參數(shù) : ES: BX = DOS 忙閑標志所在單元的段地址 : 偏移量在駐留程序的初始化部分(這一部分是不被駐留的)使用 INT 21H 的 34H 號功能 ,讀取 DOS 忙閑標志的物理地址 ,并存入駐留程序的數(shù)據(jù)單元。在駐留程序被激活后 ,進行 DOS 服務之前 ,再根據(jù)獲取的地址信息 ,查詢 DOS 忙閑標志 ,在確保 DOS 空閑的條件下 ,再調(diào)用 DOS 功能。 本節(jié)只介紹駐留程序的設計方法 ,駐留程序通常還有解駐程序。大家可以自學解除駐留的機理 ,并在此基礎上設計解駐程序。 【思考題】 1. 學習中斷的基本原理和方法 ,將原設計改造成一個解駐的程序。 2. 設計一個可以根據(jù)需要用熱鍵開關(guān)的 駐留程序。 微機原理與接口課程設計指導書 計算機應用教研室 /實驗中心 第 18 頁 共 62 頁 代碼轉(zhuǎn)換 【設計內(nèi)容】 編程實現(xiàn)大小寫字母、二進制數(shù)和十六進制數(shù)之間的轉(zhuǎn)換以及十六進制數(shù)向十進制數(shù)的轉(zhuǎn)換。 【設計目的】 1) 學習數(shù)值和非數(shù)值的相互轉(zhuǎn)換方法。 2) 多文件的鏈接方法。 3) 過程間的相互調(diào)用。 【設計要求】 按屏幕提示要求輸入 ,從屏幕上獲得正確結(jié)果。 【設計思路】 在計算機系統(tǒng)中有多種數(shù)制和編碼 ,常用的數(shù)制有二進制、八進制以及十六進制 ,常用的代碼有 BCD碼、 ASCII 碼和七段顯示碼等。這些數(shù)制和編碼根據(jù)其作用的不同 ,在存儲形式上也有差異。在實際應用中 ,它們也因使用的要求不同而有所差異。在配備 操作系統(tǒng)管理程序的計算機中 ,有些代碼轉(zhuǎn)換程序已在系統(tǒng)管理軟件中編好。還有些代碼轉(zhuǎn)換需要根據(jù)使用要求通過變成完成。因此 ,代碼轉(zhuǎn)換是非數(shù)據(jù)處理中最常見的情況。 本程序共由 7 個模塊組成 ,其中 ZCX 為主模塊 ,調(diào)用模塊 1 和模塊 6,模塊 1 又調(diào)用模塊 4 和 5四個模塊。 模塊 2 實現(xiàn)小寫字母向大寫字母的轉(zhuǎn)換 ,主要利用小寫字母比大寫字母大 20H 的關(guān)系。 模塊 3 實現(xiàn)大寫字母向小寫字母的轉(zhuǎn)換 ,與模塊 2 類似 ,將大寫字母的 ASCII 值加上 20H就可以轉(zhuǎn)換成小寫字母。 模塊 4 實現(xiàn)二進制向十六進制的轉(zhuǎn)換 ,用循環(huán)左移指令 ROL 每次移動 4 位 ,取出移到最低的 4 位 ,利用十六進制數(shù)所對應的 ASCII 碼比其本身大 30H( 0~9)或 37H( A~Z)的關(guān)系 ,將低 4 位轉(zhuǎn)換成對應的ASCII 碼 ,再調(diào)用 DOS 系統(tǒng)功能調(diào)用中的 2 號(顯示字符)功能 ,將轉(zhuǎn)換后的字符顯示出來 ,如此循環(huán) 4次。 模塊 5 實現(xiàn)十六進制數(shù)向二進制數(shù)的轉(zhuǎn)換 ,完成此功能需要兩個步驟 ,第一步是十六進制數(shù)的輸入和對應二進制數(shù)的轉(zhuǎn)換。方法是利用 DOS 系統(tǒng)功能調(diào)用中的 1 號輸入字符的功能 ,接收鍵盤輸入的十六進制數(shù) ,將其轉(zhuǎn)換成對應的二進制數(shù)(若是 0~9 之間的數(shù) ,直接屏蔽高 4 位;若是每次將 BX 左移 4 位 ,然后與下一次轉(zhuǎn)換后的數(shù)相加 ,如此循環(huán) 4 次 ,得到對應的二進制數(shù)。第二步是顯示轉(zhuǎn)換后的二進制數(shù) ,方法是利用 ROL 和 RCL 指令 ,從最高位起循環(huán)取出每位二進制數(shù) ,將其轉(zhuǎn)換成對應的 ASCII 碼 ,調(diào)用 DOS 系統(tǒng)功能調(diào)用中的 2 號(顯示字符)功能顯示。 模塊 6 六進制數(shù)向十進制數(shù)的轉(zhuǎn)換。十六進制向十進制的轉(zhuǎn)換分成兩個大步驟 ,一是從十六進制向二進制的轉(zhuǎn)換 ,由于十六進制和二進制的特殊關(guān)系 ,它們之間的轉(zhuǎn)換非常簡單。二是從二進制轉(zhuǎn)換為十進制 ,相對而言 ,這種轉(zhuǎn)換復雜一些。所以該模塊的核心是實現(xiàn)二進制數(shù)向十進制數(shù)的 轉(zhuǎn)換。方法是將要轉(zhuǎn)換的二進制數(shù)預先放到 AX 寄存器中 ,判斷 AX 中數(shù)的符號 ,若為負數(shù) ,則將負號送入輸出緩沖區(qū) ,并求 X的絕對值;若 AX 中數(shù)的為正數(shù) ,則不做其他處理 ,此時 AX 中即為無符號二進制數(shù)。然后將無符號二進制數(shù)轉(zhuǎn)換為十進制數(shù) ,可采用將 AX 除以 10,得到第一個商和第一個余數(shù) ,第一個余數(shù)就是所求十進制數(shù)的個位 : 將第一個商除以 10,得到第二個商和余數(shù) ,第二個余數(shù)就是所求十進制數(shù)的十位數(shù) ,重復以上過程 ,一直循環(huán)到商為 0 時 ,得到的余數(shù)就是所求十進制數(shù)的最高位數(shù) ,這就是數(shù)制轉(zhuǎn)換中常用的“除模留余倒排列”法則。 整個程序 采用遠程過程調(diào)用的方法顯示 ,程序結(jié)構(gòu)如圖 33 做示。 微機原理與接口課程設計指導書 計算機應用教研室 /實驗中心 第 19 頁 共 62 頁 開 始結(jié) 束調(diào) 用 d i s p ( 顯 示 主 界 面 )調(diào) 用 D s i p ( 顯 示 出 錯 信 息 )調(diào) 用 c h a n g e 5調(diào) 用 m a i n接 收 b ?接 收 q ? Y Y N N圖 3 3   代 碼 轉(zhuǎn) 換 主 程 序 參 考 流 程 圖  1. 操作說明 需要對各個模塊文件單獨匯編 ,生成七個目標文件。 1) 連編命令為 : zcx+1+2+3+4+5+6,生成可執(zhí)行文件 。 2) 雙擊可執(zhí)行文件 即可運行程序 ,在出現(xiàn)的主界面中 ,輸入“ b‖ 開始轉(zhuǎn)換;輸入“ q‖ 退出。 【思考題】 改進程序,增加二、十進制之間的相互轉(zhuǎn)換。 微機原理與接口課程設計指導書 計算機應用教研室 /實驗中心 第 20 頁 共 62 頁 輸入輸出顯示 【設計內(nèi)容】 編寫一個程序 ,要求從鍵盤上連續(xù)輸入多個字符 ,當遇到“ .‖ 時終止 ,然 后以與輸入相反的順序?qū)⒃撟址谄聊簧巷@示出來。 【設計目的】 學習鍵盤輸入和屏幕輸出 ,并學習堆棧的使用。 【設計要求】 用“先進后出“的設計思路 ,使用堆棧技術(shù) ,結(jié)合 DOS 的中斷調(diào)用 ,實現(xiàn)輸入字符串的倒敘顯示。 【設計思路】 本設計的關(guān)鍵在于正確的使用堆棧。 首先將字符依次壓入堆棧 ,等待結(jié)束字符“ .‖,當接收到結(jié)束字符時 ,從堆棧中依次彈出字符并顯示。由于堆棧的特點是先入后出 ,正好實現(xiàn)了輸入字母的倒敘顯示。在編程過程中要設置一個計數(shù)器 ,統(tǒng)計輸入的字符 ,以便從堆棧中彈出的字符和輸入的字符相等 ,以免出錯。 參考流程圖見圖 34。 Y N N Y N開 始結(jié) 束計 數(shù) 器 清 零 : C X 0A L 從 鍵 盤 輸 入 字 符C X C X +A X 堆 棧輸 出 D L 中 的 字D X 從 棧 頂 彈 出 內(nèi) 容輸 出 回 車 換 行A L = . ?C X C X 1 , = 0C X = 0 ?Y  圖 3 4   輸 入 輸 出 程 序 參 考 流 程 圖 【思考題】 編制一個程序 ,完成倒敘顯示并將輸入字符全部以大寫字母形式輸出。 微機原理與接口課程設計指導書 計算機應用教研室 /實驗中心 第 21 頁 共 62 頁 BCD 碼相乘 【設計內(nèi)容】 編寫兩個單字節(jié)組合 BCD 數(shù)的乘法程序 ,在屏幕上顯示兩個乘數(shù)及計算結(jié)果。 【設計目的】 1) 掌握用組合 BCD 碼表示數(shù)據(jù)及組合 BCD 數(shù)加(減)法的方法。 2) 熟悉實現(xiàn)組合 BCD 數(shù)乘法運算的方法。 【設計要求】 給定兩個單字節(jié)組合 BCD 數(shù) ,將兩個數(shù)相乘 ,輸出顯示計算結(jié)果。 【設計思路】 由于沒有組合 BCD 碼乘法指令 ,因此在程序中 可采用將乘數(shù) 1 作為計算器 ,累加另一個乘數(shù)的方法得到計算結(jié)果。 程序流程圖如圖 35 所示 【思考題】 若進行兩字節(jié)甚至多字節(jié)組合 BCD 數(shù)乘法 ,將怎樣進行編程呢?試提出兩種以上的計算方法。 開 始結(jié) 束顯 示 乘 數(shù) 1 和 乘 數(shù) 2B L 1 B L乘 數(shù) 1 B L部 分 積 D X 清 0結(jié) 果 D H部 分 積 高 位 進 行 進 位 位 調(diào) 整D A A 調(diào) 整結(jié) 果 D L乘 數(shù) 2 + 部 分 積 低 位顯 示 結(jié) 果進 位 位 清 0B L = 0 ?D A S 調(diào) 整 結(jié) 果 送 B LY N圖 3 5 B C D 碼 相 乘 程 序 參 考 流 程 圖微機原理與接口課程設計指導書 計算機應用教研室 /實驗中心 第 22 頁 共 62 頁 計算 N 的階乘 【設計內(nèi)容】 編寫計算 N!的程序。數(shù)值 N 由鍵盤輸入 ,結(jié)果在屏幕上輸出。 【設計目的】 通過編制一個階乘計算程序 ,了解怎樣在匯編語言一級上實現(xiàn)高級語言中的數(shù)學函數(shù)。 【設計要求】 N 的范圍為 0~65535,即不超過一個 16 位寄存器的容量。 【設計思路】 本課程設計的流程如圖 36 所示。 1) 編制階乘程序的難點 本課程設計的難點在于隨著 N 的增大 ,其結(jié)果遠非寄存器所能容納 ,這就必須把結(jié)果放在一個內(nèi)存緩沖區(qū)中 ,然而乘法運算只限于兩個字相乘 ,因此要確定好算法 ,依次從緩沖區(qū)中取數(shù) ,進行兩字相乘 ,并將 DX 中的高 16 位積作為產(chǎn)生的進位。 2)算法 階乘的定義為 N! = N ( N1) ( N2) ?? 2 1,從左往右依次計算 ,結(jié)果保存在緩沖區(qū) BUF 中。緩沖區(qū) BUF 按結(jié)果由低到高依次排列。程序首先將 BP 初始化為 N,N 不等于 0 或 1則將 N 送入 BUF 緩沖區(qū)最低字單元中。然后使 BP 為 N1,以后 BP 依次減 1,直至變化到 1 為止。每次讓 BP 與 BUF 中的字單元按由低到高的次序相乘。低位結(jié)果 AX 仍保存在相應的 BUF 字單元中 ,高位結(jié)果 DX 則送到進位字單元 CY 中 ,作為高字相乘時從低字來的進位 ,初始化 CY 為 0。計算結(jié)果的長度隨著乘積運算而不斷增長 ,由字單元 LEN 指示 ,LEN 單元初始化為 1。最高字單元與 BP 相乘時 ,若 DX 不為 0,則結(jié)果長度要擴展。 【思考題】 試述求 N!的算法實現(xiàn)方法。假設 N( N1)( N2)的乘積已在 BU
點擊復制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1