組合語言檢測點2 2

2021-10-23 04:20:39 字數 594 閱讀 6623

建議先自己思考問題的答案,不懂則返回看書

可以用不同的段位址和偏移位址形成同乙個實體地址

1.給定段位址為0001h,僅通過變化偏移位址,cpu的定址範圍為00010h 到 1000fh

段位址為0001h

基礎位址為00010h

偏移位址範圍為 0000h - ffffh

2.有一資料存放在記憶體20000h單元中,現給定段位址為sa,若想用偏移位址尋到此單元。則sa應滿足的條件是:最小為1001h最大為2000h

已知實體地址為20000h

偏移位址範圍為 0000h - ffffh

則段位址最大為(20000h-0000h)/16=2000h

段位址最小為(20000h-ffffh)/16=(10001)/16

由於段位址1000的最大定址範圍為1ffffh,因此最小的滿足sa條件的段位址應比1000h大1

3.反過來思考一下,當段位址給定為多少,cpu無論怎麼變化偏移位址都無法尋到20000h單元

段位址最小為1001h,當段位址小於1001h,就找不到20000h單元了

組合語言檢測點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...

《組合語言》檢測點9 2

補全程式,利用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...