歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

微型計(jì)算機(jī)原理與應(yīng)用技術(shù)部分復(fù)習(xí)題答案(新)

  • 資源ID:199852392       資源大?。?span id="f9dxtvv" class="font-tahoma">311KB        全文頁數(shù):37頁
  • 資源格式: DOC        下載積分:10積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要10積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請(qǐng)知曉。

微型計(jì)算機(jī)原理與應(yīng)用技術(shù)部分復(fù)習(xí)題答案(新)

《微型計(jì)算機(jī)原理及應(yīng)用技術(shù)》習(xí)題答案 為了配合《計(jì)算機(jī)原理及硬件技術(shù)》課程的學(xué)習(xí),特編制此部分習(xí)題答案,以便對(duì)廣大同學(xué)的學(xué)習(xí)能有所幫助。 但由于時(shí)間倉促,難免有錯(cuò)誤之處,請(qǐng)同學(xué)們?cè)趯W(xué)習(xí)中發(fā)現(xiàn)錯(cuò)誤盡快找老師聯(lián)系進(jìn)行更正,可以通過email 郵箱聯(lián)系: gongdajixi@ 第一章 微機(jī)基礎(chǔ)知識(shí) 一、選擇題 1.一臺(tái)完整的微機(jī)系統(tǒng)應(yīng)包括( )。 A A.硬件和軟件 B.運(yùn)算器、控制器和存儲(chǔ)器 C.主機(jī)和外部設(shè)備 D.主機(jī)和實(shí)用程序 2.微機(jī)硬件中最核心的部件是( )。 C A.運(yùn)算器 B.主存儲(chǔ)器 C.CPU D.輸入/輸出設(shè)備 3.微機(jī)的性能主要取決于( )。 A A.CPU B.主存儲(chǔ)器 C.硬盤 D.顯示器 4. 帶符號(hào)數(shù)在計(jì)算機(jī)中通常采用( )來表示。 C A.原碼 B.反碼 C.補(bǔ)碼 D.BCD碼 5.已知某數(shù)為-128,其機(jī)器數(shù)為10000000B,則其機(jī)內(nèi)采用的是( )表示。 C A.原碼 B.反碼 C.補(bǔ)碼 D.真值 6.在8位二進(jìn)制數(shù)中,采用補(bǔ)碼表示時(shí)數(shù)的真值范圍是( )。 C A.-127~+127 B.-127~+128 C.-128~+127 D.-128~+128 7.大寫字母“B”的ASCII碼是( )。 B A. 41H B. 42H C. 61H D. 62H 8.某數(shù)在計(jì)算機(jī)中用8421-BCD碼表示為10010011,其真值為( )。 C A.10010011B B.93H C.93 D.147 二、填空題: 1. 微機(jī)的硬件主要包括主機(jī)和外設(shè)等部分。 2. 系統(tǒng)軟件主要包括操作系統(tǒng)、語言處理程序和各種實(shí)用程序等。 3. 任何計(jì)數(shù)制都可以采用基數(shù)和位權(quán)來表示,二進(jìn)制的基數(shù)為2,其中第n位的位權(quán)為2n-1。 4. 計(jì)算機(jī)中的數(shù)有_數(shù)值型和非數(shù)值型_兩種表示方法,前者的特點(diǎn)是_表示數(shù)值大小,進(jìn)行算術(shù)運(yùn)算等處理操作_;后者的特點(diǎn)是_表示字符編碼,在計(jì)算機(jī)中描述某種特定的信息。 5. 計(jì)算機(jī)中參加運(yùn)算的數(shù)及運(yùn)算結(jié)果都應(yīng)在用原碼表示的-2n-1 ≤ X < +2n-1范圍內(nèi),若參加運(yùn)算的數(shù)及運(yùn)算結(jié)果-2n-1 > X±Y ≥ +2n-1,稱為數(shù)據(jù)溢出。注:其中n為計(jì)算機(jī)的字長 6. 計(jì)算機(jī)中帶符號(hào)的數(shù)在運(yùn)算處理時(shí)通常采用補(bǔ)碼表示,其好處在于簡化機(jī)器數(shù)的運(yùn)算。 7. ASCII碼可以表示_128_種字符,其中起控制作用的稱為_功能碼_;供書寫程序和描述命令使用的稱為_信息碼_。 8. 已知某數(shù)為61H,若為無符號(hào)數(shù)代表 97D ;若為帶符號(hào)數(shù)代表 +97D ;若為ASCII碼代表a;若為BCD碼代表 61 。 三、判斷題 1.由于物理器件的性能,決定了微機(jī)內(nèi)部的所有信息仍以二進(jìn)制方式表示。 ( )√ 2.微機(jī)中數(shù)據(jù)的表示范圍不受計(jì)算機(jī)字長的限制。 ( ) × 3.微機(jī)地址總線的寬度決定內(nèi)存容量的大小。 ( ) √ 4.“0”的原碼和反碼各有不同表示,而“0”的補(bǔ)碼表示是唯一的。 ( )√ 5.微機(jī)在運(yùn)算中產(chǎn)生數(shù)據(jù)溢出,其原因是運(yùn)算過程中最高位產(chǎn)生了進(jìn)位。 ( )× 6.微機(jī)鍵盤輸入的各類符號(hào)在計(jì)算機(jī)內(nèi)部均表示為ASCII碼。 ( ) × 四、數(shù)制轉(zhuǎn)換題 1.將下列十進(jìn)制數(shù)分別轉(zhuǎn)換為二進(jìn)制數(shù)、十六進(jìn)制數(shù)和壓縮BCD碼。 (1)26 (2)47 (3)125 (4)228 答: (1) (2) (3) (4) 十進(jìn)制數(shù) 26 47 125 228 二進(jìn)制數(shù) 11010 101111 1111101 11100100 十六進(jìn)制數(shù) 1AH 2FH 7DH E4H 壓縮BCD碼 00100110 01000111 000100100101 001000101000 方法: 轉(zhuǎn)換為二進(jìn)制數(shù):用“除R取余”法 轉(zhuǎn)換為十六進(jìn)制數(shù):將二進(jìn)制數(shù)采用“四合一”法(即每四位分為一段) 轉(zhuǎn)換為壓縮BCD碼:將十進(jìn)制數(shù)采用“一分四”法(即每一位用四位二進(jìn)制數(shù)表示)例如: 26D=0010 0110=26BCD 2.將下列二進(jìn)制數(shù)或十六進(jìn)制數(shù)分別轉(zhuǎn)換為十進(jìn)制數(shù)。 (1)10110110B (2)10100101B (3)A8H (4)B5.62H 答:按位權(quán)展開法進(jìn)行求解。 (1) (2) (3) (4) 10110110B 10100101B A8H B5.62H 十進(jìn)制數(shù) 182 165 168 181.3828125 例如: (1) 10110110B = 1×27+1×25+1×24+1×22+1×21 = 182D (3) A8H = A×16+8 = 10×16+8 = 168 D 3.寫出下列帶符號(hào)十進(jìn)制數(shù)的原碼、反碼、補(bǔ)碼表示(采用8位二進(jìn)制數(shù))。 (1)+28 (2)+75 (3)-38 (4)-119 答:(1) +28 [28]原=0001 1100 ; [28]反=0001 1100 ; [28]補(bǔ)=0001 1100 (2) +75 [75]原=0100 1011 ; [75]反=0100 1011 ; [75]補(bǔ)=0100 1011 (3) -38 [-38]原=1010 0110 ; [-38]反=1101 1001 ; [-38]補(bǔ)=1101 1010 (4) -119 [-119]原=1111 0111 ; [-119]反=1000 1000 ; [-119]補(bǔ)=1000 1001 4. 已知下列補(bǔ)碼求出其真值。 (1)97H (2)3FH (3)3C2AH (4)8B4CH 答:解法:先用[X]補(bǔ) 最高位確定真值的符號(hào),然后求[X]反,再加1得出X,最后若需要將其轉(zhuǎn)換為十進(jìn)制數(shù),可以將十六進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)。 (1) [X]補(bǔ) = 97H = 10010111B,符號(hào)位為1,X是負(fù)數(shù),[X]反 =[0010111] 補(bǔ)= [1101000]反,[X] 原=-([X]反+1) = -([1101000]反+1) =([1101001] 原) ,X = -69H = -105D (2) [X]補(bǔ) = 3FH = 00111111B,符號(hào)位為0,X是正數(shù),X =[X]補(bǔ) = 3FH = 63D (3) [X]補(bǔ) = 3C2AH = 0011110000101010B,符號(hào)位為0,X是正數(shù),X = 3C2A H (4) [X]補(bǔ) = 8B4CH = 1000101101001100B,符號(hào)位為1,X是負(fù)數(shù), [X]原 = -111010010110011B, X = -74B4H 5. 按照字符所對(duì)應(yīng)的ASCII碼值,查表寫出下列字符的ASCII碼。 K、b、good、*、$、 ESC、LF、CR、 答: K b good * $ ESC LF CR 4BH 62H 676F6F64H 2AH 24H 1BH 0AH 0DH 五、簡答題 1. 常見的微機(jī)硬件結(jié)構(gòu)由哪些部分組成?各部分主要功能和特點(diǎn)是什么? 答:常見的微機(jī)硬件結(jié)構(gòu)組成部分有:中央處理機(jī)、存儲(chǔ)器、系統(tǒng)總線、接口電路、主機(jī)板及I/O設(shè)備等部件。 主要組成部件的功能和特點(diǎn)分析如下: (1) 中央處理器CPU:是微型計(jì)算機(jī)部件,它包含運(yùn)算器、控制器、寄存器組及總線接口等部件。它負(fù)責(zé)對(duì)系統(tǒng)的各模塊進(jìn)行統(tǒng)一的協(xié)調(diào)和控制。 (2) 主存儲(chǔ)器:是微型計(jì)算機(jī)中存儲(chǔ)程序、原始程序、中間結(jié)果和最終結(jié)果等各種信息的部件??煞譃殡S機(jī)存儲(chǔ)器(RAM)和只讀存儲(chǔ)器(ROM)。 (3) 系統(tǒng)總線:是CPU與其他部件之間傳輸數(shù)據(jù)、地址和控制信息的公共通道。各部件直接用系統(tǒng)總線相連,信號(hào)通過總線相互傳輸。根據(jù)傳輸內(nèi)容不同,可以分成數(shù)據(jù)總線、地址總線和控制總線。 (4) 輸入/輸出接口電路:也成為I/O電路。是微型計(jì)算機(jī)與外部設(shè)備交換信息的橋梁。由寄存器組、專用存儲(chǔ)器和控制電路等組成。 (5) 主機(jī)板:由CPU、RAM、ROM、I/O接口電路及系統(tǒng)總線等部件組成的計(jì)算機(jī)裝置稱為主機(jī)。主機(jī)的主體是主機(jī)板,CPU就安裝在它上面,主機(jī)板上有內(nèi)存插槽、總線擴(kuò)展槽、串行/并行接口、各種跳線和一些輔助電路等硬件。 (6) 外存儲(chǔ)器:使用最多的是磁盤存儲(chǔ)器(軟盤、硬盤)和光盤存儲(chǔ)器。外存儲(chǔ)器容量大,保存的信息不會(huì)丟失。 (7) 輸入/輸入設(shè)備:是微型計(jì)算機(jī)系統(tǒng)與外部進(jìn)行通信聯(lián)系的主要裝置。常用的有鍵盤、鼠標(biāo)、顯示器、打印機(jī)和掃描儀等。 2. 計(jì)算機(jī)中有哪些常用的計(jì)數(shù)制?如何進(jìn)行數(shù)制之間的轉(zhuǎn)換? 答:數(shù)值數(shù)據(jù)經(jīng)常用二進(jìn)制、十進(jìn)制、八進(jìn)制和十六進(jìn)制;字符數(shù)據(jù)使用ASCII碼;表示十進(jìn)制數(shù)字用BCD碼。 (1) 十進(jìn)制轉(zhuǎn)換為二進(jìn)制:整數(shù)部分連續(xù)除以2后“倒取余”,小數(shù)部分連續(xù)乘以2后“正取整”。 (2) 二進(jìn)制轉(zhuǎn)換為十進(jìn)制:將二進(jìn)制數(shù)按權(quán)展開即可。 (3) 二進(jìn)制與八進(jìn)制之間的轉(zhuǎn)換:將3位二進(jìn)制一組對(duì)應(yīng)1位八進(jìn)制數(shù)。 (4) 二進(jìn)制與十六進(jìn)制之間的轉(zhuǎn)換:將4位二進(jìn)制一組對(duì)應(yīng)1位十六進(jìn)制數(shù)。 3.如何判斷數(shù)據(jù)運(yùn)算的溢出? 答:“溢出”的概念:當(dāng)運(yùn)算結(jié)果超出了結(jié)果單元所能表示的數(shù)值范圍(即用原碼表示的-2n-1 > X±Y ≥ +2n-1范圍)時(shí),會(huì)產(chǎn)生錯(cuò)誤結(jié)果。這種現(xiàn)象稱為“溢出”。 “溢出”與數(shù)的表示方法有關(guān),因而“溢出”的判別方法也不同。在補(bǔ)碼運(yùn)算中,有符號(hào)數(shù)常用“雙進(jìn)位位”法判別(即:最高位與次高位都產(chǎn)生進(jìn)位表明運(yùn)算有“溢出”),無符號(hào)數(shù)值要運(yùn)算有進(jìn)位或借位就表明運(yùn)算有“溢出”。 4. ASCII碼和BCD碼有哪些特點(diǎn)?其應(yīng)用場(chǎng)合是什么? 答:ASCII碼的特點(diǎn)為:每個(gè)字符用7位二進(jìn)制數(shù)表示,總共有128個(gè)字符;ASCII碼表中的英文字母和數(shù)字都是按順序排列;128個(gè)字符包含94種信息碼和34種功能碼兩大類; ASCII碼用于表示英文字母的大小寫、數(shù)字、專用字符和控制字符,ASCII碼的最高位用于奇偶校驗(yàn)等場(chǎng)合。 BCD碼有壓縮BCD碼和非壓縮BCD碼的兩種表示形式。其特點(diǎn)為:它是一種有權(quán)碼,BCD碼采用4位二進(jìn)制數(shù)表示1位十進(jìn)制數(shù),自左至右每一位對(duì)應(yīng)的位權(quán)是:8、4、2、1;簡單直觀,每個(gè)代碼符合二進(jìn)制和十進(jìn)制的轉(zhuǎn)換規(guī)則;不允許出現(xiàn)1010B~1111B 中的任一種6個(gè)代碼。用于進(jìn)行十進(jìn)制數(shù)的表示和計(jì)算等場(chǎng)合。 本章重點(diǎn)題目: 一、4.;2.;6.; 8. 二、3.;7. 三、1.;2.;3.; 6. 四、2.(1).(2).(3).(4);3.(2).(3);4.(1).(2) 五、2. 第2章 典型微處理器 一、選擇題 1. 在執(zhí)行部件EU中實(shí)現(xiàn)數(shù)據(jù)加工與處理的功能部件是( )。 C A. 數(shù)據(jù)暫存器 B. 數(shù)據(jù)寄存器 C. ALU D.EU控制電路 2. 以下不屬于總線接口部件BIU中功能部件的是( )。 A A. 地址寄存器 B. 地址加法器 C.段寄存器 D.指令隊(duì)列緩沖器 3. 可用作堆棧指針寄存器的是( )。 C A. SI B. DI C. SP D. DX 4. 堆棧操作中用于指示棧頂基址的寄存器是( )。 C A. SS B. SP C. BP D. CS 5. 指令指針寄存器IP中存放的內(nèi)容是( )。 C A. 指令 B. 操作數(shù) C. 指令地址 D. 操作數(shù)地址 6. 8086最大和最小工作模式的主要差別是( )。 D A.數(shù)據(jù)總線的位數(shù)不同 B.地址總線的位數(shù)不同 C.I/O端口數(shù)的不同 D.單處理器與多處理器的不同 二、填空題: 1. 8086的內(nèi)部結(jié)構(gòu)由_EU_和_BIU_組成,前者功能是_執(zhí)行指令_,后者功能是_總線操作_。 2. 8086有 20 條地址線,可直接尋址 1MB 容量的內(nèi)存空間,其物理地址范圍是00000H~FFFFFH 。 3. 8086的指令隊(duì)列作用是 預(yù)取指令 ,其長度是 6個(gè) 字節(jié)。 4. 8086標(biāo)志寄存器共有_9_個(gè)標(biāo)志位,分為_6_個(gè)_狀態(tài)_標(biāo)志位和_3_個(gè)_控制_標(biāo)志位。 5. 8086為訪問1MB內(nèi)存空間,將存儲(chǔ)器進(jìn)行_分段_管理;其_物理_地址是唯一的;偏移地址是指_相對(duì)段基地址的偏移量_;邏輯地址常用于_程序中_。 6. 邏輯地址為2100H:0180H時(shí),其物理地址是_21180H_,段地址是_2100H_,偏移量是_0180H_。 7. 時(shí)鐘周期是指_CPU基本時(shí)間計(jì)量單位_,總線周期是指_一次總線操作時(shí)間_,總線操作是指_CPU經(jīng)外部總線對(duì)存儲(chǔ)器或I/O端口進(jìn)行一次信息輸入和輸出的過程_。 8. 8086工作在最大方式時(shí)CPU引腳MN/-MX應(yīng)接_地_;最大和最小工作方式的應(yīng)用場(chǎng)合分別是_多處理器和單處理器系統(tǒng)_。 三、判斷題 1. 8086訪問內(nèi)存的20位物理地址是在BIU中由地址加法器實(shí)現(xiàn)的。 ( )√ 2. 若計(jì)算結(jié)果為0,則標(biāo)志寄存器的ZF=0. ( )× 3. IP中存放的是正在執(zhí)行的指令偏移地址。 ( )× 4. 邏輯地址是在書寫匯編程序中用到的操作數(shù)存儲(chǔ)地址。 ( )√ 5. 從內(nèi)存單元偶地址開始存放的數(shù)據(jù)稱為規(guī)則字。 ( ) √ 6. 指令執(zhí)行中插入T1和TW是為了解決CPU與外設(shè)之間的速度差異。 ( )× 7. 8086系統(tǒng)復(fù)位后重新啟動(dòng)時(shí)從內(nèi)存的FFFF0H地址處開始執(zhí)行。 ( )√ 四、簡答題 1. 8086系統(tǒng)中的存儲(chǔ)器分為幾個(gè)邏輯段?每個(gè)段寄存器的作用是什么? 答:8086CPU將1MB的存儲(chǔ)空間分成若干個(gè)邏輯段來進(jìn)行管理:每個(gè)邏輯段最小為16B,最大為64KB。最多可分成64K個(gè)邏輯段,最少可分成16個(gè)邏輯段。 4個(gè)16位的段寄存器用來存放每一個(gè)邏輯段的段起始地址:CS中為代碼段的起始地址;DS中為數(shù)據(jù)段的起始地址;SS中為堆棧段的起始地址;ES中為附加段的起始地址。 2. I/O端口有哪兩種編址方式?8086最大I/O尋址空間是多少? 答:I/O端口的兩種編址方式分別為:統(tǒng)一編址和獨(dú)立編址。8086最大I/O尋址空間是64KB。 3. 8086的最大和最小工作模式的主要區(qū)別是什么?如何進(jìn)行控制? 答:兩種模式的主要區(qū)別是: 8086工作在最小模式時(shí),系統(tǒng)只有一個(gè)微處理器,且系統(tǒng)所有的控制信號(hào)全部由8086 CPU提供;在最大模式時(shí),系統(tǒng)由多個(gè)微處理器/協(xié)處理器構(gòu)成的多機(jī)系統(tǒng),控制信號(hào)通過總線控制器產(chǎn)生,且系統(tǒng)資源由各處理器共享。 8086CPU工作在哪種模式下通過CPU的第33條引腳MN/來控制:MN/=1,系統(tǒng)就處于最小工作模式;MN/=0,系統(tǒng)處于最大工作模式。 5. 簡述Pentium微處理器的內(nèi)部主要部件的功能。 答:Pentium微處理器的主要部件包括總線接口部件、指令高速緩存器、數(shù)據(jù)高速緩存器、指令預(yù)取部件與轉(zhuǎn)移目標(biāo)緩沖器、寄存器組、指令譯碼部件、具有兩條流水線的整數(shù)處理部件(U流水線和V流水線)、以及浮點(diǎn)處理部件FPU等。 各主要部件的功能分析如下: (1)整數(shù)處理部件:U流水線和V流水線都可以執(zhí)行整數(shù)指令,U流水線還可執(zhí)行浮點(diǎn)指令。因此能夠在每個(gè)時(shí)鐘周期內(nèi)同時(shí)執(zhí)行兩條整數(shù)指令。 (2)浮點(diǎn)處理部件FPU:高度流水線化的浮點(diǎn)操作與整數(shù)流水線集成在一起。微處理器內(nèi)部流水線進(jìn)一步分割成若干個(gè)小而快的級(jí)段。 (3)獨(dú)立的數(shù)據(jù)和指令高速緩存Cache:兩個(gè)獨(dú)立的8KB指令和8KB數(shù)據(jù)Cache可擴(kuò)展到12KB,允許同時(shí)存取,內(nèi)部數(shù)據(jù)傳輸效率更高。兩個(gè)Cache采用雙路相關(guān)聯(lián)的結(jié)構(gòu),每路128個(gè)高速緩存行,每行可存放32B。數(shù)據(jù)高速緩存兩端口對(duì)應(yīng)U、V流水線。 (4)指令集與指令預(yù)?。褐噶铑A(yù)取緩沖器順序地處理指令地址,直到它取到一條分支指令,此時(shí)存放有關(guān)分支歷史信息的分支目標(biāo)緩沖器BTB將對(duì)預(yù)取到的分支指令是否導(dǎo)致分支進(jìn)行預(yù)測(cè)。 (5)分支預(yù)測(cè):指令預(yù)取處理中增加了分支預(yù)測(cè)邏輯,提供分支目標(biāo)緩沖器來預(yù)測(cè)程序轉(zhuǎn)移。 五、分析設(shè)計(jì)題 1. 在內(nèi)存有一個(gè)由10個(gè)字節(jié)組成的數(shù)據(jù)區(qū),起始地址為1200H:0010H。計(jì)算出該數(shù)據(jù)區(qū)在內(nèi)存的首末單元的實(shí)際地址。 答:邏輯地址1200H:0010H對(duì)應(yīng)的物理地址為PA=1200H×10H+0010H= 12010H,即該數(shù)據(jù)區(qū)在內(nèi)存中的首單元的物理地址為12010H;因?yàn)榇鎯?chǔ)空間中每個(gè)字節(jié)單元對(duì)應(yīng)一個(gè)地址,所以10個(gè)字節(jié)對(duì)應(yīng)10個(gè)地址,則該數(shù)據(jù)區(qū)在內(nèi)存中的末單元的物理地址PA = 12010H+10D = 12010H+0AH = 1201AH。 2. 有兩個(gè)16位的字?jǐn)?shù)據(jù)32D7H和2E8FH,在存儲(chǔ)器中的物理地址分別為10210H和10212H,試畫出它們的存儲(chǔ)示意圖。 地址 存儲(chǔ)空間 10210H D7H 10211H 32H . . . 10212H 8FH 10213H 2EH 答: 3. 內(nèi)存中有一個(gè)程序段,保存位置為(CS)=13A0H,(IP)=0110H,當(dāng)計(jì)算機(jī)執(zhí)行該程序段指令時(shí),實(shí)際啟動(dòng)的物理地址是多少? 答:邏輯地址(CS):(IP)= 13A0H:0110H,計(jì)算出對(duì)應(yīng)物理地址PA= (CS)×10H+(IP)= 13A0H×10H+0110H = 13B10H 本章重點(diǎn)題目: 一、2.;3.;5.;6. 二、4.;8. 四、2. 五、1. 三、2.;3.;5.;6.; 7. 第3章 指令系統(tǒng)和尋址方式 一、選擇題 1. 寄存器間接尋址方式中,要尋找的操作數(shù)位于( )中。 C A.通用寄存器 B. 段寄存器 C. 內(nèi)存單元 D.堆棧區(qū) 2. 下列傳送指令中正確的是( )。 C A. MOV AL,BX B. MOV CS,AX C. MOV AL,CL D. MOV [BX],[SI] 3. 下列指令中錯(cuò)誤的是( )。 C A. MOV AX,1234H B. INC BX C. SAL AX,2 D. PUSH DX 4. 設(shè)(SP)=1010H,執(zhí)行PUSH AX后,SP中的內(nèi)容為( )。 C A. 1011H B. 1012H C. 1OOEH D. 100FH 5. 將AX清零并使CF位清零,下面指令錯(cuò)誤的是( )。 A A. SUB AX,BX B. XOR AX,AX C. MOV AX,0 D.AND AX,0OOOH 6. 對(duì)兩個(gè)帶符號(hào)數(shù)A和B進(jìn)行比較,要判斷A是否大于B,應(yīng)采用指令( )。 B A. JA B. JG C. JNB D. JNA 7. 已知(AL)=80H,(CL)=02H,執(zhí)行指令SHR AL,CL執(zhí)行后的結(jié)果是( )。 B A. (AL)=40H B. (AL)=20H C. (AL)=C0H D.(AL)=E0H 二、填空題: 1. 計(jì)算機(jī)指令通常由_操作碼字段_和_操作數(shù)字段_兩部分組成;指令對(duì)數(shù)據(jù)操作時(shí).按照數(shù)據(jù)的存放位置可分為_立即數(shù)、寄存器操作數(shù)、存儲(chǔ)器操作數(shù)_。 2. 尋址的含義是指_尋找操作數(shù)的過程_;8086指令系統(tǒng)的尋址方式按照大類可分為_立即數(shù)尋址方式、寄存器尋址方式、存儲(chǔ)器尋址方式和I/O端口尋址方式_;其中尋址速度最快的是_立即數(shù)尋址_。 3. 若指令操作數(shù)保存在存儲(chǔ)器中,操作數(shù)的段地址隱含在 數(shù)據(jù)段 DS寄存器或堆棧段SS寄存器 中;可以采用的尋址方式有 直接尋址方式、寄存器間接尋址方式、寄存器相對(duì)尋址方式、基址變址尋址方式、相對(duì)基址變址尋址方式 。 4. 指令MOV AX,ES:[BX+O1OOH]中,源操作數(shù)位于_物理地址為ES*10H+BX+0100H的存儲(chǔ)單元;讀取的是_附加數(shù)據(jù)ES_段的存儲(chǔ)單元內(nèi)容。 5. 堆棧是一個(gè)特殊的_存儲(chǔ)器區(qū)域_,其操作是以_2字節(jié)單元_為單位按照_先進(jìn)后出_原則來處理;采用_SP_指向棧頂?shù)刂?,入棧時(shí)地址變化為_SP←(SP)-2_。 6. I/O端口的尋址有_直接端口尋址和間接端口尋址_兩種方式;采用8位數(shù)時(shí),可訪問的端口地址為_0~255_;采用16位數(shù)時(shí),可訪問的端口地址為_0~65535_。 三、分析計(jì)算題 1. 設(shè)(DS)=2000H,(ES)= 2100H,(SS)= 1500H,(SI)= 00A0H,(BX)= 0100H,(BP)= 0010H,數(shù)據(jù)段ARY的位移量為0050H,試指出下列各指令中源操作數(shù)的尋址方式,對(duì)于內(nèi)存單元的操作數(shù)計(jì)算出其物理地址。 (1) MOV AX,2345H (2) MOV AX,BX (3) MOV AX,[1000H] (4) MOV AX,ARY (5) MOV AX,[BX] (6) MOV AX,ES:[BX] (7) MOV AX,[BP] (8) MOV AX,20H[BX] (9) MOV AX,[SI] (10) MOV AX,[BX][SI] (11) MOV AX,ARY[BP][SI] (12) MOV AX,ES:[BX][SI] (13) MOV AX,ES:ARY[BX] (14) MOV AX,[BP][SI] 答: (1) MOV AX,2345H 立即尋址,源操作數(shù)直接放在指令中 (2) MOV AX,BX 寄存器尋址,源操作數(shù)放在寄存器BX中 (3) MOV AX,[0100H] 直接尋址,EA = 0100H, PA =(DS)×10H+EA = 2000H×10H+0100H = 20100H (4) MOV AX,ARY 直接尋址,EA = [ARY] = 0050H, PA =(DS)×10H+EA = 2000H×10H+0050H = 20050H (5) MOV AX,[BX] 寄存器間接尋址,EA =(BX)= 0100H, PA =(DS)×10H+EA = 2000H×10H+0100H = 20100H (6) MOV AX,ES:[BX] 寄存器間接尋址,EA =(BX)= 0100H, PA =(ES)×10H+EA = 2100H×10H+0100H = 21100H (7) MOV AX,[BP] 寄存器間接尋址,EA =(BP)= 0010H, PA =(SS)×10H+EA = 1500H×10H+0010H = 15010H (8) MOV AX,20H[BX] 寄存器相對(duì)尋址,EA =(BX+20H)= 0100H+20H=0120H, PA =(DS)×10H+EA = 2000H×10H+0120H = 20120H (9) MOV AX,[SI] 寄存器間接尋址,EA =(SI)= 00A0H, PA =(DS)×10H+EA = 2000H×10H+00A0H = 200A0H (10) MOV AX, [BX][SI] 基址變址尋址,EA =(BX)+(SI) = 0100H+00A0H = 01A0H, PA =(DS)×10H+EA = 2000H×10H+01A0H = 201A0H (11) MOV AX,ARY[BP][SI] 相對(duì)基址變址尋址,EA = [ARY]+(BP)+(SI)= 0050H+0010H+00A0H = 0100H, PA =(SS)×10H+EA = 1500H×10H+0100H = 15100H (12) MOV AX,ES:[BX][SI] 相對(duì)基址變址尋址,EA =(BX)+(SI)= 0100H+00A0H = 01A0H, PA =(ES)×10H+EA = 2100H×10H+01A0H = 211A0H (13) MOV AX,ES:ARY[BX] 相對(duì)基址變址尋址,EA =[ARY]+(BX)=0050H+0100H=0150H, PA =(ES)×10H+EA =2100H×10H+0150H = 21150H (14) MOV AX,[BP][SI] 基址變址尋址,EA =(BP)+(SI)= 0010H+00A0H = 00B0H, PA = (SS)×10H+EA = 1500H×10H+0100H = 15100H 2. 已知寄存器及存儲(chǔ)器單元內(nèi)容:(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=12H,(2010lH)=34H,(20102H)=56H,(20103H)=78H,(21200H)=90H,(21201H)=2AH,(21202H)=3BH,(21203H)=4CH。 分析下列指令中源操作數(shù)字段的尋址方式,計(jì)算操作數(shù)存放的物理地址及指令執(zhí)行后AX寄存器中保存的內(nèi)容: (1) MOV AX,12O0H (2) MOV AX,BX (3) MOV AX,[1200H] (4) MOV AX,[BX] (5) MOV AX,1100H[BX] (6) MOV AX,[BX][SI] 答: (1) MOV AX,1200H ;立即數(shù)尋址。指令執(zhí)行后,(AX)= 1200H (2) MOV AX,BX ;寄存器尋址。指令執(zhí)行后,(AX)=(BX)= 0100H (3) MOV AX,[1200H] ;存儲(chǔ)器直接尋址。 EA = 1200H,PA =(DS)×10H+EA = 2000H×10H+1200H = 21200H, 執(zhí)行后,(AX)= 2A90H (4) MOV AX,[BX] ;寄存器間接尋址。 EA =(BX)= 0100H, PA =(DS)×10H+EA = 2000H×10H+0100H = 20100H, 執(zhí)行后,(AX)= 3412H (5) MOV AX,1100H[BX] ;寄存器相對(duì)尋址。 EA =(BX)+1100H = 0100H+1100H = 1200H, PA =(DS)×10H+EA = 2000H×10H+1200H = 21200H,執(zhí)行后,(AX)=2A90H (6) MOV AX,[BX][SI] ;基址變址尋址。 EA =(BX)+(SI)= 0100H+0002H = 0102H, PA =(DS)×10H+EA = 2000H×10H+0102H = 20102H,執(zhí)行后,(AX)= 7856H 4. 下列程序段執(zhí)行完后,BX寄存器中的內(nèi)容是多少? MOV CL, 3 MOV BX,0B7H ROL BX,1 ROR BX,CL 答:程序段執(zhí)行中 MOV CL, 3 ;(CL)=3 MOV BX,0B7H ; (BX) = 0B7H = 10110111 ROL BX,1 ; 循環(huán)左移一次,(BX) = 01101111 ROR BX,CL ; 循環(huán)右移三次,(BX) = 11101101 = EDH 程序段執(zhí)行完后,BX寄存器中的內(nèi)容為(BX)=EBH 4. 已知(AX)=75A4H,標(biāo)志位CF=1,分別寫出下列指令執(zhí)行后的結(jié)果: (1) ADD AX,08FFH (2) INC AX (3) SUB AX,4455H (4) AND AX,OFFFH (5) OR AX,0101H (6) SAR AX,1 (7) ROR AX,1 (8) ADC AX,5 答: (1) ADD AX,08FFH ; (AX)= 7EA3H CF=0 (2) INC AX ; (AX)= 75A5H CF=1 (3) SUB AX,4455H ; (AX)= 314FH CF=0 (4) AND AX,0FFFH ; (AX)= 05A4H CF=0 (5) OR AX,0101H ; (AX)= 75A5H CF=0 (6) SAR AX,1 ; (AX)= 3AD2H CF=0 (7) ROR AX,1 ; (AX)= 3AD2H CF=0 (8) ADC AX,5 ; (AX)= 75AAH CF=0 …… 78H 56H 34H 12H …… 5. 給定(SS)=3000H,(SP)=1020H,(AX)=1234H,(DX)=5678H。執(zhí)行下列程序段,分析每條指令執(zhí)行后寄存器的內(nèi)容和堆棧存儲(chǔ)內(nèi)容的變化情況: SP=101CH SP=101EH SP=1020H DX 5678 AX 1234 BX 5678 CX 1234 PUSH AX PUSH DX POP BX POP CX 答: 壓入堆棧指令PUSH完成的操作是“先移后入”,即先將堆棧指針 SP 減2,然后將操作數(shù)壓入 SP 指定的棧頂中。 彈出堆棧指令 POP完成的操作是“先出后移”,即先將堆棧指針 SP 所指示的棧頂存儲(chǔ)單元的地址彈出到操作數(shù)中,然后將堆棧指針 SP加2。 PUSH AX ;(AX)=1234H,(SP)=101EH,(3101EH)=1234H PUSH DX ;(DX)=5678H,(SP)=101CH,(3101CH)= 5678H POP BX ;(BX)=5678H,(SP)=101EH POP CX ;(CX)=1234H,(SP)=1020H 6. 分析下面程序段的功能,執(zhí)行該程序段后 AX 寄存器中的內(nèi)容是多少? MOV AX,0102H MOV BX,0010H MOV CL,2 SHL BX,CL ADD AX,BX 答: MOV AX,0102H ; (AX) = 0102H MOV BX,0010H ; (BX) = 0010H = 0000 0000 0001 0000 MOV CL,2 ; (CL) = 02H SHL BX,CL ; 邏輯左移二次,(BX) = 0000 0000 0100 0000 =0040H ADD AX,BX ; (AX) ← (AX)+(BX) =0102H + 0040H =0142H 執(zhí)行該程序段后 AX 寄存器中的內(nèi)容是0142H。 四、分析設(shè)計(jì)題: 1. 根據(jù)以下要求寫出相應(yīng)的8086指令。 (1)把內(nèi)存區(qū)域BUF數(shù)據(jù)區(qū)的偏移地址送入BX寄存器中。 (2)把BX和AX寄存器的內(nèi)容相加,結(jié)果存入AX寄存器中。 (3)用位移量1200H的直接尋址方式把存儲(chǔ)器中的一個(gè)字?jǐn)?shù)據(jù)與立即數(shù)3210H相加,結(jié)果送回該存儲(chǔ)器中。 (4)用寄存器BX和位移量2100H的變址尋址方式把存儲(chǔ)器中的一個(gè)字?jǐn)?shù)據(jù)和CX寄存器中的內(nèi)容相加,結(jié)果送回存儲(chǔ)器。 (5)用BX和SI的基址變址尋址方式,把存儲(chǔ)器中的一個(gè)字節(jié)數(shù)據(jù)與AL內(nèi)容相加,結(jié)果保存在AL寄存器中。 答: (1) LEA BX,BUF (2) ADD AX,BX (3) ADD WORD PTR [1200H],3210H (4) ADD 2100[BX],CX (5) ADD AL,[BX][SI] 2. 設(shè)堆棧寄存器(SS)=2250H。堆棧指示器(SP)=0140H,若在堆棧中存入5個(gè)字?jǐn)?shù)據(jù),則SS、SP的內(nèi)容各是多少? 如果又取出2個(gè)字?jǐn)?shù)據(jù),SS、SP的內(nèi)容各是多少? 答:堆棧中存入5個(gè)數(shù)據(jù):(SS)=2250H、(SP)=0136H 又取出2個(gè)字?jǐn)?shù)據(jù):(SS)=2250H、(SP)=013AH 3. 設(shè)寄存器AX、BX中保存帶符號(hào)數(shù),寄存器CX、DX中保存無符號(hào)數(shù),寫出實(shí)現(xiàn)以下功能的指令或程序段。 (1) 若(CX)<(DX),程序轉(zhuǎn)移到NEXT1處。 (2) 若(AX)>(BX),程序轉(zhuǎn)移到NEXT2處。 (3) 若(CX)=0,程序轉(zhuǎn)移到NEXT3處。 (4) 若AX中內(nèi)容為負(fù),程序轉(zhuǎn)移到NEXT4處。 答:(1)CMP CX,DX ;將CX中數(shù)據(jù)與DX中數(shù)據(jù)進(jìn)行比較 JB NEXT1 ;若低于則轉(zhuǎn)移到NEXT1 (2)CMP AX,BX ;將AX中數(shù)據(jù)與BX中數(shù)據(jù)進(jìn)行比較 JG NEXT2 ;若大于則轉(zhuǎn)移到NEXT2 (3)CMP CX,0 ;將CX中數(shù)據(jù)與0進(jìn)行比較 JE NEXT3 ;若結(jié)果為0則轉(zhuǎn)移到NEXT3 (或用 JCXZ NEXT3 指令實(shí)現(xiàn)) (4)TEST AX,8000H ;測(cè)試符號(hào)位 JNZ NEXT4 ;若結(jié)果為負(fù)則轉(zhuǎn)移到NEXT4 (或 ADD AX,0 JS NEXT4 實(shí)現(xiàn))實(shí)現(xiàn)方法不唯一。 4. 現(xiàn)有兩個(gè)雙倍精度字?jǐn)?shù)據(jù)1234FEDCH和11238765H,分別存放在數(shù)據(jù)段中從1000H和2000H開始的存儲(chǔ)單元中,低位在前,高位在后。要求兩數(shù)相加之后所得的和放在從1000H開始的內(nèi)存單元中,設(shè)計(jì)該程序段。 答: 程序段設(shè)計(jì)如下: ;3_4_1.ASM MOV SI,2000H ;SI指向2000H MOV DI,1000H ;DI指向1000H CLC ;CF=0 MOV CX,4 ;CX=4,循環(huán)相加4次 LL: MOV AL,[SI] ;取數(shù) ADC AL,[DI] ;相加 MOV [DI],AL ;保存 INC SI ;SI增1 INC DI ;DI增1 LOOP LL ;CX減1,不為0,轉(zhuǎn)LL MOV AX,0 ADC AX,0 MOV [DI],AX (答案不唯一) 本章重點(diǎn)題目: 一、3.;7. 二、5.;6. 三、1.(3).(4).(6).(7);2.(3).(4).(5).(6) 四、3. 第4章 匯編語言程序設(shè)計(jì) 一、選擇題 1. 匯編語言程序中可執(zhí)行的指令位于( )中。 D A. 數(shù)據(jù)段 B. 附加數(shù)據(jù)段 C. 堆棧段 D. 代碼段 2. 匯編語言語句中標(biāo)號(hào)和變量有規(guī)定的屬性,以下內(nèi)容不是屬性的是( )。 B A. 段屬性 B. 地址屬性 C. 偏移屬性 D. 類型屬性 4. DOS系統(tǒng)功能調(diào)用的子功能號(hào)存放在寄存器( )中。 C A. AL B. AH C. DL D. DH 5. DOS系統(tǒng)功能調(diào)用中,從鍵盤讀取一個(gè)字符并回顯的是( )。 A A. 01H B. 02H C. 09H D. 0AH 6. 循環(huán)程序設(shè)計(jì)的核心問題是( )。 D A. 循環(huán)的控制 B. 循環(huán)結(jié)構(gòu)的選擇 C. 循環(huán)參數(shù)初始的設(shè)置 D. 循環(huán)控制參數(shù)的修改 二、填空題 1. 完整的匯編語句包括_名字、操作符、操作數(shù)、和注釋_4個(gè)字段。 2. 標(biāo)號(hào)和變量應(yīng)具備的3個(gè)屬性分別是段屬性、偏移屬性和類型屬性。 3. 計(jì)算機(jī)中的指令通??煞譃?CPU指令 、 偽指令 和 宏指令 。 4. DOS功能調(diào)用可完成對(duì)_文件、設(shè)備、內(nèi)存_的管理;BIOS的主要功能是_外設(shè)的控制;如系統(tǒng)加電自檢、引導(dǎo)裝入及對(duì)鍵盤、磁盤、顯示器、打印機(jī)、異步串行通信口等的控制_。 5. 給定以下程序段,在每條指令的右邊寫出指令的含義和操作功能,指出該程序段完成的功能及運(yùn)行結(jié)果: MOV AX,0 ;AX賦值0 MOV BX,1 ;BX賦值1 MOV CX,5 ;CX賦值5 LP: ADD AX,BX ;AX+BX,結(jié)果送AX ADD BX,2 ;BX+2,結(jié)果送BX LOOP LP ;CX-1送CX;若CX≠0,轉(zhuǎn)LP (1) 程序段完成的功能是_ _。 (2) 程序運(yùn)行后:(AX)=_25_;(BX)= _11_;(CX)= _0_。 三、判斷題 1. 偽指令是在匯編中用于管理和控制計(jì)算機(jī)相關(guān)功能的指令。 ( )× 2. 程序中的“$”可指向下一個(gè)所能分配存儲(chǔ)單元的偏移地址。 ( )√ 3. 宏指令的引入是為了增加匯編程序的功能。 ( )√ 4. 多重循環(huán)的內(nèi)循環(huán)要完整地包含在外循環(huán)中,可嵌套和并列。 ( )√ 5. 子程序結(jié)構(gòu)縮短了程序的長度,節(jié)省了程序的存儲(chǔ)空間。 ( )√ 四、簡答題 1. 完整的匯編源程序應(yīng)該由哪些邏輯段組成?各邏輯段的主要作用是什么? 答: 完整的匯編源程序應(yīng)該由數(shù)據(jù)段、堆棧段、代碼段邏輯段組成。各邏輯段的主要作用是存放數(shù)據(jù)變量及其預(yù)置初值、保存中斷和子程序的斷點(diǎn)和參數(shù)傳遞、存放程序執(zhí)行的代碼。 2.簡述在機(jī)器上建立、編輯、匯編、連接、運(yùn)行、調(diào)試匯編語言源程序的過程和步驟。 答: 在機(jī)器上建立:為源程序起一個(gè)有意義的文件名字,并創(chuàng)建成文本文件;匯編:通過匯編程序ASM.EXE或MASN.EXE,將源程序會(huì)變成機(jī)器語言目標(biāo)程序.OBJ;連接:運(yùn)用連接程序LINK.EXE,將目標(biāo)程序.OBJ連接生成執(zhí)行程序.EXE;運(yùn)行:在DOS狀態(tài)下,直接運(yùn)行執(zhí)行程序;調(diào)試:運(yùn)用調(diào)試程序DEBUG.EXE將執(zhí)行程序跳入調(diào)試界面狀態(tài),并進(jìn)行斷點(diǎn)設(shè)置調(diào)試運(yùn)行或單步調(diào)試運(yùn)行操作。 3.什么是偽指令?程序中經(jīng)常使用的偽指令有哪些?簡述其主要功能。 答:偽指令是發(fā)送給匯編程序的命令。 程序中經(jīng)常使用的偽指令有:數(shù)據(jù)定義、符號(hào)定義、段定義、過程定義、結(jié)構(gòu)定義、模塊定義與連接、程序計(jì)數(shù)器$和起點(diǎn)定義ORG。 其主要功能:數(shù)據(jù)定義為變量及其類型分配存儲(chǔ)單元,并賦予初值;符合定義給一個(gè)符號(hào)重新命名;段定義指定邏輯段的名稱、范圍、斷的定位類型、組合類型和類別;過程定義為程序段定義成過程,并賦予過程名字,以便用CALL指令調(diào)用;結(jié)構(gòu)定義用于相互關(guān)聯(lián)的數(shù)據(jù)定義;模塊定義與連接用NAME為源程序匯編后的目標(biāo)程序指定模塊名,以便連接該目標(biāo)模塊,并生成執(zhí)行程序文件;$在匯編過程中,用于存儲(chǔ)單元分配計(jì)數(shù)器,該計(jì)數(shù)器可在指令操作數(shù)表達(dá)式中引用;ORG為數(shù)據(jù)變量和程序段指定起始位置。 4.什么是宏指令?宏指令在程序中如何被調(diào)用? 答: 宏指令是代表某功能的一段源程序。宏指令在程序中在源程序中,通過宏名字(即宏指令名)進(jìn)行調(diào)用。 五、分析設(shè)計(jì)題 1. 內(nèi)存BUF單元中定義有10個(gè)字?jǐn)?shù)據(jù),找出其中的最大值和最小值,并將最大值和最小值存放到指定的存儲(chǔ)單元max和min中,畫出流程圖并編程實(shí)現(xiàn)。 答:按照本題要求,10個(gè)字?jǐn)?shù)據(jù)的首址為BUF內(nèi)存單元,數(shù)據(jù)個(gè)數(shù)為10用CN指向,然后找出其中最大值并保存在max單元中,找出其中最小值并保存在min單元中,采用循環(huán)程序來完成該功能。 主程序流程圖: START 初始化DS 數(shù)組首地址送SI 數(shù)組元素個(gè)數(shù)送CX 調(diào)用過程QZDZXS(求最大最小數(shù)) END QZDZXS子程序流程圖: QZDZXS 保護(hù)現(xiàn)場(chǎng) 取一個(gè)數(shù)組元素送DX 較大數(shù)存入ZD 數(shù)組指針加2調(diào)整 (AX)>(DX) (AX)<(DX) 較小數(shù)存入ZX 恢復(fù)現(xiàn)場(chǎng) 數(shù)組元素 全部完成? 返回 N Y ZDZX2 ZDZX1 Y ZDZX0 Y N N 參考程序設(shè)計(jì)如下: 主程序: DATA SEGMENT ARR DW 123,456,67,0,34,90,89,67,0,256 CN EQU ($-ARR)/2 ZD DW 0 ;最大(數(shù)組中任何數(shù)均大于AX內(nèi)容) ZX DW 0FFFFH ;最小(數(shù)組中任何數(shù)均小于BX內(nèi)容) DATA ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE START: MOV AX,DATA MOV DS,AX ;初始化DS MOV SI,OFFSET ARR ;數(shù)組首地址送SI MOV CX,CN ;數(shù)組元素個(gè)數(shù)送CX CALL QZDZXS ;調(diào)用近過程QZDZXS(求最大最小數(shù)) MOV AH,4CH INT 21H ;返回DOS 過程子程序: ;求最大最小數(shù)子程序名:QZDZXS ;子程序功能:求一組字?jǐn)?shù)據(jù)中的最大最小數(shù) ;入口參數(shù):數(shù)組首地址在SI中,數(shù)組個(gè)數(shù)在CX中 ;出口參數(shù):最大數(shù)在ZD中,最小數(shù)在ZX中 ;使用寄存器:CX、DX、SI及PSW QZDZXS PROC NEAR PUSH SI PUSH DX PUSH CX ;保護(hù)現(xiàn)場(chǎng) ZDZX0: MOV DX,[SI] ;取一個(gè)數(shù)組元素送DX CMP ZD,DX ;AX中內(nèi)容和DX中內(nèi)容比較 JNB ZDZX1 ;(ZD)>(DX),轉(zhuǎn)ZDZX1 MOV ZD,DX ;較大數(shù)存入ZD ZDZX1: CMP ZX,DX ;AX中內(nèi)容和DX中內(nèi)容比較 JNA ZDZX2 ;(ZX)<(DX),轉(zhuǎn)ZDZX2 MOV ZX,DX ;較小數(shù)存入ZX ZDZX2: ADD SI,2 ;數(shù)組指針加2調(diào)整 LOOP ZDZX0 ;循環(huán)控制 POP CX POP DX POP SI ;恢復(fù)現(xiàn)場(chǎng) RET ;返回主程序 QZDZXS ENDP ;子程序定義結(jié)束 CODE ENDS ;代碼段結(jié)束 END START ;匯編結(jié)束 2. 編寫程序,計(jì)算下面函數(shù)的值: 答:此程序可采用分支結(jié)構(gòu)實(shí)現(xiàn)。根據(jù)X的取值范圍,來確定轉(zhuǎn)向那個(gè)分支。判斷過程可使用CMP指令與0和10分別進(jìn)行比較,根據(jù)結(jié)果實(shí)現(xiàn)跳轉(zhuǎn)。 X和S是兩個(gè)需要定義的變量,X中是要處理的數(shù)據(jù),S中是要保存運(yùn)算結(jié)果。參考程序段編寫如下: DATA SEGMENT ;定義數(shù)據(jù)段 X DB 15 S DB ? DATA ENDS CODE SEGMENT ;定義代碼段 ASSUME DS:DATA, CS:CODE START: MOV AX,DATA MOV DS,AX MOV AL,X ;將X送到AL中 TEST AL,80H ;(AL)<0嗎? JZ LL0 ; X ≥ 0 轉(zhuǎn)LL0 SAL AL,1 ; X乘以2 JMP LL10 ;無條件轉(zhuǎn)移 LL0: CMP AL,10 ;否,(AX)<10嗎? JG LL1 ; X ≥ 10 轉(zhuǎn)LL1 MOV BL,AL SAL AL,1 ; X乘以3 ADD AL,BL JMP LL10 ;無條件轉(zhuǎn)移 LL1: SAL AL,1 ; X乘以4 SAL AL,1 LL10: MOV S,AL ;將結(jié)果保存至S中 MOV AH,4CH INT 21H ;返回DOS CODE ENDS END START ;匯編結(jié)束 注意,在比較的過程中使用的是針對(duì)帶符號(hào)數(shù)的跳轉(zhuǎn)指令,將變量χ應(yīng)該看作帶符號(hào)數(shù)。程序中還用了移位指令代替了乘法指令實(shí)現(xiàn)乘2的運(yùn)算。 3. 已知內(nèi)存數(shù)據(jù)區(qū)BLOCK單元起存放有20個(gè)帶符號(hào)字節(jié)數(shù)據(jù),分別找出其中正、負(fù)數(shù)放入指定單元保存,并統(tǒng)計(jì)正、負(fù)數(shù)的個(gè)數(shù)。 答: 此程序可采用循環(huán)與分支結(jié)合的結(jié)構(gòu)。再循環(huán)體中完成對(duì)數(shù)據(jù)區(qū)中數(shù)字的判斷,為正數(shù)時(shí),使計(jì)數(shù)器統(tǒng)計(jì)其個(gè)數(shù),而負(fù)數(shù)的個(gè)數(shù)就是數(shù)據(jù)區(qū)的數(shù)據(jù)總數(shù)減去證書的個(gè)數(shù);程序中循環(huán)次數(shù)與數(shù)據(jù)區(qū)中的

注意事項(xiàng)

本文(微型計(jì)算機(jī)原理與應(yīng)用技術(shù)部分復(fù)習(xí)題答案(新))為本站會(huì)員(沈***)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!

五月丁香婷婷狠狠色,亚洲日韩欧美精品久久久不卡,欧美日韩国产黄片三级,手机在线观看成人国产亚洲