2023年6月匯編語(yǔ)言程序設(shè)計(jì)-試題庫(kù)(給學(xué)生復(fù)習(xí))_第1頁(yè)
2023年6月匯編語(yǔ)言程序設(shè)計(jì)-試題庫(kù)(給學(xué)生復(fù)習(xí))_第2頁(yè)
2023年6月匯編語(yǔ)言程序設(shè)計(jì)-試題庫(kù)(給學(xué)生復(fù)習(xí))_第3頁(yè)
2023年6月匯編語(yǔ)言程序設(shè)計(jì)-試題庫(kù)(給學(xué)生復(fù)習(xí))_第4頁(yè)
2023年6月匯編語(yǔ)言程序設(shè)計(jì)-試題庫(kù)(給學(xué)生復(fù)習(xí))_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、選擇題1、設(shè)DS=8225H,DI=3942H,指令MOV BX,DI源操作數(shù)的物理地址是( )A、85B92HB、86192HC、BB690HD、12169H2、計(jì)算機(jī)能直接識(shí)別并執(zhí)行的語(yǔ)言是( )。A、匯編語(yǔ)言B、機(jī)器語(yǔ)言C、高級(jí)語(yǔ)言D、低級(jí)語(yǔ)言3、循環(huán)指令LOOPNZ終止循環(huán)的條件是( )。A、CX=0,且ZF=0B、CX=0,或ZF=1C、CX0,且ZF=0D、CX0,或ZF=14、循環(huán)控制指令LOOPNZ/LOOPNE繼續(xù)執(zhí)行循環(huán)的條件是。A、CX0且ZF=1 B、CX0且ZF=0 C、CX0或ZF=1 D、CX0或ZF=05、ARRY DB 500 DUP0,那么ARRY+100存

2、儲(chǔ)單元內(nèi)容為 。A、100B、500C、0D、1016、THIS IS A BOOK作為字符串存儲(chǔ)在數(shù)據(jù)段時(shí)應(yīng)使用數(shù)據(jù)定義指令是 。A、DBB、DW B、DD D、以上三種情況均可7、對(duì)一個(gè)段的起始地址描述,下面不正確的是 。A、可在內(nèi)存任何地方B、段的起始地址能被16整除C、段的起始地址用16進(jìn)制數(shù)表示,但最后一位為0D、段的起始地址可用任意一個(gè)四位16進(jìn)制數(shù)乘以16來(lái)表示8、要在程序中定義緩沖區(qū)BUF,保存9個(gè)字節(jié)存儲(chǔ)空間的語(yǔ)句是( )。A、BUF DW 9B、BUF DB 9 C、BUF DB 9 DUP (?)D、BUF DW 9 DUP (?)9、AX,BX,CX都是通用存放器,但它

3、們又可用于專(zhuān)門(mén)的目的,它們的名字稱(chēng)為 。A、累加器、變址存放器、計(jì)數(shù)器B、累加器、基址存放器、計(jì)數(shù)器C、累加器、指針存放器、計(jì)數(shù)器 D、累加器、變址存放器、指針存放器10、變址存放器指的是 。A、SI、DIB、SI、SPC、SP、BPD、DI、DX11、在執(zhí)行子程序段間調(diào)用CALL SUBR指令后,SP的值( )。A、加2B、減2C、加4D、減412、在執(zhí)行子程序段內(nèi)調(diào)用CALL SUBR指令后,SP的值()。A、加1B、減1C、加2D、減213、當(dāng)SS=9876H, SP=4328H,執(zhí)行POPF指令后,堆棧頂部的物理地址是。A、9CA8AHB、9CA90HC、9CA86HD、0DB00H1

4、4、以下傳送指令中有語(yǔ)法錯(cuò)誤的是( )。A、MOV CS,AXB、MOV DS,AXC、MOV SS,AXD、MOV ES,AX15、下面指令執(zhí)行后,改變AL存放器內(nèi)容的指令是()。A、TEST AL,02HB、OR AL,ALC、CMP AL,BLD、AND AL,BL16、DEC BYTE PTRBX指令中的操作數(shù)的數(shù)據(jù)類(lèi)型是( )。A、字B、雙字C、字節(jié)D、四字17、與MOV BX,OFFSET VAR指令完全等效的指令是( )。A、MOV BX,VARB、LDS BX,VARC、LES BX,VARD、LEA BX,VAR18、MOV SP,3210HPUSH AX執(zhí)行上述指令序列后,

