《組合語言》檢測點9 2

2021-10-07 12:32:16 字數 815 閱讀 6642

補全程式,利用jcxz指令,實現在記憶體2000h段中查詢第乙個值為0的位元組,找到後,將它的偏移位址儲存在dx中。

assume cs:code

code segment

start:

mov ax,

2000h

mov ds,ax

mov bx,

0 s: _______

_______

_______

_______

jmp short s

ok: mov dx,bx

mov ax,

4cooh

int21hcode ends

end start

這個題目邏輯十分簡單,需要注意的一點是,題目的要求是查詢第乙個值為0的位元組,所以不能夠直接把[bx]中的值傳入cx,而是要分兩次傳。

assume cs:code

code segment

start:

mov ax,

2000h

mov ds,ax

mov bx,

0 s: mov cl,

[bx]

mov ch,

0 jcxz ok

inc bx

jmp short s

ok: mov dx,bx

mov ax,

4cooh

int21hcode ends

end start

組合語言檢測點10 4

建議先自己思考問題的答案,不懂則返回看書 這兒用到了bp,除了之前這樣用過bp外 bx bp 還會在棧中用到。比如說,堆疊中壓入了很多資料或者位址,你肯定想通過sp來訪問這些資料或者位址,但sp是要指向棧頂的,是不能隨便亂改的,這時候你就需要使用bp,把sp的值傳遞給bp,通過bp來尋找堆疊裡資料或...

組合語言檢測點11 3

建議先自己思考問題的答案,不懂則返回看書 這兩道題太簡單了,但為了完整的系列,還是寫寫,沒必要分析。a,b 表示此範圍包含a,b a,b 表示此範圍不包含a,b 1 補全下面的程式,f000 0處的32個位元組中,大小在 32,128 的資料的個數。mov ax,0f000h mov ds,ax m...

《組合語言》檢測點10 5

1 下面程式執行之後,ax中的值為多少?assume cs code stack segment dw 8 dup 0 stack ends code segment start mov ax,stack mov ss,ax mov sp,16 mov ds,ax mov ax,0 call wor...