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

2021-04-30 18:58:02 字數 2177 閱讀 2888

一、在intel8086環境下,下列說法合理的是_____。 3

1、 組合語言程式載入記憶體後處於64k空間以外的資料和指令將無法使用和執行。 

2、 乙個資料段命名為data,此標號代表這個資料段在記憶體中的起始位址。 

3、 如果載入的程式沒有返回語句,那麼當程式**執行完畢,將繼續讀取後續記憶體空間 

儲存的指令到cpu內部作為指令執行下去,直到遇到返回指令為止。 

4、 用dw和dd定義進行的資料,只能夠以字為單位訪問。 

註解:1、可以的執行。我們有段間跳轉啊。同時修改cs,ip就能在各段見穿梭了。

2、見課本p121最下面,乙個資料段命名為data,僅在源程式中存在,cpu並不知道,只有在code段中使用指令mov ax,data,mov ds,ax後cpu才把data段中的內容當資料來使用。

這個解釋本身沒有什麼問題,但是好像不是對於這道題的分析方向。

我覺得段名只是代表了段位址而已,偏移位址每個段預設開始都是0,這個段名應該沒有必要代表。

3、乙個程式結束後,將cpu的控制權交還給使它得以執行的程式,我們稱這個過程為程式返回。程式返回依靠兩句彙編指令「mov ax,4c00h,int 21h」。如果沒有返回指令,程式就不把cpu的控制權交還給使它得以執行的程式,而是繼續執行下去,直到遇到返回指令為止。

4、對資料的操作,應該只和指令有關,和資料的單位無關。【個人理解】

二、在某程式中,定義了262b的資料段data,那麼程式載入記憶體,該段實際占用的記憶體空間是____b。 3

1、 256 

2、 262 

3、 272 

4、 512 

註解:262=16*16+6,段最小16k,且是16的倍數,系統為多餘的6個位元組申請16個位元組的空間,所以實際占用空間為256+16=272b

三、 assume cs:code  

code segment  

start: mov ax,3 

jmp s1 

s: mov bx,0 

mov ax,bx 

s1: mov cx,3 

s2: add ax,2 

loop s2 

s3: mov ax,4c00h 

int 21h 

code ends 

end s  

上面**執行s3處的指令之前,ax的值是_____。 2

1、 9 

2、 6 

3、 5 

4、 2 

註解:本題只需注意最後一句「end s」,即入口點是s,而不是start。

四、assume cs:codesg 

codesg segment 

dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h 

start:mov ax,0 

mov ds,ax 

mov bx,0 

mov cx,8 

s:________ 

add bx,2 

loop s 

mov ax,4c00h 

int 21h 

codesg ends 

end start 

要實現一次用記憶體0:0--0:15單元中的資料改寫程式中定義的資料,新增到空白處的指令序列不能是____。 (1)

1、 mov cs:[bx],ds:[bx] 

2、 mov dx,[bx] 

mov cs:[bx],dx 

3、 push [bx] 

pop cs:[bx] 

4、 mov ax,[bx] 

mov cs:[bx],ax 

註解:

五、某程式有資料段、棧段和**段三部分,如果載入後**段的段位址為x,那麼下列說法正確的是___。 4

1、 可以斷定資料段的段位址是x-2。 

2、 可以斷定棧段的段位址是x-1。 

3、 可以斷定程式psp區的段位址是x-10。 

4、 確定資料段和棧段的段位址與x的關係,要視其大小和在其在源程式中定義的位置關係。 

註解:完成p123頁的試驗5的(1)(2)(3)後就會明白這點。程式載入後,資料段、棧段和**段的段位址有數值上的加減關係,主要與資料段、棧段和**段的位置有關係。

組合語言(王爽)第六章

6.1 在 段中使用資料 程式設計以下8個資料的和,結果存在ax暫存器中,用迴圈累加的方式 想用迴圈,就需要把這些資料儲存在一組位址連續的記憶體單元中,之前提到過應該讓系統來分配空間,因此我們在程式中定義希望處理的資料,這些資料最終會成為程式的一部分寫到可執行檔案中,可執行檔案載入到記憶體中後,這些...

王爽 組合語言 第六章 試驗五 5 答案

網上找了個答案,但是發現不正確,自己寫了個,調出來了.assume cs code a segment db 1,2,3,4,5,6,7,8 a ends b segment db 1,2,3,4,5,6,7,8 b ends c segment db 0,0,0,0,0,0,0,0 c ends ...

組合語言(王爽)前六章複習(上)

組合語言的研究重點放在如何利用硬體系統的程式設計結構和指令集有效靈活地控制系統進行工作。微機原理與介面 pc機及cpu物理結構的全面研究 組成原理 對於計算機一般的結構 功能 效能的研究1.1 1.2 操作 暫存器bx的內容送到ax中 機器指令 1000100111011000 彙編指令 mov a...