5、SP存放器的值是( )。A、3211HB、320EHC、320FHD、3212H19、MOV BH,1000SI,該指令中源操作數(shù)采用的尋址方式是( )。A、立即B、直接C、存放器相對(duì)尋址D、存放器間接尋址20、BUF DW 10H DUP(3 DUP(2,10H),3,5)上述語(yǔ)句匯編后,為變量BUF分配的存儲(chǔ)單元字節(jié)數(shù)是( )。(DW后面的10H化為10進(jìn)制為16,然后2*16*3*1+1+1+1=256個(gè)字節(jié),轉(zhuǎn)化為16進(jìn)制數(shù)后就是100HA、80HB、100HC、124D、19221、DOS系統(tǒng)功能調(diào)用中,顯示單個(gè)字符的系統(tǒng)調(diào)用號(hào)是( )H。A、01HB、02HC、08HD、09H 2

6、2、以下存放器組中在段內(nèi)尋址時(shí)可以提供偏移地址的存放器組是( )。A、AX,BX,CX,DXB、BX,BP,SI,DIC、SP,IP,BP,DXD、CS,DS,ES,SS23、下面描述中, 是正確的。A、高級(jí)語(yǔ)言與匯編語(yǔ)言的算法都是針對(duì)計(jì)算機(jī)硬件結(jié)構(gòu)的。B、匯編語(yǔ)言需要算法,高級(jí)語(yǔ)言不需要算法。C、高級(jí)語(yǔ)言的算法是針對(duì)計(jì)算機(jī)硬件結(jié)構(gòu)的。D、匯編語(yǔ)言的算法是針對(duì)計(jì)算機(jī)硬件結(jié)構(gòu)的。24、在書(shū)寫(xiě)匯編語(yǔ)言程序時(shí),在代碼段中初始位置要對(duì)數(shù)據(jù)段進(jìn)行加載,加載的指令語(yǔ)句,下面 描述正確。A、mov ax,dataB、mov ds,dataC、mov ax,datamov ds,axD、mov ax,ds m

7、ov cs,ds25、無(wú)條件段間間接轉(zhuǎn)移指令JMPDWORDPTRBXDI執(zhí)行的操作是 。A、IP(EA)CS (EA+2)B、IP (BX) CS (DI)C、IP=BL時(shí)分支去LOP1處,那么在“CMP AL,BL指令后應(yīng)跟的分支指令是( )。A、JNC LOP1B、JA LOP1C、JC LOP1D、JGE LOP149、設(shè)CL=8,AL=0C8H,執(zhí)行SAR AL,CL后,AL中的數(shù)據(jù)是( )。SAR算術(shù)右移指令,最高位不變,最低位移入CFA、0FFHB、80HC、00HD、0FEH50、完成將AX清零,并且使CF清零,下面錯(cuò)誤的指令是( )。A、SUB AX, AXB、AND AX,

8、 0C、XOR AX,AXD、MOV AX,051、8086/8088系統(tǒng)執(zhí)行傳送指令MOV時(shí)( )。A、不影響標(biāo)志位B、影響DF方向標(biāo)志C、影響SF符號(hào)標(biāo)志D、影響CF進(jìn)位標(biāo)志52、下面關(guān)于保護(hù)現(xiàn)場(chǎng)和恢復(fù)現(xiàn)場(chǎng)的描述,不正確的是cA、保護(hù)現(xiàn)場(chǎng)和恢復(fù)現(xiàn)場(chǎng)工作可在主程序中完成B、保護(hù)現(xiàn)場(chǎng)和恢復(fù)現(xiàn)場(chǎng)可在子程序中完成C、保護(hù)現(xiàn)場(chǎng)和恢復(fù)現(xiàn)場(chǎng)工作只能在子程序中完成D、保護(hù)現(xiàn)場(chǎng)和恢復(fù)現(xiàn)場(chǎng)既可在主程序中完成,也可在子程序中完成。53、下面 描述屬于子程序嵌套調(diào)用。A、某程序調(diào)用子程序B、某程序調(diào)用子程序1,子程序又調(diào)用了子程序2。C、某程序調(diào)用一個(gè)或多個(gè)子程序D、某程序調(diào)用了兩個(gè)子程序54、執(zhí)行CALL子程序

9、調(diào)用指令時(shí),CPU會(huì)自動(dòng)地將斷點(diǎn)壓入堆棧保護(hù)。斷點(diǎn)指的是 。A、CALL指令所在的地址B、CALL指令的下一條指令的首地址C、子程序入口地址D、CALL指令所在的段地址55、執(zhí)行RET指令后,CPU自動(dòng)將斷點(diǎn)彈到相應(yīng)的存放器中。如果是段間返回,返回的操作是 A、先彈出送IP,后彈出送CSB、先彈出送CS,后彈出送IPC、彈出送IPD、彈出送CS56、能夠與SS存放器組合形成堆棧區(qū)物理地址的存放器是 。A、BXB、BPC、IPD、SI57、不能作為地址指針存放器的是 。A、CXB、BXC、SID、DI58、將1存入AX中,其內(nèi)容為 。A、FFFFHB、-0001HC、FFHD、8001H59、以

10、下指令中有語(yǔ)法錯(cuò)誤的是( )。A、PUSH AXB、PUSH 20H+SI+BXC、POP CSD、PUSH ES 60、十進(jìn)制數(shù)40用十六位二進(jìn)制補(bǔ)碼表示為( )。A、FF40HB、8040HC、4000HD、FFD8H61、在程序中采用DOS系統(tǒng)功能調(diào)用退出用戶程序時(shí),在使用INT 21H指令前,應(yīng)選用( )指令。A、MOV AX,4CHB、MOV AL,4CHC、MOV AH,4CHD、RET62、8086CPU不能用指令直接訪問(wèn)的存放器是( )。A、SSB、BPC、ESD、IP63、能夠與SS存放器組合形成堆棧區(qū)物理地址的存放器是()。A、BXB、BPC、IPD、SI64、使用DOS系

11、統(tǒng)功能調(diào)用時(shí),使用的軟中斷指令是( )。A、INT 21HB、INT 10HC、INT 16HD、INT 2165、設(shè)AL=0AH,以下指令執(zhí)行后能使AL=05H的是( )。A、NOT ALB、ANDAL,0FHC、XOR AL,0FHD、OR AL,0FH66、以下指令中操作數(shù)在代碼段中的是( )。A、MOV AL,42HB、ADD AL,BL C、SUB BX,DID、INC DI67、表示過(guò)程定義結(jié)束的偽指令是( )。A、ENDSB、ENDC、ENDMD、ENDP69、以存放器DI間接尋址的存儲(chǔ)器字節(jié)單元內(nèi)容加1的指令是( )。A、INC DIB、INC DIC、ADD DI,1D、IN

12、C BYTE PTRDI70、指令SCASB操作數(shù)的段地址一定在( )存放器中。A、DSB、ESC、SSD、CS71、轉(zhuǎn)移指令JMP NEAR PTR PROCA的轉(zhuǎn)移范圍是( )。A、8000H7FFFHB、7FFFH0FFFHC、80H7FHD、0FH7FH72、串操作指令中,每次操作后使SIDI為減量應(yīng)設(shè)置( )。A、DF=0B、TF=1C、DF=1D、TF=0 73、指令MUL CX是將( )。A、CX,AXAXCXB、AX,CXAXCXC、DX,AXAXCXD、AX,BXAXCX74、以下指令中,( )指令影響8086標(biāo)志存放器的標(biāo)志位。A、MOVB、NOTC、XCHGD、TEST7

13、5、指令TEST AL,02H的含義是( )。A、測(cè)試AL是否等于02HB、測(cè)試AL第2位狀態(tài)C、測(cè)試AL第1位狀態(tài) D、將AL與02單元的各位進(jìn)行測(cè)試76、某存儲(chǔ)單元的物理地址是12345H,可以作為它的段地址有( )。A、2345HB、12345HC、12340HD、1234H77、AND,OR,XOR,NOT為四條邏輯運(yùn)算指令,下面的解釋正確的是( )。A、指令XORAX,AX執(zhí)行后,AX內(nèi)容不變,但設(shè)置了標(biāo)志位B、指令A(yù)NDAX,0FH執(zhí)行后,別離出AL低四位C、指令OR DX,1000H執(zhí)行后,將DX最高位置1,其余各位置0D、NOT AX,執(zhí)行后,將AX清078、下面有語(yǔ)法錯(cuò)誤的指

14、令是( )。A、LDS BL,VARSIB、LEA BX,VARSIC、LES DI,VARBXD、LEA DI,VARBP 79、無(wú)條件轉(zhuǎn)移指令JMP實(shí)現(xiàn)段間間接轉(zhuǎn)移,轉(zhuǎn)移的目標(biāo)地址在( )。A、某個(gè)16位通用存放器中B、兩個(gè)16位通用存放器中C、某個(gè)字存儲(chǔ)單元中D、某個(gè)雙字存儲(chǔ)單元中80、8088/8086存儲(chǔ)器分段,每個(gè)段不超過(guò)( )。 A、64K個(gè)字B、32K個(gè)字節(jié) C、1兆個(gè)字節(jié)D、64K個(gè)字節(jié)81、假設(shè)AX=-15要得到AX=15應(yīng)執(zhí)行的指令是( )。A、NEG AXB、NOT AXC、INC AXD、DEC AX82、某操作數(shù)的物理地址是2117AH,那么它的段地址和偏移地址可能

15、是( )。A、20250F2AB、210800EA C、2000017AD、2100117A83、用REPE SCASB指令對(duì)字符串進(jìn)行掃描,如CX0時(shí),掃描結(jié)束,那么表示( )。A、在字符串中有一個(gè)AL中指定的字符B、在字符串中遇上第一個(gè)AL中指定的字符 C、在字符串中遇上第一個(gè)不是AL中指令的字符 D、在字符串中有一個(gè)不是AL中指定的字符84、將AX中有符號(hào)數(shù)除以2的正確指令是( )。A、SHR AX,1B、SAR AX,1C、ROR AX,1D、RCR AX,185、執(zhí)行1號(hào)DOS系統(tǒng)功能調(diào)用,從鍵盤(pán)輸入的字符值存放在( )存放器中。A、ALB、BLC、CLD、DL86、將CX存放器低4

16、位清零的正確指令是( )。A、AND CX,0F0H B、AND CX,0FFF0HC、AND CX,1110H D、MOV CX,087、設(shè)物理地址(21000H)=20H,(21001H)=30H,(21002H)=40H。如從地址21001H中取出一個(gè)字的內(nèi)容是( )。A、2030HB、3040HC、3020HD、4030H88、以下存放器中用來(lái)指示堆棧中任意數(shù)據(jù)區(qū)的偏移地址的是( )。A、BXB、BPC、SID、DI89、設(shè)AL=57H,BL=24H,執(zhí)行指令SUB AL,BL后,存放器內(nèi)容為( )。A、AL=57H,BL=24HB、AL=33H,BL=24HC、AL=57H,BL=3

17、3HD、AL=33H,BL=090、以下指令執(zhí)行后影響CF值的是( )。A、DECB、XCHGC、LEAD、SHL91、CPU要訪問(wèn)的某一存儲(chǔ)單元的實(shí)際地址稱(chēng)( )。A、段地址B、偏移地址C、物理地址D、邏輯地址92、匯編語(yǔ)言指令中唯一不可缺少的局部是:( )。A、標(biāo)號(hào)名字B、助記符C、操作數(shù)D、注釋93、中斷效勞程序入口地址占用( )個(gè)字節(jié)。A、 4B、6C、2D、194、有語(yǔ)句:COUNT EQU 256,以下四種表達(dá)中,正確的是( )。A、COUNT是變量 B、COUNT占用一個(gè)字節(jié)存儲(chǔ)單元C、COUNT是符號(hào)常數(shù) D、COUNT占用二個(gè)字節(jié)存儲(chǔ)單元95、( )環(huán)境下,可以對(duì)源程序進(jìn)行匯

18、編、修改和執(zhí)行。A、LINKB、MASMC、DOSD、DEBUG96、以下四條指令中錯(cuò)誤的是( )。A、MOV AX,SIB、MOV AX,DIC、MOV AX,SI+DID、MOV AX,SI-1097、執(zhí)行以下( )指令后,就能用條件轉(zhuǎn)移指令判斷AL和BL存放器中的最高位是否相同?A、TEST AL,BLB、CMP AL,BLC、AND AL,BLD、XOR AL,BL 98、以下四條指令執(zhí)行后不影響標(biāo)志位的是( )。A、JNC NEXTB、CMP AX,BXC、SHL AX,1D、OR AL,AL99、定義宏指令的偽指令是( )。A、PROC和ENDPB、CODE和ENDSC、EQU和E

19、NDD、MACRO和ENDM100、在以下存放器中,代碼段存放器是( )。A、DSB、ESC、CSD、SS101、有數(shù)據(jù)定義語(yǔ)句BUF DW 0ABH,1,10 DUP(3 DUP(1,0),2)匯編后,為變量BUF分配的存儲(chǔ)單元字節(jié)數(shù)是( )。A、48H B、90H C、120 D、60102、假設(shè)有BUF DW 1,2,3,4。那么可將數(shù)據(jù)02H取到AL存放器中的指令是:( )。A、MOV AL,BYTE PTRBUF1B、MOV AL,BYTE PTRBUF2C、MOV AL,BYTE PTRBUF3D、MOV AL,BYTE BUF2103、指令指針存放器是( )。A、IPB、 SPC

20、、BPD、PSW 104、以下指令執(zhí)行后總是使CF0,OF0的是( )。A、ANDB、NEGC、NOTD、INC 105、確定以下哪些數(shù)據(jù)在匯編語(yǔ)言中是非法的( )。A、F3HB、10101010BC、123D、137Q106、現(xiàn)用數(shù)據(jù)定義偽指令定義數(shù)據(jù):BUF DB4 DUP0,2 DUP1,0問(wèn)定義后,存儲(chǔ)單元中有數(shù)據(jù)0100H的字單元個(gè)數(shù)是( )。A、4B、3C、8D、12107、計(jì)算機(jī)系統(tǒng)由組成。A、硬件系統(tǒng)和軟件系統(tǒng) B、系統(tǒng)硬件和系統(tǒng)軟件C、CPU和系統(tǒng)軟件 D、操作系統(tǒng)和主機(jī)108、8086/8088微處理器中,既可作為16位存放器也可分為兩個(gè)8位存放器用的存放器是 。A、BP

21、SP SI DIB、AX BX CX DXC、CS DS SS ESD、AX BX SI DI109、用DEBUG調(diào)試匯編語(yǔ)言程序時(shí),顯示某指令的地址是2F80:F400,此時(shí)段存放器CS的值是。A、F400HB、2F80HC、F4000HD、2F800H110、AX=0001H,以下四條指令執(zhí)行后,不能使ZF=1的語(yǔ)句是( )。A、DEC AX B、SUB AX, 1 C、AND AX , 1 D、CMP AX,1111、設(shè)DS=8225H,DI=3942H,指令MOV BX,DI源操作數(shù)的物理地址是()。A、85B92HB、86192HC、BB690HD、12169H112、如果內(nèi)存中某一

22、單元的邏輯地址為2318H:0035H,它的段地址、偏移地址及物理地址是 。A、2318H、0035H、231B5HB、2318H、0035H、234DHC、23180H、0035H、23215HD、2318H、00350H、2668H113、存儲(chǔ)單元有惟一的物理地址,但可用不同段地址和偏移地址表示。假設(shè)存儲(chǔ)單元的物理地址是88D52H,那么下面 的表示是正確的。A、8561H:3742HB、8561H:3752HC、85610H:3742HD、3752H:85610H114、控制存放器是指A、BP SPB、SP IPC、SI DID、IP FLAGS115、FLAGS存放器中,屬于控制標(biāo)志位

23、的是A、CF AF PFB、DF IF TFC、OF SF ZFD.DF OF CF116、用DEBUG調(diào)試匯編語(yǔ)言程序時(shí),顯示某指令的地址是2F80:F400,此時(shí)段存放器CS的值是。A、F400HB、2F80HC、F4000HD、2F800H117、設(shè)DS=1100H,(12000H)=80H,(12001H)=20H,(12002H)=30H,執(zhí)行MOV AX, 1000H那么AX=( )。A、8000HB、0080HC、2080HD、8020H 118、CPU與存儲(chǔ)器之間的信息交換使用的是A邏輯地址B有效地址C物理地址D相對(duì)地址119、假設(shè)各段地址分配如下:數(shù)據(jù)段為1K,代碼段為4K,

24、堆棧為8K,附加段為16K。假設(shè)從10000H開(kāi)始分段,各段依次相連,段地址存放器的值是A、DS=1000H CS=1040H SS=1140H ES=1340HB、DS=1000H CS=1010H SS=1150H ES=13D0HC、DS=1000H CS=1040H SS=1050H ES=13D0HD、DS=1000H CS=1040H SS=1200H ES=1400H120、有指令MOV AX,1234H,指令中的立即數(shù)1234H是存儲(chǔ)在( )。A、數(shù)據(jù)段B、代碼段C、附加段D、堆棧段二、填空題循環(huán)程序可由循環(huán)初始化、循環(huán)體、循環(huán)控制三局部組成。循環(huán)初始化、循環(huán)體、循環(huán)控制在存取

25、一個(gè)存儲(chǔ)器操作數(shù)時(shí),段地址必須由相應(yīng)的段存放器提供。相應(yīng)的段存放器ARRAY DB 0,2DUP(1,2),0,3匯編時(shí)生成的數(shù)據(jù)依次是。0,1,2,1,2,0,3設(shè)BX=1152H,偏移量D=3568H,那么指令 “ADD DBX,AL中目的操作數(shù)的有效地址EA=。46BAH在串操作程序中,通常在重復(fù)前綴指令REPZ或REPNZ后,選用的串操作指令是CMPS或SCAS才有實(shí)際意義。CMPS、SCAS有指令MOV CL,N完成將一個(gè)有符號(hào)數(shù)送入CL,要使該指令合法,那么N的最大值是127,最小值是-128。(用十進(jìn)制表示)127,-128中斷INT 12H 在中斷向量表中的物理地址是48H、4

26、9H、 4AH和4BH。48H、49H、4AH、4BH“=和“EQU兩條偽指令有相同的功能,它們之間的區(qū)別是EQU偽指令不允許對(duì)符號(hào)名重復(fù)定義。EQU在匯編語(yǔ)言源程序文件中,每一個(gè)段都有段定義偽指令SEGMENT和ENDS來(lái)分段。SEGMENT存儲(chǔ)器的存儲(chǔ)單元的物理地址由兩局部組成,它們是和。段地址、偏移地址/有效地址/EA3種寫(xiě)法均可以偏移地址可由各種成份組成,也稱(chēng)為有效地址,用EA表示。有效地址、EA取指令時(shí),默認(rèn)的段存放器是CS,堆棧操作時(shí),默認(rèn)的段存放器是SS,通用數(shù)據(jù)讀寫(xiě),默認(rèn)的段存放器是DS,目的串操作時(shí),默認(rèn)的段存放器是ES,以BP作為基地址進(jìn)行存取方式時(shí),默認(rèn)的段存放器是SS。

27、CS、SS、DS、ES、SSDOS系統(tǒng)功能調(diào)用中1 號(hào)調(diào)用的功能是;2號(hào)調(diào)用的功能是;9號(hào)調(diào)用的功能是;10號(hào)調(diào)用的功能是。輸入一個(gè)字符、顯示一個(gè)字符、顯示一個(gè)字符串、輸入一個(gè)字符串CF是程序狀態(tài)字存放器中的標(biāo)志位,ZF是標(biāo)志位,SF是標(biāo)志位。進(jìn)位、零、符號(hào)要將二進(jìn)制數(shù)10100110B輸出到端口25H,可用MOV AL,10100110B和OUT 25H,AL兩條語(yǔ)句來(lái)實(shí)現(xiàn)。MOV AL,10100110B、OUT 25H,AL匯編語(yǔ)言源程序在計(jì)算機(jī)上不能直接運(yùn)行,必須經(jīng)過(guò)和后才能形成一個(gè)可執(zhí)行文件。編譯、鏈接8086/8088CPU中,有二個(gè)變址存放器,分別是SI和DI。SI、DI在808

28、6/8088系統(tǒng)中,存儲(chǔ)器是分段的,每段最大長(zhǎng)度是64K字節(jié)。64K內(nèi)存的地址區(qū)域從00000H開(kāi)始為中斷向量表。00000H子程序的參數(shù)傳送方式有存放器、地址表、堆棧等。存放器參數(shù)傳送方式、地址表參數(shù)傳送方式、堆棧參數(shù)傳送方式子程序調(diào)用和返回是通過(guò)指令和來(lái)實(shí)現(xiàn)的。CALL、RET邏輯運(yùn)算指令都是按位操作的,其中NOT指令執(zhí)行后不影響任何標(biāo)志位,其他指令執(zhí)行后,標(biāo)志位CF和OF一定是0。NOT、CF、OF在1M字節(jié)的存儲(chǔ)器中,每個(gè)存儲(chǔ)單元都有一個(gè)唯一的位地址二進(jìn)制形式,稱(chēng)為該物理單元的物理地址。20假設(shè)(SP)=0FFFFH,那么指令POP AX執(zhí)行后,(SP)=0001H0001Hn位補(bǔ)碼的

29、表數(shù)范圍為:N。2n-1、2n-1-1指令MOV AX,SEG BUF的執(zhí)行,是把BUF所在的段地址送到AX中。BUF所在的段地址當(dāng)標(biāo)志位CF=1時(shí)表示無(wú)符號(hào)數(shù)運(yùn)算產(chǎn)生溢出,而當(dāng)標(biāo)志位OF=1是表示帶符號(hào)數(shù)運(yùn)算產(chǎn)生溢出。CF、OF外中斷有兩種類(lèi)型,分別是可屏蔽中斷和非屏蔽中斷可屏蔽中斷、非屏蔽中斷DS=29A0H,某數(shù)據(jù)的物理地址是2A400H,那么當(dāng)DS=6700H時(shí),該數(shù)據(jù)的物理地址是67A00H67A00H要將二進(jìn)制數(shù)10100110B輸出到端口25H,可用和兩條語(yǔ)句來(lái)實(shí)現(xiàn)。MOVAL,10100110B;OUT25H,AL中斷INT 10H 在中斷向量表中的物理地址是、和。40H,41

30、H,42H,43H在匯編語(yǔ)言源程序文件中,每一個(gè)段都有段定義偽指令SEGMENT和ENDS來(lái)分段。SEGMENT匯編語(yǔ)言源程序在計(jì)算機(jī)上不能直接運(yùn)行,必須經(jīng)過(guò)編譯和連接后才能形成一個(gè)可執(zhí)行文件。編譯,連接一條指令由操作碼和操作數(shù)兩局部組成。操作碼,操作數(shù)子程序的調(diào)用和返回是通過(guò)指令CALL和RET來(lái)實(shí)現(xiàn)的。CALL,RET8086/8088指令系統(tǒng)中,所有指令的目的操作數(shù)均不能為立即尋址方式。立即1、現(xiàn)有數(shù)據(jù)定義偽指令如下,寫(xiě)出對(duì)應(yīng)的數(shù)據(jù)在存儲(chǔ)單元中的存放形式。BUF1 DB 01,52H BUF2 DW 3 DUP(?,0) BUF3 DB 2 DUP(0,2DUP(1,2),3)BUF1

31、BUF2 BUF3 BUF10152BUF2 - - 0 0 - - 0 0 - - 0 0BUF3 0 1 2 1 2 3 0 1 2 1 2 32有兩個(gè)16位數(shù)1000H和ABCDH分別存放在內(nèi)存10000H和10004H單元中,試用圖表示他們?cè)趦?nèi)存中的存放情況。3假設(shè)在內(nèi)存中建立50個(gè)字的數(shù)據(jù)區(qū),其起始地址為1000:0100,試給出數(shù)據(jù)區(qū)第一個(gè)字單元和最后一個(gè)字單元的物理地址。解:第一個(gè)字的物理地址=1000H*10H+0100H=10100H最后一個(gè)字的物理地址=10100H+50-1*2=10162H4、什么是偽操作?簡(jiǎn)述偽指令和指令的區(qū)別?答:偽操作是匯編程序?qū)υ闯绦蜻M(jìn)行匯編時(shí)處

