2023年組合語言考試卷A卷

2022-10-30 08:24:09 字數 5015 閱讀 5959

《組合語言程式設計》試卷( a卷)

2011-2012學年第2學期計算機學院二學位本科生

閉卷考試, 考試時間: 2023年6月 30 日

專業:計算機二學位2010級班級

學號姓名

一、改錯(只能對其中的乙個運算元進行修改,不必說明錯誤原因)。(共10分,每小題1分)

1. mov [si],5改正:mov byte ptr[si],5

2. mov ax, b999h改正:mov ax, 0b999h

3. mov al, bx改正:mov ax, bx

4. mov ax, [dx-1改正:mov ax, [edx-1]

5. mov cs, ax改正:mov ds, ax

6. add [bx],10改正:add byte ptr[bx], 10

7. push al改正:push ax

8. add 100h, ax改正:add ax, 100h

9. mov [bx],word ptr [si] 改正:mov bx, word ptr [si]

10. in ah,60h改正:in al, 60h

二、單項選擇題(每空1分,共10分)

1. 已知(esp)= 100h,執行「push eax」後 (esp)=__b______。

a. 0feh b. 0fch c. 102h d. 104h

2. 在一彙編源程式中,對end語句的敘述不正確的是__b______。

a. end語句後面可以帶乙個位址表示式,表示程式的啟動位址

b. end語句表示程式執行到此結束

c. end語句不可安排在彙編源程式中間

d. end語句屬於偽指令語句,所以不會產生任何目標**

3. 執行「xor ax,ax」後正確的標誌是__a_____。

a. zf=1 b. zf=0 c. cf=1 d. sf=1。

4. 若標誌為if=1,則___c_____。

(a) 不響應全部中斷請求b) 不響應可遮蔽中斷請求

(c) 響應可遮蔽中斷請求d) 不響應不可遮蔽中斷請求

5. 設var 為位元組型別變數,a為符號常量,下面四個語句中有乙個正確的,這個正確語句是___a_____。

a. mov var, ab. mov ax , var

c. mov var , axd. mov a , var

6. 已知(ax)=0f0eh,cf=1,執行指令「ror ax,4」後,(ax)和cf為________。

1,0000,1111,0000,1110 1,1101,0000,1111,0000

a. 0f0e0h,0b. 0f0e0h,1

c. 0e0f0h,0d. 0e0f0h,1

7. 指令 「push word ptr ds:[bp]」 中的源運算元在當前___a_____中。

a. 資料段 b. 附加資料段 c. 堆疊段 d. **段

8. 在子程式定義中偽指令proc必須與____c____成對出現.

a. end b. endm c. endp d. ends

9. 已知暫存器 ax、bx 中存放的是有符號數,請選擇合適的轉移指令,使得 (ax) > (bx) 時轉l1處執行。

cmp ax,bx

___c_____ l1

a. jab. jbc. jgd. jl

10. 數值表示式的計算是在 b 期間進行的。

a.執行b. 彙編c. 連線d. 裝載

三、填空題(15分,每小題1分)

1.(eax)=12345678h時,則(ax)= 5678h 。

2.位址表示式**現的變數或標號,均是取它們的偏移位址ea 參加運算。

3.已知(ax)= 0ffffh,語句 「neg ax」 執行後,(ax) =_____1______。

4. 字串傳送指令中,源串在資料ds 段中,目的串在附加資料es 段中。

5.寫出3條可使ax內容置為0的不同指令語句:

mov ax, 0

xor ax, ax

sub ax, ax

6.依次執行  mov ah, 35h

add ah, 5dh

執行完後,(ah)= _92h_ of = __1__ cf = __0__

7. 下列指令序列執行前,(ax)=1000h,(bx)=2000h,(cx)=3000h,(sp)=1008h。

push ax

push bx

pop ecx

則執行後:(cx)= __2000hsp)= ______1008h_______ 。

8. 在實模式下,設(ds)=1000h,(es)=2000h,(ss)=3000h,(bx)=200h,(si)=300h

指令語句「mov ax,[bx+si]」的源運算元的實體地址是 10500h ,源運算元的定址方式是基址加變址

四、資料段問答題(15分)

乙個資料段定義如下:

data segment use16

buf1 db 1, 12h, 34h, 56h

buf2 dw 1234h, 78h

num equ ($-buf2)/2

buf3 dw buf2

db 2 dup (10)

data ends

