![太原理工大學(xué)-微機(jī)原理-考試-(13屆-葬儀落整理)_第1頁(yè)](http://file4.renrendoc.com/view/e944a6e3f8151195071091855722e9a8/e944a6e3f8151195071091855722e9a81.gif)
![太原理工大學(xué)-微機(jī)原理-考試-(13屆-葬儀落整理)_第2頁(yè)](http://file4.renrendoc.com/view/e944a6e3f8151195071091855722e9a8/e944a6e3f8151195071091855722e9a82.gif)
![太原理工大學(xué)-微機(jī)原理-考試-(13屆-葬儀落整理)_第3頁(yè)](http://file4.renrendoc.com/view/e944a6e3f8151195071091855722e9a8/e944a6e3f8151195071091855722e9a83.gif)
![太原理工大學(xué)-微機(jī)原理-考試-(13屆-葬儀落整理)_第4頁(yè)](http://file4.renrendoc.com/view/e944a6e3f8151195071091855722e9a8/e944a6e3f8151195071091855722e9a84.gif)
![太原理工大學(xué)-微機(jī)原理-考試-(13屆-葬儀落整理)_第5頁(yè)](http://file4.renrendoc.com/view/e944a6e3f8151195071091855722e9a8/e944a6e3f8151195071091855722e9a85.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)專心-專注-專業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)簡(jiǎn)答第一章簡(jiǎn)述計(jì)算機(jī)和微型計(jì)算機(jī)經(jīng)過(guò)了哪些主要的發(fā)展階段?計(jì)算機(jī):電子管、晶體管、集成電路、大規(guī)模集成電路計(jì)算機(jī)。微型計(jì)算機(jī):低檔8位微處理器和微型計(jì)算機(jī)、中檔8位、16位、32位、高檔64位。2.操作系統(tǒng)(DOS、Windows、Unix、Linux)3.程序設(shè)計(jì)語(yǔ)言(1)機(jī)器語(yǔ)言:是直接用二進(jìn)制代碼指令表達(dá)的計(jì)算機(jī)語(yǔ)言,是01代碼,計(jì)算機(jī)可以直接識(shí)別,不用翻譯,執(zhí)行速度快,但是是面向機(jī)器的語(yǔ)言,不宜掌握,可讀性差。(2)匯編語(yǔ)言:也是面向機(jī)器的語(yǔ)言,用符號(hào)代替二進(jìn)制
2、代碼,又稱符號(hào)語(yǔ)言,特點(diǎn)是可以直接訪問(wèn)與硬件相關(guān)的存儲(chǔ)器或IO端口,占內(nèi)存少,速度快。(3)高級(jí)語(yǔ)言:面向用戶的語(yǔ)言,需要翻譯。4.微處理器:簡(jiǎn)稱CPU,是指一片或幾片大規(guī)模集成電路所組成的,具有運(yùn)算和控制功能的中央處理單元,由ALU(算術(shù)邏輯部件)、CU(控制器)和寄存器組成。微型計(jì)算機(jī):簡(jiǎn)稱MC,以CPU為核心,加上存儲(chǔ)器,IO接口,加上系統(tǒng)總線構(gòu)成。微型計(jì)算機(jī)系統(tǒng):簡(jiǎn)稱MCS,以微型計(jì)算機(jī)為核心,配以相應(yīng)外圍設(shè)備,輔助電路,電源以及軟件,叫做微型計(jì)算機(jī)系統(tǒng)。5,微型計(jì)算機(jī)系統(tǒng)的性能指標(biāo)字長(zhǎng)(一次可處理的二進(jìn)制位數(shù))、存儲(chǔ)器容量、運(yùn)算速度(每秒執(zhí)行指令條數(shù))、擴(kuò)展能力、軟件配置情況。微型計(jì)
3、算機(jī)結(jié)構(gòu),簡(jiǎn)述部分功能。CPU:由運(yùn)算器和控制器兩部分組成。運(yùn)算器進(jìn)行對(duì)數(shù)據(jù)運(yùn)算(算數(shù)、邏輯運(yùn)算),控制器為整機(jī)的指揮控制中心,計(jì)算機(jī)的操作在控制器的控制下進(jìn)行。存儲(chǔ)器:分為ROM和RAM。用來(lái)存儲(chǔ)數(shù)據(jù)、程序、運(yùn)算的中間結(jié)果和最終結(jié)果。IO接口:微型計(jì)算機(jī)與外部設(shè)備聯(lián)系的橋梁。外設(shè)種類眾多,工作速度與主機(jī)不匹配,所以必須經(jīng)過(guò)接口電路加以合理匹配,緩沖??偩€:各部件的聯(lián)系。 數(shù)據(jù)總線(DB):微處理器與外界傳遞數(shù)據(jù)的數(shù)據(jù)信號(hào)線。 地址總線(AB):微處理器輸出的一組地址信號(hào)線,用來(lái)指定微處理器所訪問(wèn)的存儲(chǔ)器和外部設(shè)備的地址。 控制總線(CB):使微處理器的工作與外部工作同步。第二章7.8086微
4、處理器主要特點(diǎn),內(nèi)部結(jié)構(gòu)。主要特點(diǎn):16位微處理器,數(shù)據(jù)總線16位,地址總線20位1MB。時(shí)鐘頻率5-10MHZ。結(jié)構(gòu):BIU(總線接口部件):負(fù)責(zé)CPU、存儲(chǔ)器、外設(shè)間信息傳送。分為地址加法器、段寄存器、指令隊(duì)列緩沖器、總線控制電路。 EU(執(zhí)行部件):負(fù)責(zé)指令的執(zhí)行。分為算術(shù)邏輯單元(ALU),數(shù)據(jù)暫存寄存器,EU控制電路。8.8086各有哪些寄存器?四個(gè)通用寄存器(AX累加、BX基址、CX計(jì)數(shù)、DX數(shù)據(jù))四個(gè)指針和變址寄存器(SP堆棧指針、BP基址指針、SI源變址寄存器、DI目的變址寄存器)四個(gè)段寄存器(CS代碼段寄存器、DS數(shù)據(jù)、SS堆棧、ES附加)指令指針I(yè)P 標(biāo)志寄存器FR存儲(chǔ)器為
5、什么要分段?在實(shí)地址方式下如何分段?.806CPU有20條地址線,可以尋址220=1MB的存儲(chǔ)空間,而寄存器均為16位,可以尋址216=64K的存儲(chǔ)空間,不能直接尋址1MB的空間,所以要進(jìn)行分段。由16位段寄存器提供段基址,由不同尋址方式或寄存器提供偏移地址,共同組成20位物理地址,1MB的存儲(chǔ)空間。1MB分為4段,CS、DS、SS、ES,每段包含216=64K字節(jié),首地址可被16整除。在任意時(shí)刻,程序可以方便的訪問(wèn)4個(gè)分段內(nèi)容。什么是邏輯地址,什么是物理地址?在實(shí)地址模式下,如何求存儲(chǔ)器的物理地址?邏輯地址是由段基址(存放在段寄存器中)和偏移地址(由尋址方式提供)兩部分構(gòu)成,他們都是無(wú)符號(hào)的
6、16位二進(jìn)制數(shù),邏輯地址是用戶進(jìn)行程序設(shè)計(jì)采用的地址。物理地址是1M內(nèi)存空間中每個(gè)存儲(chǔ)單元唯一的地址,由20位二進(jìn)制數(shù)構(gòu)成,物理地址是CPU訪問(wèn)內(nèi)存時(shí)使用的地址。當(dāng)用戶通過(guò)編制程序?qū)?6位邏輯地址送入CPU總線接口部件BIU時(shí),地址加法器通過(guò)地址運(yùn)算變換為20位的物理地址。計(jì)算公式:物理地址=段基址16+偏移地址堆棧的數(shù)據(jù)結(jié)構(gòu)特點(diǎn)是什么?計(jì)算機(jī)中為什么要設(shè)置堆棧?答:(1)堆棧是CPU內(nèi)存中一個(gè)特定的存儲(chǔ)區(qū)。堆棧的數(shù)據(jù)結(jié)構(gòu)特點(diǎn)是先進(jìn)后出,即最后進(jìn)入堆棧的數(shù)據(jù)最先從堆棧中彈出。CPU在處理數(shù)據(jù)的過(guò)程中,有一些中間數(shù)據(jù)需要進(jìn)行暫存,同時(shí)CPU在調(diào)用子程序和進(jìn)行終端響應(yīng)的過(guò)程中,現(xiàn)場(chǎng)和斷點(diǎn)都需要進(jìn)行
7、保護(hù),為此計(jì)算機(jī)中設(shè)置了一定容量的堆棧。簡(jiǎn)述時(shí)鐘周期、總線周期和指令周期。時(shí)鐘周期:CPU執(zhí)行指令的最小時(shí)間單位,又稱T狀態(tài),與微機(jī)主頻有關(guān)??偩€周期:CPU對(duì)存儲(chǔ)器或IO端口完成一次讀寫操作所用時(shí)間。例:8086的基本總線周期由4個(gè)時(shí)鐘周期組成,80486則由2個(gè)時(shí)鐘周期組成,外設(shè)速度慢,可插入等待周期。指令周期:CPU執(zhí)行一條指令所需要的時(shí)間。指令周期有若干個(gè)總線周期組成,不同指令執(zhí)行的時(shí)間不同,同一功能指令,尋址方式不同,所需要的時(shí)間也不同。第三章指令、指令系統(tǒng)、程序的概念。指令:指示計(jì)算機(jī)執(zhí)行某種操作的命令,由一串二進(jìn)制組成。指令系統(tǒng):計(jì)算機(jī)能執(zhí)行的全部指令,CPU所能識(shí)別的全部指令。
8、程序:為實(shí)現(xiàn)特定目標(biāo),解決特定問(wèn)題而用計(jì)算機(jī)語(yǔ)言編寫的指令序列的集合。尋址方式非存儲(chǔ)器操作尋址方式:立即數(shù)尋址和寄存器尋址,不需要訪問(wèn)存儲(chǔ)器,執(zhí)行速度快。訪問(wèn)存儲(chǔ)器操作尋址方式:后九種,計(jì)算有效地址EA外,還必須確定操作數(shù)所在的段,確定有關(guān)段寄存器。第四章寫出匯編程序設(shè)計(jì)上機(jī)流程,并簡(jiǎn)要敘述調(diào)試過(guò)程。用編輯軟件(如EDIT、WORD等)把匯編語(yǔ)言源程序輸入計(jì)算機(jī)中,形成擴(kuò)展名為.ASM的源程序文件(如:PROG.ASM)使用宏匯編軟件MASM,把ASM文件匯編成擴(kuò)展名為.OBJ的二進(jìn)制代碼文件及擴(kuò)展名為.LST的匯編語(yǔ)音程序列表文件(如:PROG.OBJ,PROG.LST)目標(biāo)文件雖然是二進(jìn)制
9、代碼文件,但它不能直接運(yùn)行,必須經(jīng)過(guò)LINK軟件程序把目標(biāo)文件、其他文件和庫(kù)文件連接起來(lái)才可形成擴(kuò)展名為.EXE的可執(zhí)行文件。如果運(yùn)行中仍有問(wèn)題或想觀察運(yùn)行過(guò)程,可使用調(diào)試程序DEBUG進(jìn)行調(diào)試。只有在計(jì)算機(jī)中運(yùn)行通過(guò)的程序,才能被認(rèn)為是正確的程序。注:CRF是MASM提供的一個(gè)隨機(jī)交叉參考文件,MAP是MASM為大型源程序提供的一個(gè)隨機(jī)文件。MASM三種基本語(yǔ)句指令性語(yǔ)句指示性語(yǔ)句(偽指令語(yǔ)句):變量定義、符號(hào)、段、過(guò)程偽指令宏指令語(yǔ)句宏指令:源程序中具有獨(dú)立功能的一段代碼 宏定義:對(duì)宏指令進(jìn)行定義 宏調(diào)用 宏展開宏指令和子程序各有什么優(yōu)缺點(diǎn)?在匯編語(yǔ)言程序設(shè)計(jì)中,宏指令和子程序都起到簡(jiǎn)化源
10、程序的作用,提供了很大方便。從占用空間角度來(lái)說(shuō),子程序由CALL調(diào)用,由RET返回,匯編后只占一段空間,宏指令每用一次,宏展開后就占據(jù)一段空間,所以子程序占用空間比宏指令占據(jù)空間小。從執(zhí)行速度角度說(shuō),子程序在執(zhí)行時(shí),每調(diào)用一次都要保護(hù)和恢復(fù)返回地址及寄存器的內(nèi)容等,而宏指令不用,所以宏指令的執(zhí)行速度快于子程序。補(bǔ)充:標(biāo)志寄存器狀態(tài)標(biāo)志位CF:進(jìn)位標(biāo)志 有進(jìn)位為1PF:奇偶校驗(yàn)標(biāo)志 運(yùn)算結(jié)果包含1的個(gè)數(shù),偶數(shù)為1AF:輔助進(jìn)位標(biāo)志 加法或減法運(yùn)算結(jié)果中D3位向D4位進(jìn)位或借位的情況,有進(jìn)位1ZF:零標(biāo)志 當(dāng)前運(yùn)算結(jié)果為零,為1SF:符號(hào)標(biāo)志 運(yùn)算結(jié)果的正負(fù)情況 負(fù)數(shù)為1OF:溢出標(biāo)志 補(bǔ)碼運(yùn)算有
11、溢出為1控制標(biāo)志位DF:方向標(biāo)志 為1,串操作過(guò)程中的地址會(huì)自動(dòng)遞減1 0時(shí),自動(dòng)增加1IF:中斷允許標(biāo)志 IF=1開中斷TF:?jiǎn)尾綐?biāo)志 =1 CPU進(jìn)入單步工作方式,每執(zhí)行一條指令就產(chǎn)生一次內(nèi)部中斷。4.4 什么是變量?什么是變量的3重屬性? 答:在除代碼段以外的其他段中被定義,用來(lái)定義存放在存儲(chǔ)單元中的數(shù)據(jù)。 段屬性SEG定義變量所在段的段基址。一般在DS段寄存器中,也可以在ES,SS中 偏移地址屬性O(shè)FFSET表示變量所在的段內(nèi)偏移地址 段基址和偏移地址構(gòu)成邏輯地址 類型屬性 TYPE 表示變量占用存儲(chǔ)單元的字節(jié)數(shù),由數(shù)據(jù)定義偽指令來(lái)規(guī)定的4.5 什么是標(biāo)號(hào)?什么是標(biāo)號(hào)的3重屬性? 答:
12、標(biāo)號(hào)可在代碼段中被定義。它是指令語(yǔ)句的標(biāo)識(shí)符,表示后面的指令所存放單元的符號(hào)地址,標(biāo)號(hào)必須和后面的操作項(xiàng)以冒號(hào)分隔開。常作為轉(zhuǎn)移指令的操作數(shù),確定程序轉(zhuǎn)移的目標(biāo)地址。段屬性SEG 定義標(biāo)號(hào)所在段的起始地址。必須在一個(gè)段寄存器中標(biāo)號(hào)段基址在CS寄存器中偏移屬性 OFFSET 表示標(biāo)號(hào)躲在的段內(nèi)偏移地址。為16位無(wú)符號(hào)數(shù),代表從段的起始地址到定義標(biāo)號(hào)的位置只間的字節(jié)數(shù)。段基址和偏移地址構(gòu)成標(biāo)號(hào)的邏輯地址。距離屬性 distance 當(dāng)標(biāo)號(hào)作為轉(zhuǎn)移類指令的操作數(shù)時(shí),可在段內(nèi)段間轉(zhuǎn)移。 分為NEAR和FAR1.ADCII碼 3列為數(shù)字 0 1 2 3 4 5 6 7 4列為大寫字母 A B C D E
13、 F G 6列為小寫字母 、a b c d e f g 例:2537H=32 35 33 37 20EH=32 30 452. 設(shè)一個(gè)16字的數(shù)據(jù)存儲(chǔ)區(qū),它的起始地址為70A0H:DDF6H.。寫出這個(gè)數(shù)據(jù)區(qū)的首字單元和末字單元的物理地址。解:20位物理地址的計(jì)算公式為:物理地址段基址16偏移地址解題思路:按照物理地址的計(jì)算公式,計(jì)算首字單元的物理地址。在計(jì)算末字單元的物理地址時(shí),注意16個(gè)字為32個(gè)字節(jié),占用32個(gè)(即20H個(gè))存儲(chǔ)單元。首字單元的物理地址70A0H16+DDF6H7E7F6H 末字單元的物理地址7E7F6H+20H27E816H27E814H3. 分別指出下列指令中源操作數(shù)
14、和目標(biāo)操作數(shù)的尋址方式。 目標(biāo)操作數(shù) 源操作數(shù)MOV SI, 100 寄存器 立即數(shù)MOV CX, DATASI 寄存器 寄存器間接ADD AX, BXDI 寄存器 基址加間址SUB AH, DH 寄存器 寄存器AND DL, BX+SI+20H 寄存器 基址加間址MOV BP+1054H, AX 基址 寄存器OR DI+3000H, BX 寄存器間接 寄存器XOR BP+SI, AL 基址加間址 寄存器MOV EAX, EBX 寄存器 寄存器 MOV EAX, ECXEBX 寄存器 基址加間址MOV EAX, ESIEDX2 寄存器 基址加比例間址 MOV EAX, ESI8 寄存器 比例間
15、址3.2 設(shè)DS1000H, BX2865H, SI0120H,偏移量D47A8H,試計(jì)算下列各種尋址方式下的有效地址,并在右邊答案中找出正確答案,將它的序號(hào)填入括號(hào)內(nèi): 使用D的直接尋址 ( ) A. 2865H 使用BX的寄存器間接尋址 ( ) B. 700DH 使用BX和D的寄存器相對(duì)尋址 ( ) C. 47A8H 使用BX、SI和D的相對(duì)基址變址尋址 ( ) D. 2985H 使用BX、SI的基址變址尋址 ( ) E. 712DH3.3 假定DS2000H, ES2100H, SS1500H, SI00A0H, BX0100H, BP0010H,數(shù)據(jù)段中變量名VAL的偏移地址值為005
16、0H,試指出下列源操作數(shù)字段的尋址方式是什么,其物理地址值是多少? 序號(hào) 尋址方式 物理地址值 MOV AX, 100H 直接 20100H MOV AX, BP 基址 15010H MOV AX, VAL. 直接 20050H MOV AX, VALBX 基址 20150H MOV AX, BX+10 基址 2010AH MOV AX, BP+SI 基址加間址 150B0H MOV AX, BX 基址 20100H MOV AX, VALBXSI 基址加間址 201F0H MOV AX, ES: BX 基址 21100H MOV AX, ES: BXSI - 基址加間址 211A0H物理地址
17、段基址16偏移地址3.4 試根據(jù)以下要求,分別寫出相應(yīng)的匯編語(yǔ)言指令。 以寄存器BX和SI作為基址變址尋址方式把存儲(chǔ)器中的一個(gè)字?jǐn)?shù)據(jù)傳送到CX寄存器中。 以寄存器BX和偏移量VALUE作為寄存器相對(duì)尋址方式把存儲(chǔ)器中的一個(gè)字和AX相加,把結(jié)果送回到那個(gè)字單元中。 以寄存器BX和DI的基址變址尋址方式把存儲(chǔ)器中的一個(gè)字節(jié)與AL寄存器的內(nèi)容相加,并把結(jié)果送回到存儲(chǔ)器中。 清除以寄存器SI間接尋址的存儲(chǔ)器字單元,同時(shí)清除CF標(biāo)志位。 將一字節(jié)立即數(shù)0B6H與符號(hào)地址為NUM的存儲(chǔ)器字節(jié)單元中的內(nèi)容相比較。答: MOV CX, BX+SI d ADD VALUE BX, AX ADD BX+DI, A
18、L AND WORD PTR SI, 0 h CMP BYTE PTR NUM, 0B6H3.5 下列程序段中每條指令執(zhí)行完后,指出AX寄存器中及CF,SF,ZF和OF的值。MOV AX, 0DEC AXADD AX, 7FFFHADD AX, 2NOT AXSUB AX, 0FFFFHADD AX, 8000HSUB AX, 1AND AX, 58D1HSAL AX, 1SAR AX, 1NEG AXROR AX, 1指令 AX中的內(nèi)容 CF SF ZF OFMOV 0000H DEC FFFFH 1 0 0ADD 7FFEH 1 0 0 0ADD 8000H 0 1 0 1NOT 7FFF
19、H mSUB 8000H 1 1 0 1ADD 0000H 1 0 1 1SUB FFFFH 1 1 0 0 oAND 58D1H 0 0 0 0SAL B1A2H 0 1 0 1 cSAR D8D1H 0 1 0 0NEG 272FH 1 0 0 0ROR 9397H 1 13.6 假設(shè)DX36C5H, CL5, CF1,確定下列各條指令執(zhí)行后,DX和CF中的值。 序號(hào) DX中的內(nèi)容 CF SHR DX, 1 1B32H 1 SAR DX, CL 01B6H 0 SHL DX, CL 6D8AH 0 SHL DL, 1 368AH 1 ROR DX, CL 29B6H 0 ROL DL, C
20、L 36B8H 0 SAL DH, 1 6CC5H 0 RCL DX, CL D8B3H 0 RCR DH, 1 9BC5H 0 SAR DH, CL 1BC5H 03.7 寫出下列每組指令執(zhí)行后目標(biāo)操作數(shù)中的內(nèi)容。 MOV EAX, 299FF94HADD EAX, 34FFFFH MOV EBX, HADD EBX, H MOV EDX, HSUB EDX, H MOV EAX, HAND EAX, 0F0F0F0FH MOV EBX, 9FE35DHXOR EBX, 0F0F0F0H答: EAX= 02CEFF93H EBX= 00C00000H EDX= 3EB00000H EAX=
21、H EBX= 005F13ADH .3.8 指出下列每條指令執(zhí)行后相應(yīng)寄存器中的內(nèi)容。 MOV EAX, 9823F4B6H (AL, AH, AX, EAX) MOV EBX, 985C2H (BL, BH, BX, EBX) MOV EDX, 2 000 000H (DL, DH, DX, EDX) MOV ESI, H (SI, ESI) a答:解題思路:下列指令的功能是將一個(gè)立即數(shù)傳送到目標(biāo)操作數(shù),根據(jù)括號(hào)中指定的課寄存器,給出指令運(yùn)行后,相應(yīng)寄存器存入的結(jié)果。 AL= B6H, AH= F4H, AX= F4B6H, EAX= 9823F4B6H BL= C2H, BH= 85H,
22、BX= 85C2H, EBX= C2H DL= 00H, DH= 00H, DX= 0000H, EDX= H SI= 0000H, ESI= H3.9 分別說(shuō)明下列每組指令中的兩條指令的區(qū)別。 MOV AX, TABLELEA AX, TABLE AND BL, 0FHOR BL, 0FH JMP SHORT L1JMP NEAR PTR L1 MOV AX, BX MOV AX, BX SUB DX, CXCMP DX, CX MOV BPSI , CLMOV DS: BPSI , CL答:第一條指令將變量名TABLE確定的一個(gè)字?jǐn)?shù)據(jù)傳送到AX中;第二條指令取變量名TABLE的16位有效地
23、址值傳送到AX中。 第一條指令將BL中的內(nèi)容和立即數(shù)0FH相與,結(jié)果回送到BL中;第二條指令將BL中的內(nèi)容和立即數(shù)0FH相或,結(jié)果回送到BL中。 第一條指令為段內(nèi)無(wú)條件短程轉(zhuǎn)移,跳轉(zhuǎn)的范圍不得超過(guò)帶符號(hào)的8位二進(jìn)制數(shù)表示的字節(jié)范圍;第二條指令為段內(nèi)無(wú)條件近程轉(zhuǎn)移,跳轉(zhuǎn)的范圍不得超過(guò)帶符號(hào)的16位二進(jìn)制數(shù)表示的字節(jié)范圍。 第一條指令源操作數(shù)為存儲(chǔ)器,將BX的內(nèi)容確定的相鄰兩個(gè)存儲(chǔ)單元中的內(nèi)容傳送到AX中; 第二條指令源操作數(shù)為寄存器,將BX的內(nèi)容傳送到AX中。 o 第一條指令將DX的內(nèi)容減去CX的內(nèi)容,結(jié)果回送到DX中;第二條指令只是將DX的內(nèi)容和CX的內(nèi)容相減作大小比較,不回送結(jié)果。 第一條指
24、令將CL的內(nèi)容傳送到堆棧段中由BP+SI確定的單元中;第二條指令將CL的內(nèi)容傳送到數(shù)據(jù)段中由BP+SI確定的單元中。3.10 設(shè)堆棧指針SP的初值為2000H, AX3000H, BX5000H,試問(wèn):. 執(zhí)行指令PUSH AX后,SP?案 再執(zhí)行 PUSH BX及POP BX后,SP?, AX?, BX?畫出堆棧變化示意圖。答: SP= 1FFEH SP= 1FFEH, AX= 3000H, BX= 5000H 3.11 已知當(dāng)前SS10A0H, SP0040H, AXFF00H, BX8850H,請(qǐng)用圖表示執(zhí)行下列四條指令過(guò)程中,堆棧中的內(nèi)容變化情況。PUSH AXPUSH BX .POP
25、 AXPOP BX答:解題思路:先求堆棧棧底單元的物理地址,然后逐條執(zhí)行堆棧操作指令。堆棧段中棧底的物理地址= SS16+SP=10A0H 16+0040=10A40H指令執(zhí)行的結(jié)果,實(shí)際上是將AX和BX的內(nèi)容進(jìn)行了交換。 3.12 編寫一程序段,實(shí)現(xiàn)下述要求。 將存儲(chǔ)器中1A00H單元中的一個(gè)字節(jié)數(shù)據(jù)傳送到1B00H單元中; 使AX寄存器的低四位清0,其余位不變; . 使AL寄存器的低四位保持不變,高四位取反; 使DH寄存器的低四位為1,高四位不變。 答:解題思路:根據(jù)每小題的要求,選擇合適的指令編寫相應(yīng)的指令序列(不編制段定義結(jié)構(gòu))。 MOV AL, 1A00H aMOV 1B00H, A
26、L課 AND AX, 0FFF0H d XOR AL, 0F0H OR DH, 0FH h3.13 若有兩個(gè)四字節(jié)的無(wú)符號(hào)數(shù)相加,這兩個(gè)數(shù)分別存放在2000H和3000H開始的存儲(chǔ)單元中,得 到的和也為四字節(jié),存放在2000H開始的單元中,編一段程序完成這兩個(gè)數(shù)答:解題思路:該題目屬于兩個(gè)多字節(jié)二進(jìn)制數(shù)相加的過(guò)程,應(yīng)選擇的關(guān)鍵指令是ADC,采用循環(huán)結(jié)構(gòu)程序完成兩數(shù)相加的過(guò)程,但要特別注意最低字節(jié)相加前要使CF0。根據(jù)題意編寫的程序段如下:CLCMOV CX, 4MOV SI, 2000HMOV DI, 3000HAA: MOV AL, SIADC AL, DIMOV SI,ALINC SIIN
27、C DILOOP AAHLT3.14 若32位二進(jìn)制數(shù)存放于DX和AX中,試?yán)靡莆慌c循環(huán)移位指令實(shí)現(xiàn)以下操作:1)DX和AX中存放的是無(wú)符號(hào)數(shù),將其分別乘以2和除以2;2)DX和AX中存放的是有符號(hào)數(shù),將其分別乘以2和除以2。答:解題思路:給據(jù)題意不用乘法、除法指令,而利用左移指令完成乘以2,右移指令完成除以2。一是要注意無(wú)符號(hào)數(shù)及有符號(hào)數(shù)移位指令的選擇,二是要注意對(duì)第一個(gè)字?jǐn)?shù)據(jù)移出來(lái)的進(jìn)位標(biāo)志位的處理。 乘以2: 除以2:SHL AX, 1 SHR DX, 1RCL DX, 1 RCR AX, 1 SAL AX, 1 SAR DX, 1RCL DX, 1 RCR AX, 1 3.15 試編
28、寫出將內(nèi)存2500H開始的256個(gè)字節(jié)單元清0的程序。答:解題思路:建立地址指針指向內(nèi)存首地址2500H,采用循環(huán)結(jié)構(gòu)程序?qū)?56個(gè)單元依次清零。根據(jù)題意編寫的程序段如下:MOV CX, 256 MOV AL, 0 .MOV BX, 2500H AA: MOV BX, AL INC BX LOOP AAHLT 3.16 設(shè)a, b, c分別為組合十進(jìn)制數(shù)的百位、十位、個(gè)位數(shù),試不用乘法指令完成(a10b)10c。 答:解題思路:由于每位十進(jìn)制數(shù)均為組合BCD碼,分別用四位二進(jìn)制數(shù)表示,其每位乘以10的過(guò)程可用左移指令將其連續(xù)左移四位實(shí)現(xiàn)。根據(jù)題意編寫的程序段如下:MOV AL, aMOV CL
29、, 4SHL AL, CLADD AL, bMOV AH, 0MOV CL, 4SHL AX, CLADD AX, cHLT 3.17 假設(shè)X和X2單元的內(nèi)容為雙精度數(shù)p, Y和Y2單元的內(nèi)容為雙精度數(shù)q,(X和Y為低位字),試說(shuō)明下列程序段做什么工作?MOV DX, X+2MOV AX, XADD AX, XADC DX, X+2CMP DX, Y+2JL L2 JG L1CMP AX, YJBE L2L1: MOV AX, 1JMP SHORT EXITL2: MOV AX, 2EXIT:HLT答:本程序段完成的工作為: 先將2p和q進(jìn)行大小比較; 當(dāng)2pq時(shí),AX=1,暫停;當(dāng)2PQ時(shí),
30、AX=2,暫停。3.18 試編制一個(gè)程序段,完成圖3.20中流程圖所規(guī)定的功能。 答:解題思路:圖中用兩個(gè)條件區(qū)別三個(gè)分支,可采用兩條比較指令完成大小比較,利用條件轉(zhuǎn)移指令實(shí)現(xiàn)分支程序的執(zhí)行。根據(jù)圖3.20編寫的程序段如下:CMP AX, -1JLE LOOP1CMP AX, 1JL LOOP2MOV AX, 1JMP LOOP3LOOP1: MOV AX, -1JMP LOOP3LOOP2: MOV AX, 0LOOP3: HLT4.1將下列左邊各項(xiàng)與右邊的名詞對(duì)應(yīng)起來(lái),找出正確答案的序號(hào)填入括號(hào)中。 使計(jì)算機(jī)執(zhí)行某種操作的命令 ( )A.代碼段 表示計(jì)算機(jī)執(zhí)行某種操作的符號(hào) ( )B.源程
31、序 使匯編程序執(zhí)行某種操作的命令 ( )C.匯編程序 用匯編語(yǔ)言或高級(jí)語(yǔ)言編寫的程序 ( )D.指令 以機(jī)器碼指令組成的程序 ( )E.偽指令 指出指令在程序中位置的符號(hào)地址 ( )F.編譯程序 指出數(shù)據(jù)存儲(chǔ)單元的符號(hào)地址 ( )G.目標(biāo)程序 將高級(jí)語(yǔ)言的程序翻譯成機(jī)器碼程序的實(shí)用程序 ( )H.助記符 存放指令機(jī)器碼的存儲(chǔ)器區(qū)段 ( )I.標(biāo)號(hào) 將匯編語(yǔ)言程序翻譯成機(jī)器碼程序的實(shí)用程序 ( )J.變量答: 4.9 畫圖說(shuō)明下列語(yǔ)句所分配的存儲(chǔ)空間及初始化的數(shù)據(jù)值。RSS1 DW 25 dRSS2 DW 4 DUP(?),2CNT EQU 10 hRSS3 DD CNT DUP(?)RSS4
32、DB 2 DUP (?,CNT DUP(10)RSST DB HOW ARE YOU?答: 4.10 已知: .ORG 0200HARY DW -1,2,-3,-4CNT DW $ARYVAR DW ARY,$4.MOV AX,ARYMOV BX,OFFSET VARMOV CX,CNTMOV DX,VAR+2LEA SI,ARY.此段程序執(zhí)行后,AX( -1 ),BX(020AH),CX( 8 ),DX(020AH),SI(0200H )。4.11給出符號(hào)定義語(yǔ)句如下:FIRST DB ABCD,3,?,0FHSECOND DB ?Y EQU SECONDFIRST求Y的值是多少?答:Y的值
33、是7。4.12下面各題中有語(yǔ)法錯(cuò)誤,分別用兩種辦法修改,使其正確。 題 目 改 法 1 改 法 2 M1 DW 5060H M1 DW 5060H M1 DB 60H MOV BL, M1 MOV BX,M1 MOV BL,M1 M2 EQU 10H M2 EQU 10H M2 EQU 1000H MOV AX,M2 MOV AL,M2 MOV AX,M2 M3 DW ABCD M3 DB ABCD M3 DW AB M4 DB 1234 M4 DW 1234 M4 DB 12 DATA1 SEGMENT DATA1 SEGMENT DATA1 SEGMENT DA1 DW 1234H DA1
34、 DW 1234H DA1 DW 1234H DATA1 ENDS DATA1 ENDS DATA ENDS DATA2 SEGMENT CODE SEGMENT DATA2 SEGMENT DA2 DW 5678H ASSUME CS:CODE,DS:DATA1 DA2 DW 5678H DATA2 ENDS DATA2 ENDS CODE SEGMENT MOV BX,DA1 CODE SEGMENTASSUME CS:CODE,DS:DATA1 ASSUME CS:CODE,DS:DATA1, CODE ENDS ES:DATA2 MOV BX,DA2 MOV BX,ES:DA2 COD
35、E ENDS CODE ENDS4.13 按下面要求寫出程序的框架。 數(shù)據(jù)段的位置從0E000H開始,數(shù)據(jù)段中定義一個(gè)有100個(gè)字節(jié)的數(shù)組。ORG 0000H DATA SEGMENTADS DB 100 DUP (?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATAMOV AX,0E00HMOV DS,AX CODE ENDS 堆棧段名為STACK1,留100個(gè)字的空間。STACK1 SEGMENTSTA DW 100 DUP (?)TOP EQU LENGTH STASTACK1 ENDS 在代碼段中指定段寄存器,主程序從1000H開始,給有關(guān)段寄存器
36、賦值。DATA SEGMENT DATA ENDSEXTRA SEGMENTEXTRA ENDS STACK SEGMENT STACK ENDSCODE SESGSMENE TCS:CODE, DS:DATA, ES:EXTRA, SS:STACK ORG 0100HSTART: MOV AX, DATA MOV DS, AX .MOV AX, EXTRAMOV ES, AX MOV AX, STACKMOV SS, AX CODE ENDS 程序結(jié)束。 答:ENDlabel.4.14對(duì)于下面的數(shù)據(jù)定義,寫出各條指令執(zhí)行后的結(jié)果。AA DB ?BB DW 10 DUP(1)CC DB 1 2
37、 3 4 5 MOV AX,TYPE AA AX=( 0001H ) MOV AX,TYPE BB AX=( 0002H ) MOV CX,LENTH BB CX=( 000AH ) MOV CX,LENGTH CC CX=( 0001H ) MOV BX,SIZE BB BX=( 0014 H )4.15分析下列程序段,指出在什么情況下該段程序的執(zhí)行結(jié)果為AH=0?BEGIN: IN AL,5FHTEST AL,80HJZ EXITMOV AH,0JMP DONEEXIT: MOV AH,0FFHDONE: HLT答:從端口5FH讀入的數(shù)若為正,則最高位為0,AH0FFH;從端口5FH讀入的
38、數(shù)若為負(fù),則最高位為1,AH0。4.16閱讀程序并回答問(wèn)題: 在(a)(b)處填寫與其左邊指令等效的指令或指令序列; 程序的功能是( ),所依據(jù)的算式是( )。 程序執(zhí)行后,DEDT單元內(nèi)容為( )。 DATA SEGMENTBITD DW 128H2,H6 4H,32H,16H,8H,4H,2H,1H DEDT DW ?DATA ENDS CODE SEGMENT . ASSUME CS:CODE,DS:DATA案START: MOV AX,DATA MOV DS,AX MOV BL,SOCB LEA SI,BITD (a) MOV CX,8 MOV AX,0 dL1: SHL BL,1 J
39、NC L2 ADD AL,SI DAA MOV DL,AL ADC AH,SI+1 MOV AL,AH DAA MOV AH,AL MOV AL,DLL2: ADD SI,2 LOOP L1 (b) MOV DEDT,AX MOV AH,4CH INT 21H CODE END END START 答:(a)MOV SI, OFFSET BITD (b)LOOPNZ L1或LOOPNE L1(執(zhí)行ADD SI,2指令,ZF不可能為0,因而可用此指令代替。) 程序的功能是:根據(jù)給定的邏輯尺0D2H對(duì)數(shù)據(jù)區(qū)BITD中BCD數(shù)進(jìn)行BCD加法;所依據(jù)的算式是(128H64H16H2H)。程序執(zhí)行后,D
40、EDT單元內(nèi)容為(210H)。4.17 根據(jù)每條指令后的注釋寫出各指令執(zhí)行后目標(biāo)操作數(shù)中的內(nèi)容: MOV SI,EAX ;假設(shè) SI=2000H,EAX=9823F456H MOV BX,ECX ;假設(shè) BX=348CH,ECX=1F23491H MOV EBX,DI ;假設(shè) DI=4044H 所有相關(guān)數(shù)據(jù)均為十六進(jìn)制數(shù)DS:4044=(92) DS:4045=(6D)DS:4046=(A2)DS:4047=(4C) MOV DI,EBX ;假設(shè) DI=148FH,EBX=6B2415F9H答: 2000H=56H,2001H=F4H,2002H=23H,2003H=98H; c 348CH=
41、91H,348DH=34H,348EH=F2H,348FH=01H; EBX=4CA26D92H; 148FH=F9H,1490H=15H,1491H=24H,1492H=6BH。4.18在數(shù)組BUFF中,存有20個(gè)字?jǐn)?shù)據(jù),編制匯編語(yǔ)言程序,將數(shù)組中的第5個(gè)字?jǐn)?shù).據(jù)求補(bǔ),再放回原處。 答: DSEG SEGMENTBUFF DW 20 DUP (?) DSEG ENDS CSEG SEGMENTASSUME CS:CSEG, DS:DSEG START: MOV AX, DSEGMOV DS, AX MOV BX, OFFSET BUFFNEG WORD PTRBX+8CSEG ENDS EN
42、D START 4.19編寫一個(gè)匯編語(yǔ)言程序,將字節(jié)變量ARRAY中包含的100個(gè)數(shù)據(jù)分成正數(shù)組PP和負(fù)數(shù)組NN,并分別統(tǒng)計(jì)這兩個(gè)數(shù)組的數(shù)據(jù)個(gè)數(shù),存入字節(jié)單元RS1和RS2中。答:解題思路:將這100個(gè)數(shù)據(jù)依次與0進(jìn)行比較,若大于或等于0,存入PP數(shù)據(jù)區(qū),且計(jì)數(shù)器DH加1;若小于0,存入NN數(shù)據(jù)區(qū),且計(jì)數(shù)器DL加1。最后將DH和DL中的內(nèi)容存入RS1和RS2中,即為兩數(shù)組的數(shù)據(jù)個(gè)數(shù)。DSEG SEGMENTARRAY DB 100 DUP (?)PP DB 100 DUP (?)NN DB 100 DUP (?)RS1 DB ?RS2 DB ?DESG ENDSCSEG SEGMENTASSU
43、ME CS:CSEG,DS:DSEG START: MOV AX,DSEG MOV DS,AXMOV BX,OFFSET ARRAYMOV SI,OFFSET PPMOV DI,OFFSET NNMOV CX,100MOV DX,0NEG: MOV AL, BX CMP AL,0JGE POSMOV DI,AL oINC DI INCP LDLP POS: MOV SI,ALINC SI INC DH .LOP: INC BX LOOP NEG MOV RS1,DH MOV RS2,DLHLT aCODE ENDS END START 4.20逐條注釋下列兩個(gè)程序的每條指令,并說(shuō)明它們的功能:
44、 LEA BX,ARRAY ;取數(shù)組ARRAY的偏移地址并存入寄存器BX LEA DI,RESULT ;取數(shù)組RESULT的偏移地址并存入寄存器DI MOV CL,4 ;給寄存器CL賦初值4 AGAIN:MOV AL,BX ;將數(shù)組ARRAY的第一個(gè)數(shù)存入寄存器AL TEST AL,80H ;測(cè)試AL的最高位 JZ NEXT ;若AL最高位為0(正數(shù)),轉(zhuǎn)到NEXT NEG AL ;若AL最高位為1(負(fù)數(shù)),對(duì)寄存器AL中的 ;數(shù)求補(bǔ)NEXT:MOV DI,AL ;將結(jié)果存入REAULT數(shù)組 INC BX ;BX值加1,地址指針指向ARRAY數(shù)組的下一個(gè)數(shù)INC DI ;DI值加1,地址指針指
45、向RESULT數(shù)組的下一個(gè)數(shù)DEC CL ;寄存器CL值減1 JNZ AGAIN ;若CL值不為0,轉(zhuǎn)向AGAIN繼續(xù)執(zhí)行程序段功能:將數(shù)組ARRAY中的4個(gè)字節(jié)數(shù)求補(bǔ),結(jié)果存入數(shù)組RESULT中 MOV AL,0 ;將寄存器AL清0 MOV SI,1 ;給寄存器SI賦初值1 MOV CX,100 ;給寄存器CX賦初值100 LOP :INC SI ;SI加1 MOV AL,A1SI ;將數(shù)據(jù)緩沖區(qū)A1中的數(shù)存入寄存器AL ADD AL,A2SI ;將數(shù)據(jù)緩沖區(qū)A2中的相應(yīng)數(shù)與AL相加 MOV SUM SI,AL ;將結(jié)果存入數(shù)據(jù)緩沖區(qū)SUM中 LOOPNZ LOP ;若CX10且ZF0,轉(zhuǎn)向
46、LOP繼續(xù)執(zhí)行 JZ NEXT ;若ZF1,轉(zhuǎn)向NEXT繼續(xù)執(zhí)行 ZERO: RET ;子程序返回 NEXT: INC CX ;寄存器CX值加1 JMP ZERO ;無(wú)條件轉(zhuǎn)向ZERO繼續(xù)執(zhí)行程序段功能:將長(zhǎng)度均為100的數(shù)據(jù)緩沖區(qū)A1和A2中的相應(yīng)數(shù)相加,結(jié)果存入數(shù)據(jù)緩沖區(qū)SUM的相應(yīng)位置,若相加結(jié)果為0則退出循環(huán)。 4.22T閱讀下列程DB序,指出運(yùn)行結(jié)果。DATA1 DB 0,1,2,3,4,5,6,7,8,9 DATA2 DB 10 DUP(?) MOV CX,5 MOV BX,5MOV SI,0 MOV DI, 0NEXT:MOV AL,DATA1BX+SIMOV DATA2DI,A
47、LINC SIINC DILOOP NEXT問(wèn):1)該程序完成什么功能?2)寫出該程序執(zhí)行后DATA2數(shù)據(jù)區(qū)的內(nèi)容。答:1)程序完成功能是:將數(shù)據(jù)區(qū)DATA1中后5個(gè)字節(jié)單元的內(nèi)容填入數(shù)據(jù)區(qū)DATA2前5個(gè)單元中。2)程序執(zhí)行后數(shù)據(jù)區(qū)DATA1、DATA2中的內(nèi)容如圖4.2所示。4.25 在內(nèi)存首地址為TABL的存儲(chǔ)區(qū)域中,存放著100個(gè)補(bǔ)碼字?jǐn)?shù)據(jù),試編寫程序把出現(xiàn)次數(shù)最多的數(shù)及其出現(xiàn)的次數(shù)分別存放在寄存器AX和CX中。答:解題思路:首先將存儲(chǔ)區(qū)中的第一個(gè)數(shù)據(jù)取出與存放的100個(gè)數(shù)據(jù)依次進(jìn)行比較,有重復(fù)數(shù)據(jù)出現(xiàn)時(shí),計(jì)數(shù)并保存數(shù)據(jù),若沒(méi)有重復(fù)數(shù)據(jù)出現(xiàn)時(shí),取第二個(gè)數(shù),再與這 100個(gè)數(shù)據(jù)依次比較,重復(fù)上述過(guò)程,再與前一個(gè)數(shù)出現(xiàn)的次數(shù)進(jìn)行比較,大則保留,小則繼續(xù)取下一個(gè)數(shù),直至100個(gè)數(shù)據(jù)全部比較完成。采用雙重循環(huán)結(jié)構(gòu)程序?qū)崿F(xiàn)題目中的要求。DSEG SEGMENTTABL DW 100 DUP (?)DATA DW ?CONT DW 1DSEG ENDSCSEG SEGMENT
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年企業(yè)機(jī)器質(zhì)押借款合同
- 2025年勞動(dòng)解除合同標(biāo)準(zhǔn)條款
- 2025年抗瘧藥項(xiàng)目申請(qǐng)報(bào)告模范
- 2025年貨車租賃與運(yùn)輸服務(wù)合同樣本
- 2025年國(guó)際貨物買賣合同與慣例
- 2025年專業(yè)清潔人員派遣協(xié)議
- 2025年二手車購(gòu)買合同范本
- 2025年三板市場(chǎng)股權(quán)買賣協(xié)議
- 2025年伙伴開設(shè)教育機(jī)構(gòu)合作協(xié)議書模板
- 2025年繼電器研發(fā)策劃技術(shù)協(xié)議書范本
- 河南2025年河南職業(yè)技術(shù)學(xué)院招聘30人筆試歷年參考題庫(kù)附帶答案詳解
- 2024年湖南有色金屬職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測(cè)驗(yàn)歷年參考題庫(kù)(頻考版)含答案解析
- 生物-遼寧省大連市2024-2025學(xué)年高三上學(xué)期期末雙基測(cè)試卷及答案
- Unit 4 A glimpse of the future 說(shuō)課稿-2023-2024學(xué)年高二下學(xué)期英語(yǔ)外研版(2019)選擇性必修第三冊(cè)001
- 加氣站安全課件
- 《民營(yíng)企業(yè)清廉建設(shè)評(píng)價(jià)規(guī)范》
- 智能RPA財(cái)務(wù)機(jī)器人開發(fā)教程-基于來(lái)也UiBot 課件 第2章-常用機(jī)器人流程自動(dòng)化
- 公務(wù)車輛定點(diǎn)加油服務(wù)投標(biāo)文件(技術(shù)方案)
- 安徽工程大學(xué)《回歸分析》2023-2024學(xué)年第一學(xué)期期末試卷
- 讀書分享《給教師的建議》課件
- 《中小學(xué)校園食品安全和膳食經(jīng)費(fèi)管理工作指引》專題講座
評(píng)論
0/150
提交評(píng)論