32、理的操作,完成處理器選擇、存儲(chǔ)模式定義、數(shù)據(jù)定義、存儲(chǔ)器分配、指示程序開(kāi)始結(jié)束等功能。偽指令和指令的區(qū)別在于,每一條指令必須生成機(jī)器代碼,然后在程序運(yùn)行期間由CPU來(lái)執(zhí)行其操作;而偽指令是在匯編期間由匯編程序執(zhí)行的操作命令,除了數(shù)據(jù)定義及存儲(chǔ)器分配偽指令分配存儲(chǔ)器空間外,其它偽指令不生成目標(biāo)碼。5、AX=1234H,CX=0302H,CF=0,指出下述指令執(zhí)行后的結(jié)果及標(biāo)志位CF、SF、ZF、OF的值分別是多?解:1234H+0302H=1536H,指令執(zhí)行后,AX的值為1536H。沒(méi)有產(chǎn)生進(jìn)位,CF=0;結(jié)果為正數(shù),SF=0;結(jié)果不等于0,故ZF=0;兩正數(shù)相加,結(jié)果為正,故無(wú)溢出,OF=0

33、。6、在0624H單元內(nèi)有一條二字節(jié)JMP SHORT OBJ指令,如其中位移量為127H,26BH,30C6H,試問(wèn)轉(zhuǎn)向地址OBJ的值是多少?要有計(jì)算過(guò)程10624H+2H+27H=064DH20624H+2H+6BH=0691H30624H+2H+0FFC6H=05ECH7、求出15F4H減去4EA0H之差,并根據(jù)結(jié)果設(shè)置標(biāo)志位SF、ZF、CF和OF的值。15F4H-4AE0H=0C754H,其中 SF=1 ZF=0 CF=1 OF=08、如TABLE為數(shù)據(jù)段中0032單元的符號(hào)名,其中存放的內(nèi)容是1234H,試問(wèn)以下兩條指令有什么區(qū)別?指令執(zhí)行完后BX存放器的內(nèi)容是什么?5分1MOV B

