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

正文內(nèi)容

04微機原理與接口技術(shù)課程設(shè)計指導(dǎo)書-閱讀頁

2024-11-03 16:47本頁面
  

【正文】 范圍的內(nèi)容傳送到指定地址處 M 的地址范圍表示方式和 F 類似,有兩種方法: M 源開始地址 源結(jié)束地址 目的的開始地址 或 M 源開始地址 L 傳送長度 目的開始地址 例如: 微機原理與接口課程設(shè)計指導(dǎo)書 計算機應(yīng)用教研室 /實驗中心 第 11 頁 共 62 頁 M DS: 50 150 DS: 400 把從 DS: 50H 到 DS: 150H 的字節(jié) 復(fù)制到從 DS: 400 開始的地址。 例如 : s 300 L2020 ―VIRUS‖ 從 DS:300 開始 ,在長度為 2020H 的范圍內(nèi)找“ VIRUS”字符串。 1) 使用高級語言提供的功能控制硬件。 2) 使用 DOS 提供的程序控制硬件。 3) 使用 BIOS 提供的程序控制硬件。 4) 直接訪問硬件。此種方式只適合于兩種情況:為了獲得高效率或為了獲得 DOS 和 BIOS 不支持的功能。 上述方式各有所長 ,在本課程設(shè)計中主要應(yīng)學(xué)習(xí)和掌握后三種硬件的控制方法。它們?yōu)橛脩舻膮R編語言程序設(shè)計提供了許多方便。 系統(tǒng)軟件中提供的功能調(diào)用有兩種 ,一種稱為 DOS( Disk Opration System,磁盤操作系統(tǒng))功能調(diào)用(也稱高級調(diào)用) ,另一種稱為 BIOS( Basic Input and Output System,基本輸入 /輸出系統(tǒng))功能調(diào)用(也叫低級調(diào)用)。另外 ,用戶程序也不必與這些服務(wù)程序的代碼鏈接 ,因為這些系統(tǒng)服務(wù)程序在系統(tǒng)啟動時已被加載到內(nèi)存中 ,程序入口也被放到了中斷向量表中。 BIOS 是 IBM PC 及 PC/XT 的基本 I/O 系統(tǒng)。顯然 ,BIOS 與系統(tǒng)硬件有直接的依賴關(guān)系 ,調(diào)用 BIOS 功能子程序的用戶只能在與 IBM PC/XT BIOS 兼容的計算機上運行。 DOS 是 IBM PC 系列微機的操作系統(tǒng)(現(xiàn)在的微機仍能運行 DOS,而且新的操作系統(tǒng)也能繼續(xù)幾乎所有的 DOS 功能調(diào)用)負責(zé)管理系統(tǒng)的所有資源 ,協(xié)調(diào)微機的操作 ,其中包括大量可供用戶調(diào)用的服務(wù)程序。 所有的 DOS 系統(tǒng)功能調(diào)用都是利用軟中斷指令 INT 21H 來實現(xiàn)的。 INT 21H是一個具有 90 所個子功能的中斷服務(wù)程序 ,這些子功能大致可以分為四類:設(shè)備管理、目錄管理、文件管理和其他。為了方便用戶使用這些子功能 ,INT 21H 對每一個子功能都進行了編號 —— 稱為功能號。 DOS 系統(tǒng)功能調(diào)用的方法如下: 1) AH←功能號。 3)執(zhí)行 INT21H 指令。 附錄中列出了常用的 DOS 系統(tǒng)功能調(diào)用。本書中的課程設(shè)計內(nèi)容都已全部運行通過。標(biāo)準(zhǔn)的環(huán)境是在 MSDOS 環(huán)境下用 ,在這種條件下,所有參考程序均測試通過。 課程設(shè)計的第二部分,用到了微機原理與接口課程中學(xué)習(xí)的各種芯片。 在學(xué)習(xí)危機原理和接口課程時,一般教材都是使用單功能的芯片來教學(xué)。但系統(tǒng)仍然保持有很好的向下兼容性,標(biāo)準(zhǔn)接口的傳統(tǒng)端口地址基本保持未變,如串口地址,并口(打印口)地址等都沒有改變。如從功能上來說,它們?nèi)匀粚崿F(xiàn): 8253 的計數(shù)器 /定時器功能, 8255 的并行接口功能, 8259 的中斷控制功能, 8237 的 DMA 控制器功能和 8250 的串行通信功能。 課程設(shè)計第三部分用的不是微機系統(tǒng)自身具備的接口,因此就和所用的實驗臺相關(guān)。本書中所做的課程設(shè)計在目前流行的幾種實驗臺都可實現(xiàn)。這些在應(yīng)用方面的優(yōu)點是其他語言不可比擬的,而對硬件的直接控制更是其特長。 由此可見,掌握匯編語言是學(xué)好微機原理和接口設(shè)計的第一步。 閏年計算 這是一個非常經(jīng)典的問題,在學(xué)習(xí)各種語言時都會遇到這個問題,匯編語言的課程設(shè)計也從解決這個問題開始。 【設(shè)計目的】 1) 學(xué)習(xí)分支、中斷和邏輯表達。 【設(shè)計要求】 從鍵盤輸入年份,通過計算后,輸出該年份是否為閏年的信息。將字符串中的每個字符轉(zhuǎn)換為對應(yīng) 的十進制數(shù)值(利用 0~9 這 10 個數(shù)的 ASCⅡ碼值比其本身大 30H 的關(guān)系 ),利用判斷某年是否為閏年的表達式,輸出該年是否為閏年的信息。判斷閏年的規(guī)則是:如果某一年能被 4 整除但不能被 100整除或者該年能被 400 整除,則該年為閏年。 圖 31 為本程序的參考流程圖 。 〖 設(shè)計目的 〗 1)學(xué)習(xí)系統(tǒng)駐留的方法。 〖設(shè)計要求〗 在屏幕右上角顯示時間。 〖設(shè)計思路〗 利用 BIOS 的 INT 1AH 的 2 號系統(tǒng)功能調(diào)用,將計算機系統(tǒng)的時間參數(shù)( BCD 碼)送入寄存器。將用 BCD 碼表示 的時、分、秒轉(zhuǎn)換成 ASCII 碼并送入 CRT 顯示器。 開 始結(jié) 束取 原 中 斷 類 型 1 C H設(shè) 置 新 的 中 斷 類 型保 存 原 中 斷 類 型讀 取 系 統(tǒng) 時 鐘調(diào) 用 s h o w b y t e調(diào) 用 s h o w b y t e 顯 示 : 調(diào) 用 s h o w b y t e 顯 示 分 調(diào) 用 s h o w b y t e 顯 示 : 調(diào) 用 s h o w b y t e 顯 示 秒 中 斷 返 回恢 復(fù) 現(xiàn) 場執(zhí) 行 中 斷 處 理 程 序 n e w i n t l c保 護 現(xiàn) 場設(shè) 置 光 標(biāo) 位 置將 小 時 值 壓 縮 B C D 數(shù)的 高 位 和 低 位 分 別 轉(zhuǎn) 換 為A S C 碼 數(shù) 調(diào) 用 s h o w 子程 序 輸 出 顯 示 調(diào) 用c u r m o v e 子 程 序 確 定 下 一個 字 符 秒 顯 示 的 位 置b 中 斷 處 理 程 序 流 程 圖圖 3 2 時 間 駐 留 程 序 的 參 考 流 程 圖a 主 程 序 結(jié) 構(gòu) 圖 要結(jié)束一個戶進程,有幾種實現(xiàn)方法。從程序員的角度來看,一個程序執(zhí)行完畢,并返回 DOS 之后,程序在內(nèi)存中就不復(fù)存在,若想再次運行該程序,就要再次把它調(diào)入內(nèi)存。 TSR 程序是特殊的中斷服務(wù)程序, TSR 程序常駐內(nèi)存,它占用的內(nèi)存空間受 DOS 的保護,不會被后來裝入的程序覆蓋。系統(tǒng)中的許多輸入 /輸出驅(qū)動程序都是常駐內(nèi)存的,用戶也可以設(shè)計 TSR 程序。 設(shè)計 TSR 程序要考慮很多問題,下面僅就一些主要問題作簡要的分析。 DOS 為實現(xiàn)程序駐留提供了以下兩種方法 : ( 1) DOS 中斷 INT 27H 功能 : 實現(xiàn)程序駐留 ,返回到 DOS。 ? DX: 被駐留程序的字節(jié)數(shù) ,包括被駐留程序的 PSP 段。 使用 INT 27H實現(xiàn)程序駐留比較簡便 ,它特別適合按照 COM格式編寫的源程序 ,INT 27H可駐留的目標(biāo)代碼所占內(nèi)存空間小于 64KB ~ 256B。 入口參數(shù) : ? AH = 31H ? DX = 被駐留程序的長度(包括被駐留程序的 PSP 段) ,單位是“節(jié)” ,一節(jié)等于 16 個字節(jié)。 駐留程序是特殊的中斷服務(wù)子程序 ,駐留程序的激活是隨機的 ,在駐留程序激活后 ,它所中斷的前臺程序是無法預(yù)料的。 由于 DOS 是單任務(wù)操作系統(tǒng) ,INT 21H 的大部分功能調(diào)用是不允許重入的。 1) 避免 DOS 重入最簡單的對策是 :在駐留程序中避免使用 DOS 功能調(diào)用。 例如 ,駐留程序需要向屏幕輸出一串字符 ,如果用 INT 21H的 9 號功能 ,很可能造成 DOS 重入而死機。 2) 避免 DOS 重入的最穩(wěn)妥的辦法是 : 在中斷程序中查詢“ DOS 忙閑標(biāo)志” ,在確保 DOS 空閑的條再調(diào)用 DOS 功能。 DOS 有一個未公開的 34H 號功能調(diào)用 ,它提供了 DOS 忙閑標(biāo)志的物理地址。 微機原理與接口課程設(shè)計指導(dǎo)書 計算機應(yīng)用教研室 /實驗中心 第 17 頁 共 62 頁 入口參數(shù) : AH = 34H 出口參數(shù) : ES: BX = DOS 忙閑標(biāo)志所在單元的段地址 : 偏移量在駐留程序的初始化部分(這一部分是不被駐留的)使用 INT 21H 的 34H 號功能 ,讀取 DOS 忙閑標(biāo)志的物理地址 ,并存入駐留程序的數(shù)據(jù)單元。 本節(jié)只介紹駐留程序的設(shè)計方法 ,駐留程序通常還有解駐程序。 【思考題】 1. 學(xué)習(xí)中斷的基本原理和方法 ,將原設(shè)計改造成一個解駐的程序。 微機原理與接口課程設(shè)計指導(dǎo)書 計算機應(yīng)用教研室 /實驗中心 第 18 頁 共 62 頁 代碼轉(zhuǎn)換 【設(shè)計內(nèi)容】 編程實現(xiàn)大小寫字母、二進制數(shù)和十六進制數(shù)之間的轉(zhuǎn)換以及十六進制數(shù)向十進制數(shù)的轉(zhuǎn)換。 2) 多文件的鏈接方法。 【設(shè)計要求】 按屏幕提示要求輸入 ,從屏幕上獲得正確結(jié)果。這些數(shù)制和編碼根據(jù)其作用的不同 ,在存儲形式上也有差異。在配備 操作系統(tǒng)管理程序的計算機中 ,有些代碼轉(zhuǎn)換程序已在系統(tǒng)管理軟件中編好。因此 ,代碼轉(zhuǎn)換是非數(shù)據(jù)處理中最常見的情況。 模塊 2 實現(xiàn)小寫字母向大寫字母的轉(zhuǎn)換 ,主要利用小寫字母比大寫字母大 20H 的關(guān)系。 模塊 4 實現(xiàn)二進制向十六進制的轉(zhuǎn)換 ,用循環(huán)左移指令 ROL 每次移動 4 位 ,取出移到最低的 4 位 ,利用十六進制數(shù)所對應(yīng)的 ASCII 碼比其本身大 30H( 0~9)或 37H( A~Z)的關(guān)系 ,將低 4 位轉(zhuǎn)換成對應(yīng)的ASCII 碼 ,再調(diào)用 DOS 系統(tǒng)功能調(diào)用中的 2 號(顯示字符)功能 ,將轉(zhuǎn)換后的字符顯示出來 ,如此循環(huán) 4次。方法是利用 DOS 系統(tǒng)功能調(diào)用中的 1 號輸入字符的功能 ,接收鍵盤輸入的十六進制數(shù) ,將其轉(zhuǎn)換成對應(yīng)的二進制數(shù)(若是 0~9 之間的數(shù) ,直接屏蔽高 4 位;若是每次將 BX 左移 4 位 ,然后與下一次轉(zhuǎn)換后的數(shù)相加 ,如此循環(huán) 4 次 ,得到對應(yīng)的二進制數(shù)。 模塊 6 六進制數(shù)向十進制數(shù)的轉(zhuǎn)換。二是從二進制轉(zhuǎn)換為十進制 ,相對而言 ,這種轉(zhuǎn)換復(fù)雜一些。方法是將要轉(zhuǎn)換的二進制數(shù)預(yù)先放到 AX 寄存器中 ,判斷 AX 中數(shù)的符號 ,若為負數(shù) ,則將負號送入輸出緩沖區(qū) ,并求 X的絕對值;若 AX 中數(shù)的為正數(shù) ,則不做其他處理 ,此時 AX 中即為無符號二進制數(shù)。 整個程序 采用遠程過程調(diào)用的方法顯示 ,程序結(jié)構(gòu)如圖 33 做示。 1) 連編命令為 : zcx+1+2+3+4+5+6,生成可執(zhí)行文件 。 【思考題】 改進程序,增加二、十進制之間的相互轉(zhuǎn)換。 【設(shè)計目的】 學(xué)習(xí)鍵盤輸入和屏幕輸出 ,并學(xué)習(xí)堆棧的使用。 【設(shè)計思路】 本設(shè)計的關(guān)鍵在于正確的使用堆棧。由于堆棧的特點是先入后出 ,正好實現(xiàn)了輸入字母的倒敘顯示。 參考流程圖見圖 34。 微機原理與接口課程設(shè)計指導(dǎo)書 計算機應(yīng)用教研室 /實驗中心 第 21 頁 共 62 頁 BCD 碼相乘 【設(shè)計內(nèi)容】 編寫兩個單字節(jié)組合 BCD 數(shù)的乘法程序 ,在屏幕上顯示兩個乘數(shù)及計算結(jié)果。 2) 熟悉實現(xiàn)組合 BCD 數(shù)乘法運算的方法。 【設(shè)計思路】 由于沒有組合 BCD 碼乘法指令 ,因此在程序中 可采用將乘數(shù) 1 作為計算器 ,累加另一個乘數(shù)的方法得到計算結(jié)果。 開 始結(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 碼 相 乘 程 序 參 考 流 程 圖微機原理與接口課程設(shè)計指導(dǎo)書 計算機應(yīng)用教研室 /實驗中心 第 22 頁 共 62 頁 計算 N 的階乘 【設(shè)計內(nèi)容】 編寫計算 N!的程序。 【設(shè)計目的】 通過編制一個階乘計算程序 ,了解怎樣在匯編語言一級上實現(xiàn)高級語言中的數(shù)學(xué)函數(shù)。 【設(shè)計思路】 本課程設(shè)計的流程如圖 36 所示。 2)算法 階乘的定義為 N! = N ( N1) ( N2) ?? 2 1,從左往右依次計算 ,結(jié)果保存在緩沖區(qū) BUF 中。程序首先將 BP 初始化為 N,N 不等于 0 或 1則將 N 送入 BUF 緩沖區(qū)最低字單元中。每次讓 BP 與 BUF 中的字單元按由低到高的次序相乘。計算結(jié)果的長度隨著乘積運算而不斷增長 ,由字單元 LEN 指示 ,LEN 單元初始化為 1。 【思考題】 試述求 N!的算法
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1