1. 請在右**中以位元組為單位填寫資料在儲存器中的存放形式,並標明buf1、buf2和buf3所處的偏移位址。(7分)

2. 指出執行下列各指令後,各暫存器的內容(8分)。

(1)mov al, buf1+2 (al) = ___34h2分)

(2)mov bx, buf2bx) = __1234h2分)

(3)mov ax, buf3+2 (ax) = __0a0ah2分)

(4)mov dl, numdl) = ____2h2分)

四、簡答題(20分)

1. 80x86所常用的定址方式有哪幾種?(4分)

答:1. 暫存器定址

2. 暫存器間接定址

3. 變址定址

4. 基址加變址定址

5. 直接定址

6. 立即定址

7. 某同學編寫了乙個巨集,準備在多處使用,功能是將ax中存放的有符號數的絕對值送到bx,你認為有哪些問題,如何修改(4分)

abs macro

cmp ax,0

jae exit

neg ax

exit: mov bx, ax

abs endm

abs macro

local exit

cmp ax, 0

jge exit

neg ax

exit:

mov bx, ax

endm

8. 在組合語言上機實驗中,將彙編源程式變成可執行程式,需要經過哪幾個步驟(4分)

答:1. 分析問題;

2. 畫程式框圖;

3. 編寫源程式;

4. 進行彙編,將源程式轉換成中間**;

5. 修改源程式的錯誤;

6. 進行鏈結,將中間**轉換成執行程式;

7. 除錯和執行程式,查詢執行錯誤。

9. 主程式與子程式之間傳遞引數的常用方式有哪三種?(3分)

答:1. 暫存器傳遞引數

2. 堆疊傳遞

3. 約定單元法

10. 已知子程式c2_10的功能為:將ax中的無符號二進位制數以十進位制形式輸出,該子程式的呼叫不破壞任何暫存器的內容。下列程式段的功能是什麼?(5分)

arr dw 100, 98, 99, 70, 85, 90

count equ ($-arr)/2

┇lea si, arr

mov cx, count

p1: mov ax, [si]

add si, 2

call c2_10

mov dl, 『 』

mov ah, 2

int 21h

loop p1

┇100 98 99 70 85 90

六、編寫程式段(15分)

1. 編寫乙個程式段,計算無符號數的運算:123456789 ÷ 17,並將商和餘數分別儲存到暫存器dx和ax中。(4分)

div商 ax

餘 dx

xchg ax, dx

mov ax, 0cd15h

mov dx, 75bh

mov cx, 11h

div cx

xchg ax, dx

2. 已知buf緩衝區的定義為:

buf dw 22,789,-234,333,908,-112,……

請分別用下面指定的定址方式將buf的第4個字(即333)送到ax暫存器。(6分)

(1) 直接定址方式

mov ax, buf+6

(2) 變址定址方式

lea bx, buf

mov ax, [bx+6]

mov bx, 6

mov ax, [bx+buf]

(3) 基址加變址定址方式

lea bx, buf

mov si, 6

mov ax, [bx+si]

3. 設有下述資料定義:

buf1 db 『abcdefghijklmnopqrstuvwxyz』

buf2 db 26 dup(0)

試將buf1的資料拷貝到buf2。(5分)

mov ax, seg buf1

mov ds, ax

組合語言試卷

2010 2011組合語言程式設計期末試卷a卷 一 填空題 每空1分,共計10分 1 mov ax,0 可暫存器ax清0。另外再寫出三條可使暫存器ax清0的指令。1 2 32 標號可以有兩種型別屬性。它們是 和 3 程式設計的三種基本結構是 4 分別用一條語句實現下述指明的功能 1 雙字變數dwva...

組合語言程式設計A卷

2011級組合語言程式設計課程試題 a卷 合分人複查人 1 用組合語言書寫的程式叫做masm要求該檔案的副檔名是編寫32位windows應用程式應選擇儲存模型。2 組合語言語句有兩種,分別是和3 除外設資料外的資料定址方式有3類,分別稱為 和定址。4 進行windows應用程式開發時,需要庫檔案,執...

組合語言B試卷答案

一 單項選擇題 每小題1分,共30分 1 c二 填空 每空1分,共10分 1 運算元 2 59 3 有符號數 有溢位 運算結果超出機器能表示的範圍 4 dd 56789a0bh 5 10111111 6 07 128 8 實體地址 9 and al,3f 10 1 三 判斷題 每小題1分,共10分 ...