34、X,TABLE2LEA BX,TABLEMOV指令是數(shù)據(jù)傳送指令,是將TABLE對(duì)應(yīng)的存儲(chǔ)單元中的內(nèi)容送入BX,因此,指令執(zhí)行完后BX的內(nèi)容為1234H,而LEA指令是地址傳送指令,是將TABLE的偏移地址傳送給BX,因此,指令執(zhí)行完后BX的內(nèi)容為0032H。9、請(qǐng)簡(jiǎn)述指令JMP DI和JMP DI的相同點(diǎn)與不同點(diǎn)。這兩條指令都是無(wú)條件的段內(nèi)間接轉(zhuǎn)移指令,不同的是JMP DI采用的存放器尋址方式,轉(zhuǎn)移到以DI內(nèi)容為偏移地址的單元去執(zhí)行指令;而JMP DI那么采用的是存放器間接尋址方式,轉(zhuǎn)移到以DI間接尋址的內(nèi)存單元內(nèi)容為偏移地址的單元去執(zhí)行指令。10、宏指令與子程序有什么不同之處?宏指令實(shí)際上

35、就代表了它對(duì)應(yīng)的一組指令。對(duì)程序中出現(xiàn)的宏指令進(jìn)行匯編時(shí),這條宏指令被它對(duì)應(yīng)的一組指令所代替。如果程序中屢次使用宏指令,就等于屢次重復(fù)拷貝了這個(gè)指令組,占用的內(nèi)存隨之增加。調(diào)用子程序通過(guò)執(zhí)行CALL指令實(shí)現(xiàn),存在“主程序與“子程序之間的兩次控制轉(zhuǎn)移。使用宏指令不存在控制轉(zhuǎn)移的過(guò)程。使用子程序和宏指令都可以提高編程效率。子程序占用固定大小的存儲(chǔ)空間,被主程序調(diào)用時(shí),空間不會(huì)隨調(diào)用次數(shù)而增加。但是,宏指令占用存儲(chǔ)空間會(huì)隨著使用次數(shù)的增加而增加。11、求出16進(jìn)制數(shù)4321H與62A0H的和,并根據(jù)結(jié)果設(shè)置標(biāo)志位SF、ZF、CF和OF。4321H+62A0H=A5C1H,其中SF=1,CF=0,ZF

