彙編 debug 實體地址,彙編中的實體地址問題

時間 2023-04-22 10:00:07

1樓:茅好慕淵

你悟到的沒錯啊,在組合語言裡段地址和偏移地址與實體地址有如下關係。

假設段地址為0001

偏移地址為0000

那麼實體地址為。

這個實體地址對應的記憶體正是2662h

答案是正確的嘍。

補充一下,一個實體地址可以有很多種段地址和偏移地址的組合,比如。

可以是。0000和0010的組合,也可以是。

0001和0000的組合。

2樓:匿名使用者

答案是正確的:

實體地址=段地址*10h+偏移地址。題中直接給出了偏移。那麼用ds段定址的時候要*10h,即段地址定位在0010h,而偏移地址為0000h,直接相加,實體地址就在0010h。

題設中給出的debug資訊,在地址0010h上儲存的雙位元組內容正是2662h。高地址為26h,低地址為62h,在16 bit暫存器儲存時,遵循「高高低低」的原則。

另外,debug顯示時,每行的首個資料對應該行的偏移,那個段地址可能對一些初學者有點視覺干擾吧。

3樓:焉湉湉

呵呵,好象你搞混亂了~~0001:0000的實體地址不就是0x10嘛,即第二行第一個雙位元組。

4樓:李白風情口難

ax不久等於2662h嗎?mov ax.[0000]中間是「,」吧,0000是加括號的,這時候表示地址啊,就是把0001:

彙編中的實體地址問題

5樓:匿名使用者

a7f0:2b40h

cs暫存器用於存放當前執行的程式**的所在段的段地址。cs的值乘以16(左移4位)再加上ip暫存器的值便可以確定下一條指令的存放地 址。

6樓:網友

為cs*10h+2b40h=aaa40h

程式從記憶體aaa40h處開始取指令,並執行。

彙編 在debug中如何查詢,檢視某條指令的段地址,偏移地址,邏輯地址,新手求解

7樓:傷皮容

使用u命令可以看到;;;cs是段地址,偏移地址和邏輯地址都是ip

8樓:溫暖wk依然

在一定的範圍內 反匯編出來 就可以看出來了。

如 u100 就可以看出來某條指令相對應的地址。

9樓:手機使用者

debug *.exe 以後,直接用u命令,就能看到指令及他們的地址。

求詳解啊。彙編算實體地址啊。很急很急!

10樓:匿名使用者

看看新編微機原理那本書就好了,這些都是最基本的內容。

編寫組合語言,在debug環境下實現:將記憶體實體地址[1a302h]~[1a401h]位元組單元賦值,賦值為:00h~0ffh

組合語言定址方式以及實體地址

11樓:匿名使用者

1.直接將0abh放入ax暫存器2.直接將bx暫存器資料放入ax暫存器3.

預設定址方式,將段地址2000h(ds暫存器)放入ax暫存器4.指定定址方式,以bx暫存器內容為段地址si暫存器為偏移地址的資料放入ax暫存器裡。段地址加偏移地址等於實體地址,列:

段地址2000h進一位等於20000h加偏移地址0001h等於實體地址20001h。具體的忘了,你可以看一下王爽的書,裡面有的。

12樓:匿名使用者

1,mov ax,oabh 立即定址方式,0abh直接放在**中。

2, mov ax,bx 暫存器定址方式,1100h放在bx中,直接送ax,不需訪問記憶體來取運算元。

3,mov ax,[100h] 直接定址方式,運算元放在ds*10h+100h即20100h開始的實體記憶體中,送ax

4,mov ax,val 直接定址方式,運算元放在ds*10h+3000h即23000h開始的實體記憶體中,送ax

5,mov ax,[bx][si] 基址變址定址方式,bx是基址暫存器,si是變址暫存器,運算元放在ds*10h+1100h+1000h即22100h開始的實體記憶體中,送ax

13樓:

1,mov ax,oabh

立即定址,實體地址=無。

2, mov ax,bx

暫存器定址,實體地址=無。

3,mov ax,[100h]

直接定址,實體地址=20100h

4,mov ax,val

直接定址,實體地址=23000h

5,mov ax,[bx][si]

基址變址定址,實體地址=22100h

彙編 實體地址 偏移地址 段地址 什麼意思?能否形象概述下?

14樓:我喜歡看火影

一塊4gb大小的記憶體。為了好存取裡頭的內容,對它進行物理編址。0,1,2,3,。。

這樣就可以存取資料,比如可以查詢0地址處的內容。

這樣本來就夠了。

但是!我一臺電腦一共也就4gb,都給你一個程式用了,其他人怎麼辦?

所以,用段機制來分割這4gb。這個4gb地址就可以看成一段段0,1,2,。。0,1,2.。。就是段地址了。

這樣每個段就相當於一個4gb來用,(一個段最大可以是4gb)

比如我要取出實際的實體地址3的位置,那麼我就要在第一個段的3位置取出。

比如我要取出實際實體地址100的位置,這個,可能是在第三段第5的位置。

那麼就要段地址為3,偏移地址為5,來找到它。

本來一塊記憶體卡,編上實體地址後,duang,成為了一塊有地址,4gb大小的記憶體卡。

這些都是真的,真的!段地址,偏移地址,都是假的!假的,也是模在真的上面,假的,轉換後,就找到了真的。

這樣是否更清晰?

要是沒有,那就不好意思,耽誤你時間了。

當前行被彙編後的地址

表示當前偏移地址,也就是它所在的位置。舉例說明,定義資料段及資料如下 data segment buff db welcome to you.n equ buff data ends 因為變數buff佔12個位元組,的當前地址就是12 就是它的偏移量 相應的常量n的值也是12。又如,定義 段 cod...

組合語言中test的用法,彙編中的TEST指令

蘇嘉愛娛樂 test對兩個引數 目標,源 執行and邏輯操作,並根據結果設定標誌暫存器,結果本身不會儲存。test ax,bx 與 and ax,bx 命令有相同效果,只是test指令不改變ax和bx的內容,而and指令會把結果儲存到ax中。test命令將兩個運算元進行邏輯與運算,並根據運算結果設定...

邏輯地址為,的實際實體地址是多少

題目及解答如下 某虛擬儲存器的使用者程式設計空間共32個頁面,每頁為1kb,記憶體為16kb。假定某時刻一使用者頁表中已調入記憶體的頁面的頁號和物理塊號的對照表如下 頁號 物理塊號 0 31 7 2 11 3 8則邏輯地址0a5c h 所對應的實體地址是什麼?要求 寫出主要計算過程。解題過程 首先要...