王爽 組合語言 第七章檢測題分析

2021-04-30 19:59:46 字數 1612 閱讀 4927

第7章彙編測試題目

共3道單選題目

(1)

生成exe之後用debug載入後,檢視暫存器內容如下: 

ds=0b2d es=0b2d ss=0b3d cs=0b3e ip=0000 

程式的起始位址的段位址是_____。 (3)

1、  0b3e

2、  0b2d

3、  0b3d

4、  0

但為什麼cs是0b3呢?不清楚。

(2)

下列指令不能執行的是_____。 (3)

1、  mov ax,10h[bx]

2、  mov ax,10h[di]

3、  mov ax,[di+si]

4、  mov ax,10h[bx][si]

分析:di和si不能同時使用。參考《組合語言》第二版第161頁和162頁。

「在[..]中,bx,bp,si,di這4個暫存器可以單個出現,或只能以四種組合出現:bx和si,bx和di,bp和si,bp和di」

(3)

對如下程式要實現將datasg段中的字串"welcome to masm!"複製到它後續的資料區中, (4)

assume cs:codesg,ds:datasg

datasg segment

db 'welcome to masm!'

db '................'

datasg ends

codesg segment

start: mov ax,datasg

mov ds,ax

mov si,0

________

________

mov ax,4c00h

int 21h

codesg ends

end start

在空白區域新增的指令序列合理的是_____。

1、 

mov di,10h

mov cx,10h

s: mov ax,[si]

mov [di],ax

add si,2

add di,2

loop s

2、 

mov di,10h

mov cx,8

s: mov ax,[si]

mov [di],ax

inc si

inc di

loop s

3、 

mov ss,ax

mov sp,32 

mov cx,8

s: mov ax,[si]

push ax

add si,2

loop s

4、 

mov cx,8

s: mov ax,[si]

mov [si+10h],ax

add si,2

loop s

分析:

選項1:每次處理乙個字,只需要迴圈八次,而不是10h次

選項2:每次處理乙個位元組,需要迴圈10h次,而不是8次

選項3:好像是將這串數給倒置了。

選項4:正確

組合語言 王爽第七章

and指令 邏輯與指令,按位進行與運算。兩個位多是1才為1,其他情況都為0。比如 and al,10111111b指令將al的第六位設為0其位不變。or指令 邏輯或指令,按位或指令。兩個位置多是0才為0,其他情況多是1。比如 or al 10000000將al的第八位設為1,其他位保持不變。在計算機...

組合語言程式設計第七章

一 and和or指令 and指令 邏輯與指令,按位進行與運算。通過該指令可以將操作物件的相應位設為0,其他位不變。or指令 邏輯或指令,按位進行或運算。通過該指令可以將操作物件的相應位設為1,其他位不變。二 關於ascii碼 三 以字元形式給出的資料 在匯程式設計序中,用 的形式指明資料是以字元的形...

王爽 組合語言 第四章檢測題分析

1 關於偽指令相關描述錯誤的是 2 1 偽指令沒有對應的機器碼,只用來指導彙編過程的。2 偽指令由編譯器處理,在程式中可有可無。3 編譯器要通過執行偽指令才能對源程式進行相應的處理操作,完成編譯工作。4 偽指令是組合語言源程式不可缺少的組成部分。註解 偽指令是組合語言源程式不可缺少的組成部分。試想,...