36、=0,OF=112、程序分析題MOV AX,1234HMOV BX,AXNEG BXADD AX,BX請(qǐng)寫(xiě)出以上程序段執(zhí)行后,AX=?,BX=?,CF=?參考答案AX0,BX0EDCCH,CF113、設(shè)某數(shù)據(jù)段:DATA SEGMENTORG 20HNUM1=8NUM2=NUM1+10HDA1 DB COMPUTERDB 0AH,0DHCOUNT EQU $-DA1DA2 DW CO,MP,UT,ERDATA ENDS試答復(fù):1DA1的偏移地址是多少?2COUNT的值是多少?3DA2+5字節(jié)單元的內(nèi)容是多少?參考答案: 120H 20AH 3U的ASCII碼14、DA_B DB 0CH,9,8

37、,0FH,0EH,0AH,2,3,7,4 XOR AX,AX XOR CL,CL XOR BX,BX LOP: TEST DA_BBX,01H JE NEXT ADD AL,DA_BBX INC AH NEXT:INC BX INC CL CMP CL,10 JNE LOP 上述程序段運(yùn)行結(jié)束后,AH=_4_,AL=_34_。如果把JE NEXT“指令改為“JNE NEXT“指令,那么AH=_6_,AL=_50_。參考答案4、AH4,AL34;AH6,AL5015、分析下面程序,答復(fù)指定問(wèn)題:MOV AX,DXNOT AXADD AX,DXINC AX試答復(fù):(AX)=,(ZF)=。(0,1)

