版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)專心-專注-專業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)習(xí) 題 一1.1 試分別將下列二進制數(shù)真值用補碼表示(8位二進制數(shù))。(1)+ (2)- (3)- (4)+1.2. 試分別將下列補碼表示的二進制數(shù)轉(zhuǎn)換為相應(yīng)的十進制數(shù)真值。(1) (2) (3) (4)1.3. 試完成下列數(shù)制間的轉(zhuǎn)換。(1)十進制數(shù)轉(zhuǎn)換為8位二進制數(shù) 34,28,100,127,89,57(2)無符號二進制數(shù)轉(zhuǎn)換為十進制數(shù) ,(3)十進制數(shù)轉(zhuǎn)換為十六進制數(shù)79,300,48,19,133,243(4)八進制數(shù)轉(zhuǎn)換為十六進制數(shù) 234,112,23,7
2、6,36,2221.4. 試分別完成下列補碼表示的二進制數(shù)運算,并將結(jié)果轉(zhuǎn)換為十進制數(shù)真值。(1)+ (2)- (3)-(4)- (5)- (6)+1.5. 試分別完成下列各十六進制數(shù)的加減運算,結(jié)果用十六進制數(shù)表示。(1)3E40+AB54 (2)1000+F300 (3)8799-6DE4 (4)DE4C-A0E41.6. 設(shè)有二進制數(shù),若將該數(shù)分別看作是無符號數(shù)、原碼表示的帶符號數(shù)和補碼表示的帶符號數(shù),它對應(yīng)的十進制數(shù)真值分別是多少?1.7. 要表示無符號十進制數(shù)1000、10000和,至少分別需要多少位二進制數(shù)?1.8. 由鍵盤輸入的字符一般以其ASCII碼形式來表示。當從鍵盤輸入十六
3、進制數(shù)的16個數(shù)符(09和AF)時,如何將它們轉(zhuǎn)換為對應(yīng)的四位二進制數(shù)00001111?習(xí) 題 二2.1 如何理解微處理器、微型計算機和微型計算機系統(tǒng)三個概念?2.2 試說明Intel 8086/8088 CPU采用了什么結(jié)構(gòu)使得其與8位及8位以下CPU相比具有更高的指令執(zhí)行效率?2.3 Intel 8086/8088 CPU包含哪幾個組成部分?它們各自的功能是什么?2.4 Intel 8086/8088 CPU中有哪些寄存器?它們的用途是什么?2.5 Intel 8086/8088 CPU中標志寄存器各位都有什么含義?2.6 Intel 8086/8088 CPU中的寄存器都是16位的,那么
4、它是怎么實現(xiàn)對20位物理地址尋址的?2.7 在IBM PC微型計算機上,分別進行以下8位二進制數(shù)的運算后,標志寄存器中OF、ZF、SF、CF的值分別為多少?(1) + (2) + (3)(4)2.8有兩個字數(shù)據(jù)12H和AB12H分別存放在存儲器的10016H和8BA00H中,請圖示它們在存儲器中的存放情況。2.9 在8086/8088中,某存儲單元的邏輯地址如下,請算出它們的物理地址是多少?(1)4514H:017BH(2)F000H:0100H(3)2350H:1ABCH(4)10E0H:2020H2.10 數(shù)據(jù)段中某個存儲單元在(DS)= 095FH時,物理地址是11820H,那么當DS=
5、0F2.11 已知一條指令執(zhí)行前,(CS)= 03FAH,(IP)= 45A0H,該指令的第1字節(jié)的物理地址是多少?2.12 如圖2.19所示,試寫出地址為20021H、20024H、20026H字節(jié)單元的內(nèi)容,以及地址為20022H、20024H、20026H的字單元內(nèi)容。圖2.19 習(xí)題2.10圖示2.13 如圖2.20所示,地址20000H為數(shù)據(jù)段的段基址,那么邏輯地址為2000H:0020H的存儲單元的物理地址是多少?該地址的字內(nèi)容是多少?圖2.20 習(xí)題2.11圖示2.14 IBM PC微型計算機中某一個存儲單元的物理地址是12345H,試計算下列不同的邏輯地址表示:(1)1234H
6、:_H(2)_H:0345H2.15 設(shè)堆棧寄存器(SS)= 3E4BH,程序中設(shè)置堆棧長度為200個字節(jié),試計算出堆棧底部字單元物理地址、堆棧指針SP初始值(即堆棧中沒有數(shù)據(jù)時)和SP初始值指向的物理地址。2.16 設(shè)(AX)= 1122H,(BX)= 3344H,(CX)= 5566H,(SP)= 2000H,試分析以下程序執(zhí)行后AX、BX、CX、SP中的內(nèi)容分別為多少?并畫出堆棧變化的示意圖。:PUSH AXPUSH BXPUSH CXPOP AXPOP CX:2.17 設(shè)(SP)= 0040H,如果用入棧指令存入5個數(shù)據(jù),則SP為多少?若又用出棧指令取出2個數(shù)據(jù),則SP為多少?習(xí) 題
7、三3.1 寫出下列指令源操作數(shù)的尋址方式,并說明該操作數(shù)在哪個段?(1) MOV AX,68H(2) MOV AH,BL(3) MOV AX,BX(4) MOV AX,SI(5) MOV AX,5000H(6) MOV AL,BLOCK(7) MOV BX,BP + 5(8) MOV AX,CS:1000H(9) MOV DS,AX(10)MOV BL,BUFSI(11)MOV AX,BUFBXSI(12)MOV AX,BP 10DI(13)MOV AX,SS:BX 100SI(14)MOV AX,AREYBPSI3.2 假設(shè)(DS)= 3000H,(ES)= 4100H,(SS)= 2000
8、H,(SI)= 00A0H,(DI)= 2H,(BX)= 100H,(BP)= 10H,(BUF)= 2000H。試指出下列各指令中源操作數(shù)的尋址方式,若為存儲器操作數(shù),請計算其物理地址。(1) MOV AL,0ABCH(2) MOV AX,SI(3) MOV AX,BUF(4) MOV AX,BUFBX(5) MOV AX,BX(6) MOV AX,SI(7) MOV AL,BP(8) MOV AX,BUFBPSI(9) MOV AX,BX 40H(10)MOV AX,40HSI(11)MOV AX,BX 40HBX(12)MOV AX,BP + 100HSI(13)MOV AX,BUFDI
9、(14)MOV AX,ES:BUFBXDI3.3 已知(SS)= 0915H,(DS)= 0930H,(SI)= 0A0H,(DI)= 1C0H,(BX)= 80H,(BP)= 470H?,F(xiàn)有一條指令“MOV AX,SRC”,若源操作數(shù)的物理地址為095C0H,試用四種不同的尋址方式改寫此指令(要求上述每個已知條件至少要使用一次)。3.4 指出下列指令是否合法。(1) MOV AX,DL(2) MOV BX,5(3) ADD AX,5(4) MOV DS,1000H(5) PUSH CH(6) POP CS(7) ADD ES,AX(8) MOV SS,CS(9) ADD BP,DA_BYTE
10、(10)INC BX(11)XCHG AX,1234H(12)CMP AL,1919H(13)SAR BXDI,1(14)RCL DX,2(15)MOV CS,AX(16)SUB 5678H,BX(17)NOT AX,CL(18)MOV AX,BXBP(19)AND AX,10HSIDI(20)LEA DS,318HSI3.5 已知(DS)= 091DH,(SS)= 1E4AH,(AX)= 1234H,(BX)= 0024H,(CX)= 5678H,(BP)= 0024H,(SI)= 0012H,(DI)= 0032H,(09226H)= 00F6H,(09228H)= 1E40H,(1E4F
11、6H)= 091DH。下列各指令或程序段分別執(zhí)行后的結(jié)果如何?(1)MOV CL,20HBXSI(2)MOV BPDI,CX(3)LEA BX,20HBXSI MOV AX,2BX(4)LDS SI,BXDI MOV SI,BX(5)XCHGCX,32HBX XCHG20HBXSI,AX3.6 如果TABLE為數(shù)據(jù)段中0032單元的符號地址,其中存放的內(nèi)容為1234H,試問以下兩條指令有什么區(qū)別?指令執(zhí)行完后AX寄存器的內(nèi)容是什么?MOV AX,TABLELEA AX,TABLE3.7 假設(shè)(CX)= 0FFFFH,那么下面指令單獨執(zhí)行后標志寄存器的CF、AF、ZF、SF和OF分別是什么?(如
12、無影響用“”表示)(1)SUB CX,0FFFFH(2)MOVCX,BX(3)INC CX3.8讀程序題。(1)已知(DS)= 1234H,(SI)= 124H,(12464H)= 30ABH,(12484H)= 464H。LEASI,SIMOVAX,SIMOV SI+22H,1200HLDSSI,SI+20HADD AX,SI上述程序段執(zhí)行后:(DS)=_,(SI)=_,(AX)=_。(2)已知(BX)= 6035H,(CX)= 0F0FH。ORBH,CHANDBL,CLNEGBLNOTBH上述程序段執(zhí)行后:(BH)=_,(BL)=_。(3)已知(AX)= 0FF60H,CF = 1。MOV
13、 DX,96XORDH,0FFHSBBAX,DX上述程序段執(zhí)行后:(AX)=_,CF =_。(4)已知(AX)= 0A65CH,(CX)= 0F002H。ROL AX,CLORAH,CHRCRAX,CL上述程序段執(zhí)行后:(AX)=_,CF =_。(5)已知(AX)= 0FFAAH,CF = 1。MOVCX,0ABHORCX,0FF00HSUBAX,CX上述程序段執(zhí)行后:(AX)=_,CF =_。3.9 試根據(jù)以下要求寫出相應(yīng)的匯編語言指令或指令序列。(1)將DH的低三位清0,而其他位保持不變。(2)將DI的高5位置1,而其他位保持不變。(3)將AX的第03位置1,第79位取反,第1315位清0
14、,其他位保持不變。(4)把標志寄存器中的IF位置1。(5)由寄存器AX、DX組成一個32位帶符號數(shù)(DX中存放高16位),試求這個數(shù)的負數(shù)。(6)現(xiàn)有3個字節(jié)存儲單元A、B、C,在不使用ADD和ADC指令的情況下實現(xiàn):(A)+(B)=(C)。(7)用一條指令將CX中的整數(shù)變?yōu)槠鏀?shù),如果原來已是奇數(shù),則CX中數(shù)據(jù)保持不變,如果原來是偶數(shù),則(CX)+ 1形成奇數(shù)。(8)用一條指令將CX中的整數(shù)變?yōu)榕紨?shù),如果原來已是偶數(shù),則CX中數(shù)據(jù)保持不變,如果原來是奇數(shù),則(CX) 1形成偶數(shù)。3.10 給出下列指令的機器目標代碼。(1)MOVBL,12HSI(2)MOV ES:12HSI,BL(3)ADDW
15、ORD PTR 0ABHBPDI,1234H(4)SALDX,1(4)RCLBYTE PTR 10HBX,CL(5)NOTDI(6)STC(7)POPDS(8)PUSHCX習(xí) 題 四4.1 設(shè)數(shù)據(jù)段數(shù)據(jù)定義如下:DATASEGMENTNUMBER1DW2008HNUMBER2DW15 DUP(2006H)STRING1DBHow do you do? $BUFDB10H DUP(1,2 DUP(2)DATA ENDS下面幾條MOV指令單獨執(zhí)行后,目的寄存器CX中的內(nèi)容發(fā)是什么?(1)MOVCX,NUMBER1(2)MOVCX,NUMBER2(3)MOVCX,TYPE NUMBER1(4)MOV
16、CX,TYPE STRING1(5)MOVCX,LENGTH NUMBER2(6)MOVCX,LENGTH STRING1(7)MOVCX,SIZE NUMBER2(8)MOVCX,SIZE BUF4.2 按下面的要求寫出相應(yīng)的數(shù)據(jù)定義語句。(1)定義一個字節(jié)區(qū)域,第一個字節(jié)的值為20,其后跟20個初值為0的連續(xù)字節(jié);(2)定義一個以0為結(jié)束符的字符串,其初值為:The course is easy;(3)定義2008個字,其初值為任意值;(4)定義一個雙字變量,其初值為6571H。4.3 已知下列程序段:DATASEGMENTDB1DB12H,34H,0,56HDW1DW78H,90H,0A
17、B46H,1234HADR1DWDB1ADR2DWDW1BUFDB5 DUP(0)DATAENDSCODESEGMENTASSUME CS:CODE,DS:DATAXORCX,CXMOVCL,3ADDADR1,CXSUBADR2,CXMOVBX,ADR1MOVDI,BXMOVSI,ADR2MOVAL,DB1BXMOVBUFDI,ALMOVAX,DW1BXSIMOVWORD PTR BUF,AXCODEENDS上述程序運行結(jié)束后,BUF中各字節(jié)單元的內(nèi)容是什么?4.4 某數(shù)據(jù)段中有:COUNT1EQU16HCOUNT2DW16H下面兩條指令有何異同?MOVAX,COUNT1MOVBX,COUNT
18、24.5 已知有下列3個等值語句:N1EQU30M2EQU87P3EQU4那么下列表達式的值各是多少?(1)M2/N1+M2 MOD P3 *2(2)P3 SHL 42(3)N1 GT M2 AND P3 LT M2(用8位二進制數(shù)表示)(4)P3 OR 7(5)N1 XOR P34.6 假設(shè)數(shù)據(jù)段中有數(shù)據(jù)定義如下:PARTNODW?FNAMEDB16 DUP(?)COUNTDD?FLENGTHEQUCOUNTFNAMEPLENGTHEQU$PARTNO那么經(jīng)過匯編后,F(xiàn)LENGTH和PLENGTH的值是多少?它們表示什么意義?4.7 假設(shè)程序中有以下的數(shù)據(jù)定義及傳送指令,那么傳送指令執(zhí)行后各
19、寄存器的內(nèi)容分別是什么?DATASEGMENTORG $ +10HBUF1DW1234H,5678HBUF2DWABBUF3DW20 DUP(0)DATAENDSCONSTEQU2345HMOVAL,LOWCONSTMOVAH,HIGHCONSTMOVBL,HIGH(OFFSET BUF1)MOVBH,LOW(OFFSET BUF2)MOVCL,LOW(OFFSET BUF3)4.8 已知有下列數(shù)據(jù)定義,根據(jù)這些數(shù)據(jù)定義完成規(guī)定的操作。T1DBABCDET2DW1234HT3DB20H DUP(?)(1)用一條MOV指令將T1的偏移地址放入DI中;(2)用一條MOV指令將T2的段基址放入DS中
20、;(3)用一條MOV指令將T2的低地址單元中的內(nèi)容放入DL中;(4)用一條EQU偽指令使符號CONST的值等于數(shù)組變量T3所占的總字節(jié)數(shù)。4.9 已知有下列數(shù)據(jù)定義語句:DA1DWAB,CD,EFDA2DW1234H,5678H試用DB定義語句將它們改寫成在存儲器中完全相同的存儲形式。4.10 已知有下列數(shù)據(jù)定義語句:X1DB3,5X2DW123,456執(zhí)行下列MOV指令后,各寄存器的值分別是多少?(1)MOVAX,WORD PTR X1(2)MOVBL,BYTE PTR X2(3)MOVBH,X1+1(4)MOVCX,X2+2(5)MOVDL,BYTE PTR X2+1(6)MOVDH,BY
21、TE PTR X2+24.11 下面各題中語句有語法錯誤,試分別用兩種方法修改使它們在匯編時能夠通過:(1)M1DW5060HMOVBL,M1(2)M2EQU10HMOVM2,AL(3)M3DWABCD(4)M4DB1234(5)DATA1SEGMENTDA1DW1234HDATA1ENDSDATA2SEGMENTDA2DW5678HDATA2ENDSCODESEGMENTASSUME CS:CODE,DS:DATA1MOVBX,DA2CODEENDS4.12 設(shè)已知數(shù)據(jù)段:DATASEGMENTDA1DBXX,XXDA2DBXX,XXADRRDWDA1,DA2DATAENDS為使ADRR+2
22、字存儲單元中存放內(nèi)容為0022H,上面的方框中應(yīng)填寫什么語句?4.13 下面的指令執(zhí)行后,寄存器DS和SI的內(nèi)容分別是多少?ADDRDW1234H,5678H,0ABCDHLDSSI,ADDR+14.14 設(shè)某數(shù)據(jù)段為:DATASEGMENTORG20HNUM1 = 8NUM2 = NUM1+10HDA1DBIBM PCDB0AH,0DHCONTEQU$DA1DA2DWIB,M,PC,0A0DHDATAENDS上述數(shù)據(jù)段定義后,DA1和DA2的偏移量、CONT的值和DA2+5字節(jié)單元的內(nèi)容分別是多少?4.15 設(shè)某數(shù)據(jù)段為:DATASEGMENTORG34HNUM =DA1DW10H,$+20
23、H,30H,$+40HDA2DWDA1+NUM+10HDATAENDS上述語句匯編后,$+20H和$+40H中的$分別是多少?為使DA2字單元中的值為50H,等號語句NUM后的空白處應(yīng)填什么?4.16 匯編語言源程序是如何裝入CS、DS、SS和ES的?4.17 匯編語言源程序在運行結(jié)束后為什么要返回操作系統(tǒng)?它們是如何返回的?習(xí)題五習(xí)題五5.1 程序的基本結(jié)構(gòu)有_、_與_三種。5.2 下面的程序段完執(zhí)行后,AX,DX與BL的內(nèi)容為多少?MOV AX, 6540HMOV DX, 3210HMOV CL, 04SHL DX, CLMOV BL, AHSHL AX, CLSHR BL, CLOR D
24、L, BL5.3 編寫分支程序,在進行條件判斷前,可用指令改變標志寄存器的某些位從而形成條件,下面的指令中不能形成條件的指令是_。(A) XOR (B) ADD(C) TEST (D) MOV5.4 在語法正確的情況下,指令JMP FAR PTR LABEL1屬于_。(A) 段內(nèi)直接尋址 (B) 段內(nèi)間接尋址(C) 段間直接尋址 (D) 段間間接尋址5.5 指令JMP BX轉(zhuǎn)移的目標地址的偏移量為_。(A) IP+BX的內(nèi)容 (B) BX的內(nèi)容(C) BX所指向的存儲單元的內(nèi)容 (D) IP-BX的內(nèi)容5.6 下面的程序段條件轉(zhuǎn)移語句發(fā)生跳轉(zhuǎn)時,(AL)=_。CMP AL, 0FBHJNL N
25、EXT(A) 80H (B) 8FH(C) 0F0H (D) 0FFH5.7 設(shè)標識符DONE是程序中某指令語句的標號,與JMP指令同在一個邏輯段內(nèi),下列的哪個程序段不能夠轉(zhuǎn)移到標號DONE處的語句執(zhí)行。(A) JMP DONE (B) MOV BX, OFFSET DONE JMP BX(C) MOV BX, DONE JMP BX(D) LEA BX, DONE JMP DONE5.8 下面的程序運行后,(AL)=_,CF=_。MOV CL, 8MOV AL, 0NOT ALROL AL, CLCMP AL, 0FFHJZ NEXTMOV AL, 0NEXT: 5.9 在下面的程序段中,“
26、DEC CX”指令執(zhí)行了_次。 MOV CX, 6 JCXZ NEXTL1: DEC CX JNZ L1NEXT: .(A) 0 (B) 5(C) 6 (D) 75.10 試分三種情況說明,當NUM字節(jié)單元中數(shù)據(jù)是什么情況時,TEMP字節(jié)單元分別是多少?NUM DB ?TEMP DB ? MOV AL, NUMTEST AL, 99HJNE RESAND AL, 99HJMP END0RES: JS NE INC AL JMP END0NE: DEC ALEND0: MOV TEMP, AL5.11 循環(huán)體包括哪幾部分?(A) 初始化部分、工作部分、控制部分、修改部分、結(jié)束處理部分(B) 工作
27、部分、修改部分、控制部分(C) 工作部分(D) 初始化部分、工作部分5.12 循環(huán)控制指令LOOPNZ的轉(zhuǎn)移條件是_。(A) (CX)0并且ZF=0 (B) (CX)0或者ZF=0(C) (CX)=0并且ZF=0 (D) (CX)0并且ZF=15.13 下面的程序段執(zhí)行后,BUF1的前5個字節(jié)單元內(nèi)容分別是多少?DATA SEGMENT DA1 DW 123H, 456H, 0AB00H DA2 DB 12H, 34H, 56H, 0ABH DB $ - DA2 BUF1 DB 10H DUP(1,2,3) BUF2 DB 10H, 20H, 30HDATA ENDSMOV SI, OFFSE
28、T DA1MOV DI, OFFSET BUF1MOV CX, 5LOP: MOV AL, SIMOV DI, ALINC SIINC DILOOP LOP5.14 已知BUF開始的數(shù)據(jù)區(qū)中存放有10個大、小寫字母,下面程序段完成的功能是什么? MOV CX, 10 LEA BX, BUF L2: MOV AL, BX CMP AL, Z JBE L1 SUB AL, 20H MOV BX, AL L1: INC BX LOOP L25.15 下列程序執(zhí)行后,寄存器AX,BX,CX與DX的內(nèi)容分別是什么?如果將LOOP指令分別換成LOOPZ與LOOPNZ指令,結(jié)果又如何?CODE SEGMEN
29、T ASSUME CS:CODEBEGIN: MOV AX, 2 MOV BX, 3 MOV CX, 4 MOV DX, 5NEXT: ADD AX, AX MUL BX SHR DX, 1 LOOP NEXT MOV AH, 4CH INT 21HCODE ENDS END BEGIN5.16 閱讀下列程序,回答下列問題:(1) 該程序完成什么功能?(2) 程序中的INC SI可否用指令A(yù)DD SI,1代替,為什么?(3) 程序中的指令LEA SI, DATA1可用指令_代替。(4)CLC的目的是_。DATA SEGMENT DATA1 DB 85H, 27H, 4AH DATA2 DB 9
30、3H, 87H, 65H LEGH DW 3 SUM DB 0, 0, 0DATA ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATABEGIN: MOV AX, DATA MOV DS, AX LEA SI, DATA1 LEA BX, DATA2 LEA DI, SUM MOV CX, LEGH CLCAGAIN: MOV AL, SI ADC AL, BX MOV DI, AL INC SI INC BX INC DI LOOP AGAIN MOV AH, 4CH INT 21HCODE ENDS END BEGIN5.17 DX和AX聯(lián)合存放一個32位整數(shù)
31、(DX存放高16位),編寫程序?qū)⒃摂?shù)據(jù)邏輯左移一位。5.18 試編寫程序?qū)逆I盤輸入的小寫字母用大寫字母顯示。5.19 試編寫程序?qū)⒁粋€包含有20個有符號字節(jié)數(shù)據(jù)的數(shù)組ARRAY,分成正整數(shù)數(shù)組PLUS與負整數(shù)數(shù)組NEGA兩個數(shù)組,并且將這兩個數(shù)組中的數(shù)據(jù)個數(shù)顯示出來。5.20 試編寫程序?qū)酥炯拇嫫鞯母? 位與低8 位互換。5.21 在大小為20個字節(jié)的數(shù)據(jù)區(qū)中產(chǎn)生排列為下列兩種情況之一的數(shù)據(jù),第一種排列:DB 0, A, 1, B9, J第二種排列:DB A, 0, B, 1J, 9并顯示排列結(jié)果,產(chǎn)生哪種結(jié)果根據(jù)鍵盤輸入1或2決定。5.22 設(shè)有單字節(jié)有符號數(shù)X,Y與Z,如果X+Y200
32、,則求X-Z,否則求X+Z,運算結(jié)果存儲在SUM字單元中。5.23 已知一個多字節(jié)數(shù)據(jù)存放在以DA1開始的連續(xù)單元中,高字節(jié)存放在高地址單元,低字節(jié)存放在低地址單元,該數(shù)據(jù)的字節(jié)個數(shù)存放在LENG字節(jié)單元中,編寫程序計算其絕對值,并存放回原位置。習(xí)題六6.1 定義子程序應(yīng)該采用的一對偽指令是_。(A) SEGMENT/ENDS (B) BEGIN/END BEGIN(C) PROC/ENDP (D) CALL/RET 6.2 調(diào)用子程序的指令是_。(A) RET (B) JMP(C) LOOP (D) CALL6.3 已知CALL BX執(zhí)行前SP=100H,執(zhí)行后SP的內(nèi)容為_。(A) 0FC
33、H (B) 102H(C) 98H (D) 0FEH6.4 下列指令中,_屬于段間間接調(diào)用。(A) CALL SUB1 (B) CALL FAR PTR SUB1(C) CALL DWORD PTR BX (D) CALL WORD PTR BXSI6.5 段內(nèi)直接調(diào)用的轉(zhuǎn)移范圍為_。(A) -128127 (B) -3276832767(C) -6553665535 (D) 0327676.6 下面的子程序試圖完成當AL與BL的內(nèi)容相等時設(shè)置AL的內(nèi)容為0,不相等時設(shè)置AL的內(nèi)容為0FFH,有錯嗎?如果有錯,請改正。 EXAM PROC CMP AL, BL JZ END0 MOV Al,
34、0FFH RET END0: MOV AL, 0 ENDP EXAM6.7 CALL指令在段間調(diào)用與段內(nèi)調(diào)用下各完成什么功能?6.8 RET指令在段間返回與段內(nèi)返回下各完成什么功能?6.9 段間返回指令“RET 4”6.10 子程序在什么時候需要保護寄存器?有那兩種方式?6.11. 調(diào)用子程序時傳遞參數(shù)的方式一般有哪幾種?6.12. 請說明調(diào)用指令CALL與轉(zhuǎn)移指令JMP的主要相同點與不同點。6.13. 下面的子程序調(diào)用是否正確?DATA SEGMENT V1 DB 5 V2 DB ?DATA ENDSSTACK1 SEGMENT PARA STACK DW 10H DUP (?)STACK1
35、 ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA, SS:STACK1BEGIN: MOV AX, DATA MOV DS, AX MOV AL, V1 CALL NEAR PTR DECM MOV V2, AL MOV AH, 4CH INT 21HDECM PROC FAR DEC AL DEC AL RETDECM ENDPCODE ENDS END BEGIN 6.14. 已知SHIFT是定義在代碼段中屬性為NEAR的子程序,數(shù)據(jù)段DATA中ADDR變量存放了SHIFT的偏移量,試根據(jù)上下文在代碼中補齊指令實現(xiàn)3種調(diào)用SHIFT的方式。DATA SEGM
36、ENT ADDR DW OFFSET SHIFTDATA ENDSSTACK1 SEGMENT PARA STACK DW 10H DUP(?)STACK1 ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA, SS:STACK1BEGIN: MOV AX, DATA MOV DS, AX MOV BX, ADDR CALL _ MOV BX, OFFSET ADDR CALL _ CALL _ MOV AH, 4CH INT 21HSHIFT PROC NEAR SHIFT ENDPCODE ENDS END BEGIN6.15 用示意圖表示下列程序執(zhí)行時,堆
37、棧的變化情況。STACK1 SEGMENT PARA STACK DW 128H DUP (?) TOP LABEL WORDSTACK1 ENDSCODE SEGMENTASSUME CS:CODE, SS:STACK1BEGIN PROC FAR PUSH DS MOV AX, 0 PUSH AX PUSHF CALL SUB1 POPF RETBEGIN ENDPSUB1 PROC NEAR CALL FAR PTR SUB2 RETSUB1 ENDPCODE ENDSCODE1 SEGMENTSUB2 PROC FARPUSH CXPOP CXRETSUB2 ENDPCODE1 END
38、S END BEGIN6.16 編寫程序,計算3!+4!+5!,并且將結(jié)果放入字變量RESULT中。6.17 求數(shù)組中10個有符號字節(jié)數(shù)據(jù)中最大值與最小值的差,結(jié)果存入字變量RESULT中,要求查找最大值與最小值分別用子程序來完成,并且分別利用寄存器傳遞參數(shù)、堆棧傳遞參數(shù)來實現(xiàn)。6.18 試編制程序,分別對NUM中各數(shù)統(tǒng)計出有多少個20,余下有多少個5,再余下有有多少個2,再余下有有多少個1。統(tǒng)計的各數(shù)分別存放在NUM20,NUM5,NUM2,NUM1的對應(yīng)位置中,程序要求用主程序、子程序形式編制,而且用兩種參數(shù)傳遞方法分別編制主程序和子程序。數(shù)據(jù)段如下:DATA SEGMENT NUM DW
39、 0133H, 0D5FH, 1234H COUNT EQU ($ - NUM)/TYPE NUM NUM20 DB COUNT DUP(0) NUM5 DB COUNT DUP(0) NUM2 DB COUNT DUP(0) NUM1 DB COUNT DUP(0)DATA ENDS習(xí)題七1. 試編制子程序,完成AAA,DAA,AAS,DAS的指令功能2. 試用兩種不同方法,編制雙精度(32位)求補程序3. 編制一程序,找出從2開始指定數(shù)以內(nèi)的質(zhì)數(shù),并統(tǒng)計個數(shù)。4. 設(shè)-9A9,-13B13,-16C16,試編制求出方程A+B+C=0的全部整數(shù)解的程序。5. 現(xiàn)有字符串STRING,編制一個
40、程序,將指定范圍內(nèi)的字符清除。6. 編制程序,比較兩個字符串STR1和STR2中所包含的字符是否相同?7. 編制一個程序,把從鍵盤輸入的帶符號十進制數(shù)轉(zhuǎn)換為補碼表示的二進制數(shù)。8. 編制一個程序,從鍵盤輸入兩位16進制數(shù)(輸入時,有非十六進制數(shù)字符,則輸入作廢,重輸),然后轉(zhuǎn)換為3位八進制數(shù),并在CRT上顯示輸出。9. 編寫二進制數(shù)轉(zhuǎn)換為P進制數(shù)子程序。10. 編寫把P進制數(shù)轉(zhuǎn)換為二進制數(shù)子程序。習(xí)題八1. 現(xiàn)有下列的程序段:CHANUM STRUC DA1 DB ? DA2 DW ?CHANUM ENDSDATA SEGMENT ORG 20H ASCI CHARNUM 4 DUP()DAT
41、A ENDS LEA ASCI, DI MOV CX, 04H MOV BL, ALOP: MOV DI.DA1, BL MOV AX, DI MOV DI.DA2, AX ADD BL, TYPE CHANUM.DA2 ADD DI, TYPE ASCI LOOP LOP上述程序運行后,結(jié)構(gòu)變量ASCI中各字節(jié)單元的內(nèi)容是什么?2. 現(xiàn)有結(jié)構(gòu)定義如下:EXA STRUC DA1 DB ? DA2 DB ABC DA3 DB 2, 30H DA4 DW 5 DA5 DW 10 DUP (A)EXA ENDS試用該結(jié)構(gòu)設(shè)置10H個結(jié)構(gòu)變量。對于凡是能修改初值的結(jié)構(gòu)變量字段預(yù)置結(jié)構(gòu)時,原定義為數(shù)字
42、字段設(shè)置為0,原定義為字符串字段設(shè)置為等量的空格串。3. 編寫完整的程序計算10名學(xué)生的英語、物理、數(shù)學(xué)三門課程的總分。要求用結(jié)構(gòu)定義學(xué)生的學(xué)籍,學(xué)籍中至少包括姓名、學(xué)號、英語、物理、數(shù)學(xué)三門課程的成績以及總分。按照總分從高到低對學(xué)生進行排序,并在屏幕上顯示出來,顯示的格式是:“姓名 學(xué)號 英語 物理 數(shù)學(xué) 總分”。4. 設(shè)有記錄定義以及變量定義如下:REC1 RECORD F1:3=100B, F2:6, F3:4ABC REC1 試問記錄變量ABC在內(nèi)存中的內(nèi)容是多少?5. 現(xiàn)有宏定義如下,試說明該宏完成什么功能?參數(shù)CHAR是什么數(shù)據(jù)類型?DISPCHAR MACRO CHARMOV AH, 2MOV DL, CHARINT 21HENDM6. 編寫宏指令DISPLAY,它能將數(shù)據(jù)段的字符串(以“$”結(jié)尾)顯示出來,字符串變量名作為實參。7. 編寫宏指令MOVE DEST,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度文化遺址場地保護與利用合同協(xié)議書3篇
- 專業(yè)拓展訓(xùn)練合作合同書2024版版B版
- 2024離婚雙方房產(chǎn)分割及過戶操作補充合同版B版
- 2024綜合授信額度合同及分期貸款細則版B版
- 2025年度廠房租賃及品牌授權(quán)合作協(xié)議3篇
- 2025年度工業(yè)廠房拆除及重建合同范本4篇
- 2025年度商業(yè)地產(chǎn)項目場地借用合同樣本3篇
- 2025年度數(shù)字化工廠搬遷工程合同范本4篇
- 油品基礎(chǔ)知識培訓(xùn)課件
- 2024版室內(nèi)粉刷工作班組勞動協(xié)議樣本版B版
- GB/T 20840.8-2007互感器第8部分:電子式電流互感器
- GB/T 14864-2013實心聚乙烯絕緣柔軟射頻電纜
- 品牌策劃與推廣-項目5-品牌推廣課件
- 信息學(xué)奧賽-計算機基礎(chǔ)知識(完整版)資料
- 發(fā)煙硫酸(CAS:8014-95-7)理化性質(zhì)及危險特性表
- 數(shù)字信號處理(課件)
- 公路自然災(zāi)害防治對策課件
- 火災(zāi)報警應(yīng)急處置程序流程圖
- 耳鳴中醫(yī)臨床路徑
- 安徽身份證號碼前6位
- 分子生物學(xué)在動物遺傳育種方面的應(yīng)用
評論
0/150
提交評論