<tt id="iwmsi"></tt>
  • <xmp id="iwmsi">
  • 匯編習題1 - 下載本文

    一、選擇題

    1、 8086CPU中程序計數器IP中存放的是 。 A、指令 B、指令在現行代碼段中的偏移地址 C、操作數 D、操作數在現行代碼段中的偏移地址 2、Intel8086CPU內部的兩大功能部件是 。 A、標志寄存器及ALU B、BIU及EU C、指令隊列及AIU D、地址加法器及ALU

    3、8086CPU有20根地址線,直接尋址內存的空間為 。 A、64MB B、1MB C、1024B D、8MB

    4、Intel8086堆棧是按 原則構造的。 A、先進先出 B、后進后出 C、先進后出 D、隨機存取

    5、微型計算機主存儲器的基本編址單元的長度是 。 A、64位 B、32位 C、16位 D、8位

    6、為使CPU識別不同的內存單元,需要為每個內存單元規定不同的 。 A、符號 B、地址 C、數據 D、狀態

    7、指令指針IP與 組合使用,確定下一條指令存放單元的物理地址。 A、CS B、ES C、SS D、DS

    8、堆棧指針SP與 組合使用,確定棧頂單元的物理地址。 A、CS B、ES C、SS D、DS

    9、8086對內存進行分段管理,一個段的最大范圍是 。 A、64KB B、128KB C、512MB D、1MB

    10、8086CPU用于存放當前數據段段基址的寄存器是 。 A、CS B、ES C、SS D、DS

    11、為數據段基址寄存器DS賦值得匯編語句正確的是 。 A、ASSUME DS:DATA B、SEGMENT DATA C、MOV DS,DATA D、MOV AX,DATA MOV DS,AX 12、下列描述正確的是 B 。 A、 匯編語言只由指令語句構成 B、 匯編語言語句包括指令語句和偽指令語句 C、 指令性語句和偽指令語句的格式是完全相同的

    D、 指令性語句和偽指令語句都能經過匯編程序翻譯成機器代碼

    13、8086/8088系統中,一個棧可使用的最大空間是 。 A、1MB B、由SP初值決定 C、64KB D、由SS初值決定

    14、若(AL)=10101101B,為了使其內容變為01011101B,下列哪一種執行一次即可完成

    1

    此操作?

    A、NOT指令 B、AND指令 C、XOR指令 D、OR指令 15、設(SS)=2000H,(SP)=0100H,(AX)=2107H,執行指令PUSH AX后,存放數據21H的物理地址為 。 A、20102H B、200FEH C、20101H D、200FFH 16、令DF=1的指令是 。 A、STD B、CLD C、CLC D、STC

    17、將累加器AX的內容清零,錯誤的指令為 。 A、AND AX,0 B、XOR AX,AX C、SUB AX,AX D、CMP AX,AX(不保存結果)

    18、有指令MOV AX, 1234H,指令中的立即數1234H是存儲在____________________。 A.數據段 B.代碼段 C.附加段 D.堆棧段 19、交換寄存器SI,DI的內容,正確的程序段是 。 A、 PUSH SI B、PUSH SI PUSH DI PUSH DI POP SI POP DI POP DI POP SI C、 MOV AX,SI D、MOV AX,SI MOV DI,SI MOV BX,DI MOV SI,DI XCHG BX,AX 20、執行下面的程序段后,AL中的內容為 。 BUF DW 2152H,3416H,5731H,4684H MOV BX,OFFSET BUF MOV AL,3 XLAT A、46H B、34H C、16H D、57H

    21、在匯編語言程序中,對END語句的敘述正確的是( )。 A、END語句是一可執行語句

    B、END語句表示程序執行到此結束 C、END語句表示源程序到此結束 D、END語句在匯編后要產生機器碼

    22、下面的數據傳送指令中,錯誤的操作是( )。 A、MOV SS:[BX+DI],AX B、MOV DX,1000H

    C、MOV WORD PTR[BX],1000H

    D、MOV DS,2000H(不可以直接給DS賦值)

    23、偽指令VAR DD ? 將在內存預留 字節的存儲空間。 A、1 B、2 C、8 D、4

    24、設X1和X2是用DB定義的變量,下列指令中正確的是 。

    2

    A、MOV X1,20H B、MOV AX,X1 C、MOV X1,X2 D、MOV 20H,X2

    25、執行下面的程序段后,AX中的內容為 。 NUM DW ? ,23 NAME DW 10 DUP(?) N EQU 6 LEN EQU $-NUM MOV AX,LEN A、18H B、1CH C、15H D、16H

    26、已知VAR DW 1,2,$+2(代表0016H),5,6,若匯編時VAR分配的偏移地址是0010H,匯編后0014H單元的內容是 。 A、16H B、05H C、14H D、06H 二、填空題

    1、若運算結果為0,則標志寄存器中零標志位ZF= 。 2、寫出下列存儲器地址的段地址,偏移地址和物理地址。 (1)2314:0035 段地址為 ,偏移地址為 ,物理地址為 。 3、設VAL是在數據段中定義的變量,試指出下列源操作數字段的尋址方式。 (1) MOV AX, 03FH (2) MOV AX,BX (3) MOV AX,[BX] (4) MOV AX,DS:[100H] (5) MOV AX,ES:[BX] (6) MOV AX,[BX+10] (7) MOV AX,VAL[BX] (8) MOV AX,VAL[BX][SI] 4、DIV SRC 執行字節除法時,運算后的商存放在 中,余數存放在 中。 5、執行下列指令后,AX寄存器的值為 。 TABLE DW 10,20,30,40,50 ENTRY DW 3 ………. MOV BX,OFFSET TABLE ADD BX,ENTRY MOV AX,[BX]

    6、執行下列指令序列后,BL寄存器的值為 。 MOV CL,3 MOV BL,0B3H ROL BL,1 RCR BL,CL

    7、設(BX)=0C6H,變量VAL中存放的內容為59H,確定下列各條指令單獨執行后,BX寄存器的值。

    (1)XOR BX,VAL ;(BX)= (2)AND BX,VAL ;(BX)=

    3

    (3)OR BX,VAL ;(BX)= 8、判斷下列指令是否合法。

    (1)MOV [SI],[DI] (2)RCR DX,3 (3)PUSH AL (4)MOV CS,AX (5)INC [BX] (6)MOV AX,[DX] (7)MOV AL,1000

    9、匯編語言源程序中表示結束的偽指令是 。 10、判斷下列指令和偽指令的使用是否正確。 (1)K1 DW 3412H K2 DB K1 (2)K1 EQU 1234H ………… MOV K1,AX (3)N EQU 2 N EQU N+1 11.已知數據段定義如下: DATA SEGMENT ORG 100H BUF DW 'CD', 1, 3 DUP(4, 2 DUP(8, 6)) VAR DB 4AH DATA ENDS 單獨執行下列語句 LEA BX, BUF BX=_______

    MOV CX, VAR-BUF CX=_______(用十六進制數表示)。 三、簡述題

    1、8086系統中,設有一個包含8個字的數據區,數據區的起始地址為2100H:2A10H,寫出該數據區首末字單元的物理地址。

    2、從內存地址34120H,依次存放3個數,它們分別是字數據27H,字節數據0F1H和字數據9145H。請用圖表示出這些數在內存的存放情況。 3、將AL與BX中的兩個無符號數相加,結果放入AX。 4、將AL與BX中的兩個帶符號數相加,結果放入AX。

    5、將AL的高4位與低4位分別放入BH與BL的低4位,且將BH與BL的高4位清0。 6、用一條邏輯指令將AX寄存器清0。

    7、用一條邏輯指令將DX寄存器的高3位為1,其余位不變。

    8、試編寫指令序列,將DX:AX中的32位無符號數乘以2,結果仍存放在DX:AX中。 9、定義一個數據段DATASG,并且在該數據段中定義一個有5個字節的字節數組ARRB,其值分別為34H,12H,45H,26H,25H。 10、偽指令與指令的本質區別是什么?

    11、編寫數據段定義,在段中依次定義以下變量: V1為字節變量,初值是90H; V2為字數組,初值依次為2341H,9813H,0A213H;

    4

    V3為字節型數組,初值為字符串’Assembly Language’; V4為字節數組,有5個字節,未定義初值。 12、設數據段定義如下: DATA SG SEGMENT V1 DB 3 DUP(0) V2 DB 4 DUP(0) DATASG ENDS

    (1) 編寫指令序列,將1634H存入字節數組V1的第0個字節和第1個字節(可以修改

    數據段)

    (2) 編寫指令序列,將2AH存入字數組V2的第0個字節和第2個字節(可以修改數據

    段)。 四、編程題

    1、 利用查表的方法計算S=X2+Y2,設0≤X≤15,0≤Y≤15,且分別在DAX,DAY

    字節單元存放,結果存入RLT單元。

    2、 編寫程序計算Y=5X+7,設X值在DAX單元,結果存入RLT單元。X為帶符號整

    數。

    3、 比較兩個無符號數的大小,若A>B,則顯示出'A>B',否則顯示'B>A'。

    4、 已知a,b,c存放在ADR開始單元,編制程序使之按遞增順序存放在NEW開始

    的單元。設a,b,c為帶符號整數。

    5、 假設DATAX和DATAX+2單元存放雙字P,DATAY和DATAY+2單元存放雙字Q。

    編程計算2P-Q,差在DX、AX中。若OF=1,程序轉OVERFLOW,否則轉NOOVER。(只寫有關指令語句)

    5





    白小姐结果开奖结果小说