38、16、BUF DW 0000HLEA BX,BUFSTC RCR WORD PTRBX,1MOV CL,3SAR WORD PTRBX,CL問(wèn):該程序段執(zhí)行后,存儲(chǔ)單元BUF的內(nèi)容為。(0F000H或十進(jìn)制數(shù)-4096)17、BLOCKDB20,1FH,08H,81H,0FFH RESULT DB?START:LEASI,BLOCK MOVCX,SI INCSI MOVAL,SILOP1: CMPAL,SI+1 JNGNEXT MOVAL,SI+1NEXT: INC SI LOOP LOP1 MOVRESULT,AL HLT問(wèn):1該程序完成的功能是;2該程序的循環(huán)次數(shù)是。從BLOCK數(shù)組中找出

39、最小數(shù),并送入RESULT單元;循環(huán)次數(shù)為2018、MOVAX,00FFHMOVBX 0FFFFHXORAX,BXNEGAX問(wèn):該程序段執(zhí)行后,AX=,CF=。0100H CF=119、MOV BX,1234HMOVAX,BXNEGAXADDAX,BX問(wèn):該程序段執(zhí)行后,AX=,CF=。0000H,120、MOVAL,01H RORAL,1 OR AL,AL NEGAL上述程序段執(zhí)行后,AL=,CF=。(AL=80H, CF=1)21、有如下指令MOV AX,AAND AX,0FF0HMOV A,AXOR A,000FH1以上指令實(shí)現(xiàn)的功能是什么?2假設(shè)A=2525H,那么執(zhí)行以上指令后,A=

