【正文】
13. 通??偩€帶寬與位寬成正比,如果總線的頻率為88MHz,總線的位寬為8位,則總。用于同一塊印刷電路板上的總線是內(nèi)總線。10. 通常情況下,我們用AB表示地址總線,那么DB表示數(shù)據(jù)總線, 用CB_表示控制總線。9. 8086處理器的數(shù)據(jù)總線為16位,時(shí)鐘頻率為5MHz,那么實(shí)現(xiàn)一次16為數(shù)據(jù)傳送的總線帶寬是_。7. 總線按照信號(hào)分類可以分為__________,__________,控制總線。5. 占用總線進(jìn)行數(shù)據(jù)傳輸,一般需要經(jīng)過(guò)總線請(qǐng)求和仲裁、_尋址__、_數(shù)據(jù)傳送_和結(jié)束4個(gè)階段。3. 8086執(zhí)行指令“MOV AX, [BX]”時(shí),在其引腳上將產(chǎn)生__存儲(chǔ)器讀___總線操作;執(zhí)行指令“MOV [BX], AX”時(shí),在其引腳上將產(chǎn)生_存儲(chǔ)器寫___總線操作。T1. 某個(gè)處理器具有16個(gè)地址總線,通常可以用A____0____表達(dá)最低位地址信號(hào),用A__15_______表達(dá)最高地址信號(hào)。T14. 總線信號(hào)并不是各自獨(dú)立發(fā)揮作用,而是相互配合實(shí)現(xiàn)總線操作。T12. 某一時(shí)刻可以有多個(gè)主模塊控制總線。T10. 現(xiàn)代微型計(jì)算機(jī)采用分級(jí)總線結(jié)構(gòu),以適應(yīng)不同部件的要求。T8. 能夠控制總線傳輸信息的設(shè)備稱為從設(shè)備。T6. 總線操作的半同步時(shí)序是指總線操作仍由共用的總線時(shí)鐘信號(hào)控制,但慢速模塊可以通過(guò)等待信號(hào)讓快速模塊等待。F4. 8086總線周期的T1狀態(tài)發(fā)出地址,屬于總線操作的尋址階段。T2. 處理器讀取存儲(chǔ)器操作數(shù)時(shí)和讀取代碼時(shí),都發(fā)生存儲(chǔ)器讀的總線操作。12. 存儲(chǔ)器寫:處理器向存儲(chǔ)器寫入操作數(shù)。10. 時(shí)鐘周期:每個(gè)時(shí)鐘脈沖的持續(xù)時(shí)間。 A 不同類型 B 同類型 C 近距離 D 遠(yuǎn)距離14. 并行通信適用于微機(jī)間 ( )的數(shù)據(jù)傳送。 A 1MB B 16MB C 64MB D 4GB2. 8086的INTR信號(hào)線表示( ) A 可屏蔽中斷響應(yīng) B 不可屏蔽中斷 C 可屏蔽中斷 D不可屏蔽中斷響應(yīng)3. 當(dāng)控制線READY=0時(shí),應(yīng)在( )之間插入等待周期Tw A T1和T2之間 B T2和T3之間 C T3和T4之間 D 任何時(shí)候4. 8086的NMI信號(hào)線表示( ) A 可屏蔽中斷響應(yīng) B 不可屏蔽中斷 C 可屏蔽中斷 D不可屏蔽中斷響應(yīng)5. 8086的READY信號(hào)線表示( ) A 就緒 B 復(fù)位 C 時(shí)鐘 D 測(cè)試6. 8086的HOLD信號(hào)線表示( ) A 總線請(qǐng)求 B 總線響應(yīng) C 中斷請(qǐng)求 D 中斷響應(yīng)7. 8086的寫總線周期在T1狀態(tài)( ) A 完成數(shù)據(jù)傳送 B 輸出地址 C 輸出控制信號(hào) D 檢測(cè)數(shù)據(jù)傳送8. 8086的寫總線周期在T2狀態(tài)( ) A 完成數(shù)據(jù)傳送 B 輸出地址 C 輸出控制信號(hào) D檢測(cè)數(shù)據(jù)傳送9. 8086的寫總線周期在T3狀態(tài)( ) A 完成數(shù)據(jù)傳送 B 輸出地址 C 輸出控制信號(hào) D 檢測(cè)數(shù)據(jù)傳送10. 8086的寫總線周期在T4狀態(tài)( ) A 完成數(shù)據(jù)傳送 B 輸出地址 C 輸出控制信號(hào) D 檢測(cè)數(shù)據(jù)傳送11. MB/s的含義是 ( ) A 總線上每秒傳輸?shù)淖畲髷?shù)據(jù)量 B 總線上每秒傳輸?shù)淖畲笞止?jié)量 C 總線上每秒傳輸?shù)亩M(jìn)制位數(shù) D 總線上每秒傳輸?shù)氖M(jìn)制位數(shù)12. 總線上每秒傳輸?shù)淖畲笞止?jié)量稱為 ( ) 。顯示一個(gè)無(wú)符號(hào)數(shù)的子程序?yàn)椋篸ispuid,入口參數(shù):EAX=要顯示無(wú)符號(hào)數(shù)的值。顯示一個(gè)字符的子程序?yàn)椋篸ispc,入口參數(shù):AL=要顯示個(gè)字符的SACII碼。14. 編寫一子程序,將一個(gè)32位二進(jìn)制數(shù)用8位十六進(jìn)制形式在屏幕上顯示出來(lái)。13. 已知一個(gè)字符串的長(zhǎng)度,剔除其中所有的空格字符。如果存在,顯示“Y”,否則顯示“N”。顯示一個(gè)無(wú)符號(hào)數(shù)的子程序?yàn)椋篸ispuid,入口參數(shù):EAX=要顯示無(wú)符號(hào)數(shù)的值。end of assembly11. 編程寫一個(gè)名為Gcd的求兩個(gè)數(shù)最大公約數(shù)子程序,主子程序間的參數(shù)傳遞通過(guò)堆棧完成。返回操作系統(tǒng)main endp 。顯示空格nexti: inc ebx 。if i mod j=0 then goto next i dec ecx jmp jLoopprint: mov eax,ebx call dispuid 。被除數(shù)送eax,32位除法 or edx,edx 。j循環(huán)入口 jb print mov eax,ebx cdq 。i循環(huán)入口 ja done mov ecx,ebx shr ecx,1 。,0 .codemain proc 。,13,10,0 blank byte 39。include .data msg byte 39。end of assembly10. 編程寫一個(gè)名為Prime的子程序,用于測(cè)試一個(gè)整數(shù)是否是素?cái)?shù),主子程序間的參數(shù)傳遞通過(guò)堆棧完成。返回操作系統(tǒng)main endp 。字符串.codemain proc 。press any key to continue ...39。 39。顯示一個(gè)無(wú)符號(hào)數(shù)的子程序?yàn)椋篸ispuid,入口參數(shù):EAX=要顯示無(wú)符號(hào)數(shù)的值。9. 回文是指正讀和反讀都一樣的數(shù)或文本。請(qǐng)寫一個(gè)程序測(cè)試一字符串是否是“回文”, 是“回文”則顯示“Y”,否則顯示“N”。要求:編程寫一個(gè)完整的程序求出數(shù)組元素中偶數(shù)的和,并將它存入esum單元中。I love XUT !39。,13,10,0 space dword ? char dword ?6. 編程寫一個(gè)完整的程序,將字符串msg中所有的小寫字母轉(zhuǎn)換為大寫字母。數(shù)據(jù)段的定義如下: .data msg byte 39。主程序結(jié)束end main 。注意符號(hào)位的擴(kuò)展! call dispsid call dispcrlf ret 。注意區(qū)分有符號(hào)數(shù)和無(wú)符號(hào)數(shù)! mov ax,array[esi*type array]next: inc esi 。esi間址指針 mov ax,array[esi*type array] 。顯示字符串 mov ecx,lengthof array 。數(shù)據(jù)段的定義如下: .data aray dword 12,4,-168,122,-33,56,78,99,345,-66,-5 min dword ? max dword ?.code main proc 。end of assembly3. 編程寫一個(gè)完整的程序,將數(shù)組aray中的元素按逆序存放,要求程序中附加的變量最少。返回操作系統(tǒng)main endp 。顯示空格nexti: inc ebx 。if i mod j=0 then goto next i dec ecx jmp jLoopprint: mov eax,ebx call dispuid 。被除數(shù)送eax,32位除法 or edx,edx 。j循環(huán)入口 jb print mov eax,ebx cdq 。i循環(huán)入口 ja done mov ecx,ebx shr ecx,1 。,0 .codemain proc 。,13,10,0 blank byte 39。include .data msg byte 39。主程序結(jié)束end main 。if year mod 1000 then goto leapnoleap: mov eax,offset msg1 jmp displayleap: mov eax,offset msg display: call dispmsg call dispcrlf ret 。if year mod 400=0 then goto leap mov eax,year xor edx,edx mov ebx,4 div ebx cmp edx,0 jnz noleap 。讀入一個(gè)年份 mov year,eax call dispsid 。,0.code main proc 。,0 msg1 byte 39。,0 msg byte 39。include .data year dword ? prompt byte 39。1. 能被4整除但不能被100整除,或者年被400整除的年份是閏年。RET N 該指令允許返回地址出棧后修改堆棧的指針。1)JMP指令;無(wú)任何先決條件下,就能使程序改變執(zhí)行順序;2)Jcc指令;根據(jù)指定條件,確定程序是否發(fā)生轉(zhuǎn)移;3)LOOP指令;作為計(jì)數(shù)器,控制循環(huán);4)CALL指令;在主程序中實(shí)現(xiàn)子程序的調(diào)用。6. 不使用CALL指令是否可以實(shí)現(xiàn)子程序的調(diào)用?若可以,舉例說(shuō)明。i++) if ( i%2= =0) sum=sum+i。 for ( i=1。4. 將下面C語(yǔ)言程序的代碼片段轉(zhuǎn)換為功能等價(jià)的匯編語(yǔ)言代碼片段,其中sum與i變量均為雙字變量。amp。 ch1 =’z’) caps= =0。 if (ch1 =’a’ amp。 else sign = -1。 if ( sin teger = = 0) sign = = 0。1. 是什么特點(diǎn)決定了目標(biāo)地址的相對(duì)尋址方式應(yīng)用最多?當(dāng)同一個(gè)程序被操作系統(tǒng)安排到不同的存儲(chǔ)區(qū)域執(zhí)行時(shí),指令間的位移沒(méi)有改變,目標(biāo)地址采用相對(duì)尋址可方便操作系統(tǒng)的靈活調(diào)度。14. 通常在子程序中至少要有一條_返回__指令用于返回主程序,而匯編程序在匯編時(shí)并不檢測(cè)__返回_指令是否存在。12. 通常在子程序的開始部分要保護(hù)__入口參數(shù)___寄存器,但用做出口參數(shù)的通用寄存器則__不能保護(hù)和恢復(fù)__。10. 在LOOP Label 指令構(gòu)成的循環(huán)中,若ECX的初值為0,則循環(huán)體將被執(zhí)行__232_次;若ECX的初值為—100,則循環(huán)體將被執(zhí)行(232 100)次。8. 利用堆棧傳遞子程序參數(shù)的方法是固定的,在子程序中通常是利用寄存器EBP來(lái)訪問(wèn)棧中的參數(shù),采用的尋址方式是間接尋址。7. .過(guò)程定義開始是“TEST PROC”語(yǔ)句,則過(guò)程定義結(jié)束的語(yǔ)句是TEST ENDP。5. 循環(huán)結(jié)構(gòu)程序一般有三個(gè)部分組成,它們是循環(huán)初始,循環(huán)體和循環(huán)控制部分。3. “CMP EAX,3721H”指令之后是JZ指令,發(fā)生轉(zhuǎn)移的條件是EAX=3721H,此時(shí)ZF=1。T1. JMP指令根據(jù)目標(biāo)地址的尋址方式,可以分成三種類型:相對(duì)尋址、直接尋址和間接尋址。F18. 在高級(jí)語(yǔ)言中,若多重循環(huán)出現(xiàn)交叉”的錯(cuò)誤,編譯系統(tǒng)通常會(huì)給出提示來(lái)。T16. 在軟件中只使用一次的功能編寫成子程序完全沒(méi)有必要。F14. 在LOOP指令構(gòu)成的循環(huán)結(jié)構(gòu)中,允許修改ECX的值。F11. 匯編語(yǔ)言中不允許遞歸調(diào)用子程序。F9. 利用寄存器在主子程序間傳遞參數(shù),其實(shí)質(zhì)就是利用全局變量來(lái)傳遞參數(shù)。T7. CALL指令用在調(diào)用程序中,如果被調(diào)用程序中也有CALL指令,說(shuō)明出現(xiàn)了嵌套。但考慮對(duì)狀態(tài)標(biāo)志的影響,它們有差別。F5. 控制循環(huán)是否結(jié)束只能在一次循環(huán)結(jié)束之后進(jìn)行。F3. 因?yàn)闂l件轉(zhuǎn)移指令Jcc要利用標(biāo)志作為條件,所以也影響標(biāo)志。 A. 10 B. 5 C. 4 D. 100001. 指令指針或者還包括代碼段寄存器值的改變將引起程序流程的改變。 A. [EBP-4] B. [EBP-8] C. [EBP+4] D. [EBP+8]14. 在用LOOP Label 指令構(gòu)成的循環(huán)中,若ECX的初值為-10,則循環(huán)體將被執(zhí)行( )次。A. EBP沒(méi)有被占用B. EBP間址速度較快C. EBP間址默認(rèn)的段是堆棧段D. EBP是基址指針12. 通過(guò)寄存器傳遞參數(shù)比通過(guò)堆棧傳遞參數(shù)的優(yōu)點(diǎn)是( )。 A. ZF = 1 B. SF = 1 C. OF = 1 D. CF = 110. 利用堆棧傳遞子程序參數(shù)的方法是固定的,若主程序通過(guò)堆棧向子程序傳遞了3個(gè)參數(shù),則在子程序中, 主程序中最后一個(gè)被壓入棧中的參數(shù)可以用( )的形式來(lái)訪問(wèn)。 A. RET 3*1 B. RET 3*2 C. RET 3*3 D. RET 3*48. 主程序通過(guò)堆棧向子程序傳遞了3個(gè)參數(shù),子程序調(diào)用結(jié)束后,在主程序中清除堆棧中3個(gè)參數(shù)正確的指令是( )。 A. JA