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

2021-04-30 22:30:49 字數 2414 閱讀 6151

下列能夠改變cs:ip所指位置並能通過編譯的指令是______。( 4 )

1、  jmp short [bx]

2、  jne [bx]

3、  loop byte ptr [bx]

4、  jmp [bx]

分析:

我在masm5.0上輸入以上命令,只有1、4通過

[bx]中的數,放到jmp short [bx]中可能會出現越界情況

故,選4

對於如下程式: 

assume cs:code

data segment

? data ends

code segment

start:mov ax,data

mov ds,ax

mov bx,0

jmp dword ptr [bx+2]

code ends

end start 

若在指令jmp dword ptr [bx+2]執行後,要使程式再次從第一條指令開始執行,下列對data段中的資料的定義更合理的是______。( 3 )

1、  dd 0,0,0

2、  dw 0,0,0

3、  dw 0,0,seg code 

4、  dw 0,0,offset code

分析:

seg code指的是code段的段位址,

offset code指的是code段的偏移位址。

jmp dword ptr 記憶體單元位址是段間轉移指令,低位址處的字存放的是轉移的目的偏移位址,高位址處存放的是轉移的目的段位址。

故,選3

有如下程式段,填寫2條指令,使程式在執行中將s處的一條指令複製到s0處。( 1 )

assume cs:code

code segment

s: mov ax,bx

mov si,offset s

mov di,offset s0

_______________

_______________

s0: nop

nop

code ends

end s

1、  mov ax,cs:[si]

mov cs:[di],ax

2、  mov ax,cs:[di]

mov cs:[si],ax

3、  mov ax,[si]

mov [di],ax

4、  mov ax,ds:[di]

mov ds:[si],ax

分析:

欲複製程式指令,須使用cx作為段位址,排除3、4選項

2和1剛好反了,正確答案為1

mov cx,0 

s: mov ax,bx 

loop s

以上指令序列執行後mov ax,bx被執行了多少次_____。( 4 )

1、  0

2、  256

3、  65535

4、  65536

分析:

cx決定了loop指令的迴圈次數。

0-1 = 65535

共被執行65535 + 1 = 65536次

注意不要被loop是段內段轉移迷惑

對於指令jmp dword ptr [bx+0dh]的說法錯誤的是______。( 2 )

1、  該指令能夠實現段間轉移。

2、  該指令轉移的目的位址是在指令明確給出的。

3、  該指令轉移的目的位址被存放在記憶體空間中。

4、  該指令中運用的定址方式是暫存器相對定址。

分析:

2錯誤,轉移的目的位址沒有在指令中明確給出。

mov ax,2  

mov cx,3  

s: add ax,2  

s1:loop s  

mov di,offset s1  

mov si,offset s3  

mov ax,cs:[di]  

mov cs:[si],ax  

mov ax,1  

mov cx,3  

s2: add ax,2  

s3: nop  

nop  

所有指令執行完後ax的值為_____。  

1、 15  

2、 7  

3、 11  

4、 3  

分析:

程式中標記綠色的地方,功能是將s:add ax 2這句指令複製到s3中,在這個指令之前計算的ax值和最終結果沒關係

將s3處用add ax,2替換,最終計算得到ax = 7

王爽 組合語言 第九章實驗9

用單迴圈實現的.assume cs codesg,ds datasg datasg segment db welcome to masm db 02h,02h,02h,02h,02h,02h,02h,02h,42h,42h,42h,71h,71h,71h,71h,71h datasg ends co...

王爽《組合語言》第九章實驗9

這個實驗的內容不是太麻煩,雙層的迴圈 前幾章有示例 實驗9內容如下 我的 如下 assume cs codesg,ds datasg datasg segment dw 0 儲存外層的迴圈次數 db 2h 綠色字 db 24h 綠底紅字 db 80h 白底藍字 db 0c2h 紅底綠字 db wel...

王爽 組合語言 第九章 實驗八

輸入程式 assume cs codesg codesg segment mov ax,4c00h int 21h start mov ax,0 s nop nopmov di,offset s mov si,offset s2 mov ax,cs si mov cs di ax s0 jmp sh...