40、?3假設(shè)A=5252H,那么執(zhí)行以上指令后,A=?1將A高4位清0,低4位置1;2A=052FH,3A=025FH22、設(shè)AL中上下4位分別有大于7的數(shù), MOV AH,AL AND AH,88H MOV AL,AH OR AL,11H程序段運(yùn)行后,AH=_,AL=_。AH=88H2分,AL=99H23、設(shè)DS=4000H,DI=0,內(nèi)存單元4000F40013H內(nèi)容依次為02H,00H,38H,01H和40H,執(zhí)行下面程序段后,DS=?,CL=?,BX=?MOV SI,DI+0FHMOV BX,DI+10HMOV AX,DI+12HMOV DS,AXMOV CL,SI+1DS=4001H,C

41、L=40H,BX=3800H24、XOR AX,AXMOV BX,2MOV CX,10LP:ADD AX,BXADD BX,2LOOP LP1)該程序段的功能是什么?2)程序執(zhí)行后,AX=?,BX=?,CX=?2、1實(shí)現(xiàn)求2+4+20的和;2AX=110;BX=22;CX=025、閱讀以下程序代碼,分析:MOV BX,1XOR AX,AXMOV CX,5 NEXT:ADD AX,BX INC BX LOOP NEXT上述程序段執(zhí)行后AX=_;BX=_。AX=000FH,BX=0006H26、閱讀以下程序代碼,分析:XORDL,DLA:CMP AX,0JZ BYE SHLAX,1 JNCB IN

42、CDL B:JMPA BYE:試說(shuō)明該程序段完成的功能。該程序段完成的功能是統(tǒng)計(jì)AX中1的個(gè)數(shù)。27、試分析下面的程序段完成什么功能?MOV CL,04SHL DX,CLMOV BL,AHSHL AX,CLSHR BL,CLOR DL,BL程序功能:將DXAX中雙字內(nèi)容左移4位。28、DA1 DB 01234DA2 DB 5DUP(0) MOV SI,0 MOV CX,5LOP:MOV AL,DA1SIADD AL,11HOR AL,01HMOV DA2 SI,ALINC SILOOP LOP程序執(zhí)行完后,寫(xiě)出DA2各字節(jié)的數(shù)據(jù)。程序中MOV AL,DA1SI指令的操作數(shù)是什么尋址方式?141

43、H,43H,43H,45H,45H;2存放器相對(duì)尋址29、在某子程序的開(kāi)始處要保護(hù)AX、BX、CX、DX四個(gè)存放器信息,在子程序結(jié)束時(shí)要恢復(fù)這四個(gè)存放器信息。例如:PUSH AXPUSH BX ;保護(hù)現(xiàn)場(chǎng)PUSH CXPUSH DX;恢復(fù)現(xiàn)場(chǎng)試寫(xiě)出恢復(fù)現(xiàn)場(chǎng)時(shí)的指令序列。POP DXPOP CXPOP BXPOP AX30、指出以下指令源操作數(shù)的尋址方式:MOV AX,ES:BX存放器間接尋址方式MOV AX,20BXSI相對(duì)基址變址尋址方式MOV AX,ARRAY直接尋址方式MOV AX,BXDI基址變址尋址方式MOV AX,1200H立即尋址方式程序填空題1、下述程序段完成計(jì)算220之間的偶

