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

正文內(nèi)容

微機(jī)原理與接口技術(shù)實(shí)驗(yàn)(學(xué)生)(編輯修改稿)

2024-12-01 19:13 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 MOV SI, OFFSET MSR 。設(shè)置 SI MOV DI, OFFSET MSD 。設(shè)置 DI MOV CX, LEN NEXT: MOV AL, [SI] 。開(kāi)始傳輸數(shù)據(jù) 第 11 頁(yè) MOV ES:[DI], AL INC SI INC DI DEC CX JNZ NEXT PUSH ES POP DS 。將附加段寄存器的段值賦給數(shù)據(jù)段寄存器 MOV DX, OFFSET MSD MOV AH, 9 INT 21H MOV AX, 4C00H 。利用 DOS功能調(diào)用返回 DOS狀態(tài) INT 21H CODE ENDS END START 將程序主體部分的寄存器間接尋址方式改為相對(duì)尋址方式, 則 如下所示: MOV BX, 0 MOV CX, LEN NEXT: MOV AL, MSR[BX] MOV ES:MSD[BX], AL INC BX LOOP NEXT 四、實(shí)驗(yàn)步驟 1. 運(yùn)行 Tddebug 軟件,選擇 Edit 菜單編寫(xiě)實(shí)驗(yàn)程序 ; 2. 使用 Compile菜單中的 Compile 和 Link對(duì)實(shí)驗(yàn)程序進(jìn)行匯編、連接 ; 3. 使用 Rmrun 菜單中的 Run,運(yùn)行程序,觀察運(yùn)行結(jié)果 ; 4. 使用 Rmrun 菜單中的 Debug,調(diào)試程序,觀察調(diào)試過(guò)程中,數(shù)據(jù)傳輸指令執(zhí)行后,各寄存器及數(shù)據(jù)區(qū)的內(nèi)容 ; 5. 更改數(shù)據(jù)區(qū)中的數(shù)據(jù),考察程序的正確性。 五、實(shí)驗(yàn)報(bào)告內(nèi)容及要求 寫(xiě)出程序調(diào)試過(guò)程及運(yùn)行情況。 第 12 頁(yè) 實(shí)驗(yàn)三 數(shù)碼轉(zhuǎn)換程序?qū)嶒?yàn) 一、實(shí)驗(yàn)?zāi)康? 掌握不同進(jìn)制數(shù)及 編碼相互轉(zhuǎn)換的程序設(shè)計(jì)方法。 二、實(shí)驗(yàn)所用設(shè)備 PC 微機(jī)一臺(tái)。 三、實(shí)驗(yàn)內(nèi)容 計(jì)算機(jī)輸入設(shè)備輸入的信息一般是由 ASCII碼或 BCD碼表示的數(shù)據(jù)或字符, CPU用二進(jìn)制數(shù)進(jìn)行計(jì)算或其 它 信息處理,處理結(jié)果的輸出又必須依照外設(shè)的要求變?yōu)?ASCII碼、 BCD碼或七段顯示碼等。因此,在應(yīng)用軟件中,各類數(shù)制的轉(zhuǎn)換和代碼的轉(zhuǎn)換是必不可少的。計(jì)算機(jī)與外設(shè)間的數(shù)碼轉(zhuǎn)換關(guān)系如圖 31所示,數(shù)碼對(duì)應(yīng)關(guān)系如表 31所示。 圖 31 計(jì)算 機(jī)與外設(shè)間的數(shù)碼轉(zhuǎn)換關(guān)系 1.將 ASCII碼表示的十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù) 十進(jìn)制數(shù)可以 表示為: Dn 10n+Dn1 10n1+? +D0 100 =Di 10i 其中 Di代表十進(jìn)制數(shù) 3? 0。 上式可以轉(zhuǎn)換為: Σ Di 10i=((? (Dn 10+Dn1) 10)+Dn2) 10+? +D1) 10+D0 由上式可歸納十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制的方法:從十進(jìn)制數(shù)的最高位 Dn開(kāi)始作乘 10加次位的操作,依次類推,則可求出二進(jìn)制數(shù)結(jié)第 13 頁(yè) 果。 本實(shí)驗(yàn)要求將緩沖區(qū)中的一個(gè)五位十進(jìn)制數(shù) 00012的 ASCII碼轉(zhuǎn)換成二進(jìn)制數(shù),并 將轉(zhuǎn)換結(jié)果按位顯示 在 屏幕上。轉(zhuǎn)換過(guò)程的參考流程如圖 32所示。 表 31 數(shù) 碼轉(zhuǎn)換對(duì)應(yīng)關(guān)系 2.將十進(jìn)制數(shù)的 ASCII碼轉(zhuǎn)換為 BCD碼 本實(shí)驗(yàn)要求將鍵盤(pán)輸入的一個(gè)五位十進(jìn)制數(shù) 54321的 ASCII碼存放 入 數(shù)據(jù)區(qū)中,轉(zhuǎn)換為 BCD 碼后,并將轉(zhuǎn)換結(jié)果按位分別顯示于屏幕上。若輸入的不是十進(jìn)制數(shù)的 ASCII碼, 則 輸出 “FF”。提示:一字節(jié) ASCII碼取其低四位即變?yōu)?BCD碼。轉(zhuǎn)換部分的實(shí)驗(yàn)流程參見(jiàn) 33。 3.將十六進(jìn)制數(shù)的 ASCII碼轉(zhuǎn)換為十進(jìn)制數(shù) 十六位二進(jìn)制數(shù)的值域?yàn)?065535,最大可轉(zhuǎn)換為 五位十進(jìn)制數(shù)。五位十進(jìn)制數(shù)可表示為: ND=D410 4+D310 3+D210 2+D110+D 0 因此,將十六位二進(jìn)制數(shù)轉(zhuǎn)換為五位 ASCII碼表示的十進(jìn)制數(shù),就是求 D1D4,并將它們轉(zhuǎn)化為 ASCII碼。 圖 32 十進(jìn)制 ASCII轉(zhuǎn)換為 二進(jìn)制數(shù)參考流 程 圖 33 十進(jìn)制 ASCII轉(zhuǎn)換為 BCD碼參考 流程 本實(shí)驗(yàn)要求將緩沖區(qū)中存放的 000CH的 ASCII碼轉(zhuǎn)換成十進(jìn)制數(shù),并將轉(zhuǎn)換結(jié)果顯示在屏幕上。轉(zhuǎn)換部分的實(shí)驗(yàn)流程參見(jiàn) 圖 34。 4. BCD碼轉(zhuǎn)換為二進(jìn)制碼 本實(shí)驗(yàn)要求將四個(gè)二位十進(jìn) 制數(shù)的 BCD碼存放在某一內(nèi)存單元中,轉(zhuǎn)換出的二進(jìn)制數(shù)碼存入其后的內(nèi)存單元中,轉(zhuǎn)換結(jié)束,送屏幕顯示。轉(zhuǎn)換部分的實(shí)驗(yàn)流程參見(jiàn) 35。 四、實(shí)驗(yàn)步驟 1. 運(yùn)行 Tddebug 軟件,選擇 Edit 菜單編寫(xiě)實(shí)驗(yàn)程序 ; 2. 使用 Compile菜單中的 Compile和 Link對(duì)實(shí)驗(yàn)程序進(jìn)行匯編、連接 ; 3. 使用 Rmrun 菜單中的 Run,運(yùn)行程序,觀察運(yùn)行結(jié)果 ; 4. 使用 Rmrun 菜單中的 Debug,調(diào)試程序,觀察調(diào)試過(guò)程中,數(shù)據(jù)傳輸指令執(zhí)行后,各寄存器及數(shù)據(jù)區(qū)的內(nèi)容 ; 第 15 頁(yè) 5. 更改數(shù)據(jù)區(qū)中的數(shù)據(jù),考察程序的正確性。 圖 34 將十六進(jìn) 制數(shù)的 ASCII碼轉(zhuǎn)換為十進(jìn)制數(shù)參考流程 圖 35 BCD碼轉(zhuǎn)換為二進(jìn)制碼 參考流程 五、實(shí)驗(yàn)報(bào)告內(nèi)容及要求 根據(jù)流程圖編寫(xiě)程序并調(diào)試, 寫(xiě)出程序調(diào)試過(guò)程及運(yùn)行情況。 第 16 頁(yè) 實(shí)驗(yàn)四 運(yùn)算類程序 實(shí)驗(yàn) 一、實(shí)驗(yàn)?zāi)康? 1. 掌握運(yùn)算類指令編程及調(diào)試方法 ; 2. 掌握運(yùn)算類指令對(duì)各狀態(tài)標(biāo)志位的影響及測(cè)試方法 。 二、實(shí)驗(yàn)所用設(shè)備 1. PC 微機(jī)一臺(tái)。 三、實(shí)驗(yàn)內(nèi)容 80x86指令系統(tǒng)提供了實(shí)現(xiàn)加、減、乘、除運(yùn)算的基本指令,可對(duì)表 41所示的數(shù)據(jù)類型進(jìn)行算術(shù)運(yùn)算。 表 41 數(shù)據(jù)類 型算術(shù)運(yùn)算表 1.二進(jìn)制雙精度加 法運(yùn)算 本實(shí)驗(yàn) 要求 計(jì)算 X+Y=Z ,將 結(jié)果 Z 輸出 到屏幕 ,其中X=001565A0H, Y=0021B79EH。 實(shí)驗(yàn)利用累加器 AX,先求低十六位和,并存入低址存儲(chǔ)單元,后求高 16位和,再存入高址存儲(chǔ)單元。由于低位和可能向高位有進(jìn)位,因而高位字相加語(yǔ)句需用 ADC指令,則低位相加有進(jìn)位時(shí),CF=1,高位字相加時(shí),同時(shí)加上 CF中的 1。在 80386以上微機(jī)中可以直接使用 32位寄存器和 32位加法指令完成本實(shí)驗(yàn)的功能。 2.十進(jìn)制數(shù)的 BCD碼減法運(yùn)算 本實(shí)驗(yàn)要求計(jì)算 XY=Z,其中, X、 Y、 Z為 BCD碼,其中X=0400H, Y=0102H。 3.乘法運(yùn)算 第 17 頁(yè) 本實(shí)驗(yàn)要求實(shí)現(xiàn)十進(jìn)制數(shù)的乘法,被乘數(shù)和乘數(shù)均以 BCD碼形式存放于內(nèi)存中,被乘數(shù)為 54320H,乘數(shù)為 3H,運(yùn)算結(jié)束后,將乘積在屏幕上顯示。 4.用減奇數(shù)開(kāi)平方運(yùn)算 80x86指令系統(tǒng)中有乘除法指令但沒(méi)有開(kāi)平方指令,因此,開(kāi)平方運(yùn)算是通過(guò)程序來(lái)實(shí)現(xiàn)的。用減奇數(shù)法可求得近似平方根,獲得平方根的整數(shù)部分。我們知道, N個(gè)自然數(shù)中的奇數(shù)之和等于 N2,即: 1+3+5=9=32 1+3+5+7=16=42 1+3+5+7+9+11+13+15=64=82 若要做 S的開(kāi)方運(yùn)算, 那麼就可以從 S中逐次減去自然數(shù)中的奇數(shù) 1, 3, 5, 7?,一直進(jìn)行到相減數(shù)為 0或不夠減下一個(gè)自然數(shù)的奇數(shù)為止,然后統(tǒng)計(jì)減去自然數(shù)的奇數(shù)個(gè)數(shù),它就是 S的近似平方根。 本實(shí)驗(yàn)要求利用減奇法計(jì)算 0040H的開(kāi)平方值,并將運(yùn)算結(jié)果顯示在屏幕上。 四、實(shí)驗(yàn)步驟 1. 運(yùn)行 Tddebug 軟件,選擇 Edit 菜單編寫(xiě)實(shí)驗(yàn)程序 ; 2. 使用 Compile菜單中的 Compile 和 Link對(duì)實(shí)驗(yàn)程序進(jìn)行匯編、連接 ; 3. 使用 Rmrun 菜單中的 Run,運(yùn)行程序,觀察運(yùn)行結(jié)果 ; 4. 使用 Rmrun 菜單中的 Debug,調(diào)試程序,觀察調(diào)試過(guò)程中,數(shù) 據(jù)傳輸指令執(zhí)行后,各寄存器及數(shù)據(jù)區(qū)的內(nèi)容 ; 5. 更改數(shù)據(jù)區(qū)中的數(shù)據(jù),考察程序的正確性。 五、實(shí)驗(yàn)報(bào)告內(nèi)容及要求 根據(jù) 實(shí)驗(yàn)要求 編寫(xiě)程序并調(diào)試,寫(xiě)出程序調(diào)試過(guò)程及運(yùn)行情況。 第 18 頁(yè) 實(shí)驗(yàn)五 分支程序設(shè)計(jì) 實(shí)驗(yàn) 一、實(shí)驗(yàn)?zāi)康? 1. 掌握分支程序的設(shè)計(jì)方法 。 二、實(shí)驗(yàn)所用設(shè)備 1. PC 微機(jī)一臺(tái)。 三、實(shí)驗(yàn)內(nèi)容 程序有順序、循環(huán)、分支和子程序四種結(jié)構(gòu)形式,分支結(jié)構(gòu)的示意圖如圖 51所示。本實(shí)驗(yàn)要求通過(guò)求無(wú)符號(hào)字節(jié)序列中的最大值和最小值來(lái)反映分支程序的結(jié)構(gòu)形式。 圖 51 分支結(jié)構(gòu)示意圖 實(shí)驗(yàn)可以使用 BH, BL作為暫存現(xiàn) 行的最大值和最小值,且在程序的初始,將 BH和 BL初始化為首字節(jié)的內(nèi)容,然后進(jìn)入循環(huán)操作。在循環(huán)操作中,依次從字節(jié)序列中逐個(gè)取出一個(gè)字節(jié)的內(nèi)容與BH, BL進(jìn)行比較,若取出的字節(jié)內(nèi)容比 BH的內(nèi)容大或比 BL中的內(nèi)容小,則修改之。當(dāng)循環(huán)結(jié)束操作時(shí),將 BH, BL分別送屏幕顯示。參考實(shí)驗(yàn)流程如圖 52所示。 四、實(shí)驗(yàn)步驟 1. 運(yùn)行 Tddebug 軟件,選擇 Edit 菜單編寫(xiě)實(shí)驗(yàn)程序 , 提供 8 字節(jié)的數(shù)據(jù): 0D9H, 07H, 8BH, 0C5H, 0EBH, 04H, 9DH,第 19 頁(yè) 0F9H; 2. 使用 Compile菜單中的 Compile 和 Link對(duì)實(shí)驗(yàn)程序進(jìn)行匯編、連接 ; 3. 使用 Rmrun 菜單中的 Run,運(yùn)行程序,觀察運(yùn)行結(jié)果 ; 4. 更改數(shù)據(jù)區(qū)中的數(shù)據(jù),考察程序的正確性。 五、實(shí)驗(yàn)報(bào)告內(nèi)容及要求 根據(jù) 實(shí)驗(yàn)要求 編寫(xiě)程序并調(diào)試,寫(xiě)出程序調(diào)試過(guò)程及運(yùn)行情況。 圖 52 分支程序?qū)嶒?yàn)流程圖 第 20 頁(yè) 實(shí)驗(yàn)六 循環(huán)程序設(shè)計(jì) 實(shí)驗(yàn) 一、實(shí)驗(yàn)?zāi)康? 1. 掌握 循環(huán)程序的設(shè)計(jì)方法 。 二、實(shí)驗(yàn)所用設(shè)備 1. PC 微機(jī)一臺(tái)。 三、實(shí)驗(yàn)內(nèi)容 本實(shí)驗(yàn)要求通過(guò)求某數(shù)據(jù)區(qū)內(nèi)負(fù)數(shù)的個(gè)數(shù)來(lái)表現(xiàn)循環(huán)程序的結(jié)構(gòu)形式。要求實(shí)驗(yàn)程序在數(shù)據(jù)區(qū)中存放一組數(shù)據(jù),為統(tǒng)計(jì)負(fù)數(shù)的個(gè)數(shù),逐個(gè)判斷區(qū)內(nèi)的數(shù)據(jù),然 后將所有數(shù)據(jù)中凡是符號(hào)位為 1的數(shù)據(jù)的個(gè)數(shù)累加起來(lái),即得到區(qū)內(nèi)所包含負(fù)數(shù)的個(gè)數(shù)。循環(huán)程序的結(jié)構(gòu)示意如圖 61所示。 圖 61 循 環(huán)結(jié)構(gòu) 示意 圖 四、實(shí)驗(yàn)步驟 1. 運(yùn)行 Tddebug 軟件,選擇 Edit 菜單編寫(xiě)實(shí)驗(yàn)程序 , 提供 10字節(jié)的數(shù)據(jù): 12H, 88H, 82H, 89H, 33H, 90H, 01H, 10H,0BDH, 01H; 第 21 頁(yè) 2. 使用 Compile菜單中的 Compile 和 Link對(duì)實(shí)驗(yàn)程序進(jìn)行匯編、連接 ; 3. 使用 Rmrun 菜單中的 Run,運(yùn)行程序,觀察運(yùn)行結(jié)果 ; 4. 更改數(shù)據(jù)區(qū)中的數(shù)據(jù),考察程序的正確性。 五、實(shí) 驗(yàn)報(bào)告內(nèi)容及要求 根據(jù) 實(shí)驗(yàn)要求 編寫(xiě)程序并調(diào)試,寫(xiě)出程序調(diào)試過(guò)程及運(yùn)行情況。 第 22 頁(yè) 實(shí)驗(yàn)七 子程序設(shè)計(jì) 實(shí)驗(yàn) * 一、實(shí)驗(yàn)?zāi)康? 1. 掌握子程序的定義調(diào)用方法 ; 2. 掌握系統(tǒng)功能調(diào)用程序的使用和編寫(xiě)方法 。 二、實(shí)驗(yàn)所用設(shè)備 1. PC 微機(jī)一臺(tái)。 三、實(shí)驗(yàn)內(nèi)容 在匯編程序設(shè)計(jì)中,用戶通常會(huì)將常用的具有特定功能的程序段編制成子程序使用。一般過(guò)程定義偽操作的格式如下: procedure name PROC Attribute ? procedure name ENDP 其中 Attribute 是指類型屬性,可以是 NEAR或 FAR,調(diào)用程序和過(guò)程在同一個(gè)代碼段中使用 NEAR屬性,不在同一個(gè)代碼段中,使用 FAR。 1. 數(shù)據(jù)移動(dòng)實(shí)驗(yàn) 本實(shí)驗(yàn)要求將指定數(shù)據(jù)區(qū)的數(shù)據(jù)搬移到另一個(gè)數(shù)據(jù)區(qū),并通過(guò)子程序調(diào)用的方法將搬移的數(shù)據(jù)顯示在屏幕上。 圖 71 源數(shù)據(jù)塊和目標(biāo)數(shù)據(jù)塊在存儲(chǔ)器中的位置示意 源數(shù)據(jù)塊和目標(biāo)數(shù)據(jù)塊在存儲(chǔ)中的位置可能有三種情況,如圖第 23 頁(yè) 71所示。對(duì)于兩個(gè)數(shù)據(jù)塊分離的情況,數(shù)據(jù)的傳送從數(shù)據(jù)塊的首地址開(kāi)始,或者從數(shù)據(jù)塊的末地址開(kāi)始均可。但對(duì)于有部分重疊的情況,則要加以分析,否則重疊部分會(huì)因搬移而遭到破壞。所以搬移過(guò)程 可以通過(guò)以下兩個(gè)方式完成:當(dāng)源數(shù)據(jù)塊首地址 目標(biāo)塊首址時(shí),從數(shù)據(jù)塊的首地址開(kāi)始傳送數(shù)據(jù);當(dāng)源數(shù)據(jù)塊首地址 目標(biāo)塊首址時(shí),從數(shù)據(jù)塊的末地址開(kāi)始傳送數(shù)據(jù)。 2. 數(shù)碼轉(zhuǎn)換及顯示實(shí)驗(yàn) 有時(shí)當(dāng)系統(tǒng)運(yùn)行或者程序運(yùn)行期間在遇到某些特殊情況時(shí),需要計(jì)算機(jī)自動(dòng)執(zhí)行一組專門的例行程序來(lái)進(jìn)行中斷處理。這段例程稱為中斷子程序。中斷分為內(nèi)部中斷和外部中斷兩類。象除法錯(cuò)或者程序中為了作某些處理而設(shè)置的中斷指令等屬于內(nèi)部中斷。外部中斷則主要用來(lái)處理 I/O設(shè)備與 CPU之間的通信。 在匯編語(yǔ)言程序設(shè)計(jì)中使用系統(tǒng)功能調(diào)用程序,只需要通 過(guò)MOV指令,將中斷參數(shù)裝到與此有關(guān)的寄存器中,然后用 INT指令調(diào)用所需中斷。如果希望中斷處理程序是用戶自己編寫(xiě)的一段程序,則需要修改對(duì)應(yīng)中斷的中斷處理程序入口。微機(jī)系統(tǒng)中可以使用 0255共 256個(gè)中斷。當(dāng) 80x
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1