指令與組合語言

2023-01-16 23:51:02 字數 3866 閱讀 5322

組合語言程式設計複習題

一. 填空

1.二進位制數11101001,若為無符號數,其十進位制數值是_____;

若為補碼表示的有符號數,其十進位制數值是_____。

2.將十進位制數686化為十六進製制是________,將十進位制數101化為二進位制是________。

3.設(ss)=00a8h,(sp)=0010h,pop bx指令執行後,棧頂實體地址是_______h。

4.已知儲存器某單元的位址為2314h:4132h,則它的偏移位址=(),實體地址=()

設機器字長為8位,用補碼加法運算80h+18hd,結果填寫:溢位或不溢位)

5.與lea bx,tab等價的指令語句是

6.8086 的n號中斷處理程式的中斷向量存放在中斷向量表以( )開始的4個位元組中;

7.變數和標號均具有_______屬性,_______屬性和_______屬性。

9.資料段中有以下定義:

array1 equ 16h

array2 dw 16h

請指出下面兩條指令的定址方式:

mov ax,array1 ;定址方式:_______

mov ax,array2 ;定址位址:_______

11.乙個有16個字的資料區,它的起始位址為70a0:ddf6,那麼該資料區的最後乙個字單元的實體地址為_______h。

12.執行下列指令序列後,完成的功能是將(dx,ax)的值

mov cx,04

next: shr dx,1

rcr ax,1

loop next

13.閱讀下面的程式。在__①__的情況下,本段程式的執行結果是(ax)=0;在__②__的情況下,其結果為(ah)=0ffh。

in al,20h

test al,80h

jz a

mov ah,0

jmp b

a: mov ah,offh

b: hlt

二. 選擇題(單選或多選)

1.微型計算機中主要包括有( )。

a) 微處理器、儲存器和i/o介面 b)微處理器、運算器和儲存器

c) 控制器、運算器和暫存器組 d)微處理器、運算器和暫存器

2.下列8086cpu標誌暫存器fr的標誌位中,不屬於狀態標誌位的是( )

3.8086cpu在進行讀記憶體操作時,控制訊號m/和dt/是( )

a.00b.01

c.10d.11

4. 指令( )的源運算元的定址方式為直接定址。

a)mov [2000h],al b)in al,dx

c)xor al,[2000h] d)mov ax,2000h

4.暫存器間接定址方式中,運算元在______中

a.通用暫存器b.堆疊

c.主存單元d.段暫存器

5.8086在執行指令:

mov al,0c3h

add al,0aah

後,狀態標誌of、sf為( )

a.0、1 b.1、1 c. 1、0 d. 0、0

6. inc指令不影響______標誌

a.c.

7.條件轉移指令jne的測試條件是______

a. zf=1b. cf=0

c. zf=0d. cf=1

8.指令loopne在迴圈時退出迴圈的條件是( )

且zf=1 b. cx=0或zf=1

c. cx≠0且zf=1 d. cx≠0或zf=1

9.邏輯位移指令shl用於_______

a. 帶符號數乘2 b. 帶符號數除2

c. 無符號數乘2 d. 無符號數除2

而算術位移指令sal用於_______

a. 帶符號數乘2 b. 帶符號數除2

c. 無符號數乘2 d. 無符號數除2

10.下列指令中,有語法錯誤的是_______

a. mov [si],[di] b. in al,dx

c. jmp word ptr [bx+8] word ptr 20[bx+si-2]

12.當乙個程式使用dos功能呼叫輸入乙個字串時,在編寫int 21h指令前,應選用的指令是( )

ah, ah,09h

ah, ah,4ch

13.執行下列命令後:

mov ax,1234h

mov cl,4

rol ax,cl

dec ax

mov cx,4

mul cx

hlt暫存器ah的值是_______,暫存器al的值是

1) a.92hb.8ch

c.8dhd.00h

2) a.60hb.00h

c.04hd.0ah

14.執行下列指令後:

str1 dw 『ab』

str2 db 16 dup(?)

cnt equ $-str1

mov cx,cnt

mov ax,str1

hlt暫存器cl的值是_______,暫存器ax的值是

1) a.10hb.12h

c.0ehd.0fh

2) a.00abhb.00bah

c.4142hd.4241h

15.執行返回指令,退出中斷服務程式,這時返回位址來自______.

a. rom區b. 程式計數器

c. 堆疊區d. cpu的暫時暫存器

17.將al中帶符號數乘10送al,正確的程式段是______.

a. sal al,1b. add al,al

mov bl,almov bl,al

sal al,1add al,al

sal al,1add al,al

add al,bladd al,al

c. mov cl,4d. add al,al

mov bl,aladd al,al

sal al,cladd al,al

add al,bladd al,al

18.交換暫存器si、di的內容,正確的程式段是_______.

a. push sib. push si

push dipush di

pop sipop di

pop dipop si

c. mov ax,sid. mov ax,si

mov si,dimov bx,di

mov di,axxchg bx,ax

20.段定義語句以( )語句結束。

三.改錯題(標出題中錯誤的地方,並填寫出正確內容。)

1. 使buf單元的內容高二位都為「0」,低六位不動。(5分)

st: mov si,offset buf

mov al,[si]

add al,0c0h

mov [si],al

mov ah,4ch

int 21h

改正四、簡答題

1.什麼叫匯流排週期?在cpu讀/寫匯流排週期中,資料在哪個機器狀態出現在資料匯流排上?

2.儲存器為什麼要分段?

3.設資料段的定義如下:

data segment

code dw ?

lname db 32 dup(?)

l equ $-code

data ends

問l的值為多少?它表示什麼意義?

4.8086儲存器空間為1mb,需要多少根位址線定址?8086共分成幾種段?每段最大儲存空間是多少?

5.假設變數定義如下:

x db 1,2,3,4,5

組合語言指令大全發布完整版

les 傳送目標指標,把指標內容裝入es.例 les di,string 把段位址 偏移位址存到es di.lfs 傳送目標指標,把指標內容裝入fs.例 lfs di,string 把段位址 偏移位址存到fs di.lgs 傳送目標指標,把指標內容裝入gs.例 lgs di,string 把段位址 ...

組合語言 第3章巨集組合語言

第三章巨集組合語言 一 巨集組合語言格式 3.1.1 指令語句格式 指令語句的一般格式如下 標號 指令助記符運算元 注釋 1 標號 標號是機器指令語句存放位址的符號表示,代表該指令目標 的第乙個位元組位址,後面必須緊跟冒號 2 指令助記符 指令助記符為語句的核心成分,表示了該語句的操作型別。3 運算...

組合語言總結

一 乙個完整的源程式的結構 乙個源程式一般由若干個段組成,每個分段可以是棧段 資料段和 段。乙個源程式可以有多個棧段 資料段和 段,從語法規則上來看,棧段是有明顯標誌的 段最好的型別為 code 的標記,並用cs作為段界暫存器,只有資料段不要求標誌。完整的源程式的結構一般形式如下 程式名稱 二 源程...