44、數(shù)的和,并將結(jié)果存于AX中,試把空白處填上適當(dāng)?shù)闹噶蠲恳豢瞻字惶钜粭l指令XOR AX,AXMOV BX,0MOVCX,11CONT:ADD AX,BXADDBX,2LOOP CONT(第一空MOVCX,11,第二空ADDBX,2)2、下面程序段判斷A單元的有符號(hào)數(shù),并根據(jù)其值小于0,等于0,大于0,分別將0FFH,00H,01H送入B單元中。在空白處填上適當(dāng)?shù)闹噶蠲恳豢瞻滋幹惶钜粭l指令MOV AL,ACMP AL,0 JLEAA MOV B,1 JMPDONEAA:JL BBMOV B,0JMP DONEBB:MOV B,0FFHDONE:HLT(第一空J(rèn)LEAA,第二空J(rèn)MPDONE)3、以

45、下程序段的功能是把09的數(shù)據(jù)轉(zhuǎn)換為相應(yīng)的ASCII碼。請(qǐng)?jiān)诿總€(gè)空白處填上一條指令。DAT DB 00H,01H,02H,03H,04H,05H,06H,07H,08H,09HASC DB 10 DUP(?)COUN=ASC-DATLEA SI,DATLEA DI,ASCMOVCX,10LOP:MOV AL,SIADDAL,30HMOV DI,ALINC SIINC DILOOP LOPHLT(第一空MOVCX,10,第二空ADDAL,30H或ORAL,30H)4、下面程序完成將0100H開(kāi)始的100個(gè)字節(jié)數(shù)據(jù)搬移到從0180H開(kāi)始的存儲(chǔ)單元中,設(shè)DS、ES已設(shè)置好且其值相等。在每個(gè)空白處填上一

46、條適當(dāng)?shù)闹噶?。MOV SI,0100HMOV DI,0180H MOV CX,100 CLD REP MOVSB (參考答案MOV CX,100、REP MOVSB)5、設(shè)字符串的段地址、偏移地址和長(zhǎng)度已經(jīng)分別存于DS、SI和CX中,要統(tǒng)計(jì)其中字符“P的個(gè)數(shù),并存于DL中。試把空白處填上適當(dāng)?shù)闹噶蠲恳豢瞻字惶钜粭l指令MOV AL,PMOV DL,0NEXT:CMP AL,SI JNZ/JNE CONT INC DLCONT:INC SI LOOPNEXT(第一空J(rèn)NZ/JNE CONT,第二空LOOPNEXT)6、某程序段要用單個(gè)字符顯示的2號(hào)DOS功能調(diào)用去顯示一字符串“STRING。試在下

47、面空白處填上適當(dāng)?shù)闹噶頢TR1DBSTRING,$MOV BX,OFFSET STR1LOP:MOV DL,BXMOV AH,02HINT 21HINC BX_ CMP BX,$JNE LOP(第一空 INC BX,第二空 CMP BX,$)7、在以BLOCK為首地址的數(shù)據(jù)區(qū)存放了一組帶符號(hào)數(shù),下面程序的功能將該數(shù)據(jù)中所有的負(fù)數(shù)累加起來(lái),然后再求其絕對(duì)值,并送入SUM單元。試在程序中填補(bǔ)上空缺的指令。DATADB60,70,-28,-99,-100,-25,97SUMDW?MOV CX,SUM-DATAXOR DX,DXMOV BX,OFFSET DATALOP:MOV AL,BXTEST A

48、L,80HJZ NEXTCBWADD DX,AXNEXT:INC BXLOOP LOP NEG DXMOV SUM,DX(第一空 JZ NEXT,第二空 NEG DX)8、在以ARRAY為首地址的數(shù)據(jù)區(qū)存放了一組帶符號(hào)數(shù),下面程序的功能將該數(shù)據(jù)中所有的負(fù)數(shù)送入ARRAY1數(shù)據(jù)區(qū),其余送入ARRAY2中。試在程序中填補(bǔ)上空缺的指令A(yù)RRAYDB25,63,-103,2,75,75,-1,-65,100NEQU$-ARRAYARRAY1DBNDUP(?)ARRAY2DBNDUP(?)MOV CX,NMOV BX,0MOV SI,0MOV DI,0LOP:MOV AL,ARRAYBXCMP AL,0

49、JAE NEXT1MOV ARRAY1SI,ALINC SIJMP NEXT2NEXT1:MOV ARRAY2DI,ALINC DINEXT2:INC BXLOOP LOP第一空 MOV ARRAY1SI,AL; 第二空 MOV ARRAY2DI,AL9、下述程序段完成計(jì)算1+2+10的和,并將結(jié)果存于AX中,試把空白處填上適當(dāng)?shù)闹噶蠲恳豢瞻字惶钜粭l指令XOR AX,AXMOV BX,0MOV CX,11CONT:ADD AX,BXINC BXLOOP CONT參考:MOV CX,11;LOOP CONT10、下述程序段完成計(jì)算220之間的偶數(shù)的和,并將結(jié)果存于AX中,試把空白處填上適當(dāng)?shù)闹噶蠲恳豢瞻字惶钜粭l指令XOR AX,AXMOV BX,0MOV CX,11CONT:ADD AX,BXADD BX,2LOOP CONTMOV CX,11;ADD BX,211、以下程序段的功能是把09的數(shù)據(jù)轉(zhuǎn)換為相應(yīng)的ASCII碼。請(qǐng)?jiān)诿總€(gè)空白處填上一條指令。DAT DB 00H,01H,02H,03H,04H,05H,06H,07H,08H,09HASC DB 10 DUP(?)CON=ASC-DATLEA SI,DATLEA DI,ASCMOV CX,CONLOP:MOV AL,SIADD AL,30HMOV DI,AL

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論