❶ 求詳解啊。匯編算物理地址啊。很急很急!
1) MOV AX, ES:[1000H] AX=9ABCH 地址:31000H
演算法:ES*10H+1000H 聲明的段寄存器ES
2) MOV AX, [BX] AX=3412H 地址:21000H
演算法:DS*10H+BX 默認段寄存器DS
3) MOV AX, [BX][SI] AX= ? 地址:21001H
演算法:DS*10H+BX+SI 默認段寄存器DS
這道題是不是你哪裡敲錯了,你題中沒有這個21001H 地址
4) MOV AX,[BP+DI] AX=9A78H 地址:41002H
演算法: SS*10H+BP+DI 默認段寄存器SS
方括弧裡面代表地址,比如 mov ax,[bx] 就等於 mov ax,[1000h],冒號代表段前綴,冒號前面的是段寄存器,將以指明的段寄存器定址,段寄存器 * 10H + 後面的地址 即是物理地址,如果沒有指明段前綴,將以默認的段寄存器定址,BX,SI,DI 這3個寄存器默認的段寄存器是 DS,BP的默認段寄存器是SS
❷ 操作系統-物理地址計算
答:邏輯地址0A5C(H)所對應的二進製表示形式是:0000 1010 0101 1100 ,由於1K=2^10,下劃線部分前的編碼為000010,表示該邏輯地址對應的頁號為2。查頁表,得到物理塊號是4(十進制),即物理塊地址為:0001 0010 0000 0000 ,拼接塊內地址0000 0000 0101 1100,得0001 0010 0101 1100,即125C(H)。
❸ 計算物理地址
不知道這是不是你想要的。
計算比較急,你最好驗證一下代入數相加的結果有沒有錯
ADD AX,[1000H] ;直接定址方式EA=DS*10H+1000H=2000H*10H+1000H=21000H
MOV AL,[BX+SI] ;基址加變址定址方式EA=DS*10H+BX+SI=2000H*10H+0100H+00A0H=201A0H
INC CX ;寄存器定址方式 CX
MOV AX,[BX+10] ;寄存器相對定址方式EA=DS*10H+BX+10=2000H*10H+0100H+10H=20110H
MOV AX,[BX] ;寄存器間接定址方式EA=DS*10H+BX=2000H*10H+0100H=20100H
MOV AX,0ABH ;立即定址方式EA=DS*10H+0ABH=2000H*10H+0ABH=200ABH
MOV AX,[BX+SI] ;基址加變址定址方式EA=DS*10H+BX+SI=2000H*10H+0100H+00A0H=201A0H
MOV AX,[100H] ;直接定址方式 EA=100H
MOV AX,[BP] ;寄存器間接定址方式EA=DS*10H+BP=2000H*10H+0010H=20010H
MOV AX,VAL[BX] ;寄存器相對定址方式EA=DS*10H+VAL+BX=2000H*10H+0050H+0100H=20150H
❹ 關於微機中物理地址的計算
首先你要明白二進制,用十進制來做例子,左移一位,右邊補零,相當於乘以十,左移兩位,相當於乘以10的兩次方,即一百,比如241,左移兩位就是24100,就是乘一百。同理,二進制左移一位,相當於乘移2,左移四位,就是2的四次方。
❺ 物理地址的演算法
「H」表示16進制。
物理地址的計算方法是 段地址×10H+偏移地址,所以你說的物理地址是CS×10H+IP=FE00H×10H+0200H=FE000H+0200H=FE200H。
❻ 的物理地址.具體怎麼算
段地址*10H+偏移地址
❼ 2.6 什麼是邏輯地址什麼是物理地址如何由邏輯地址計算物理地址
【解】:物理地址:完成存儲器單元或I/O埠定址的實際地址成為物理地址,CPU型號不同其物理地址也不同。物理地址是指CPU和存儲器進行數據交換時實際所使用的地址,而邏輯地址是程序使用的地址。物理地址由兩部分組成:段基址(段起始地址高16位)和偏移地址。前者由段寄存器給出,後者是指存儲單元所在的位置離段起始地址的偏移距離。當CPU定址某個存儲單元時,先將段寄存器的內容左移4位,然後加上指令中提供的16位偏移地址而形成20位物理地址。在取指令時,CPU自動選擇代碼段寄存器CS,左移4位後,加上指令提供的16位偏移地址,計算出要取指令的物理地址。堆棧操作時,CPU自動選擇堆棧段寄存器SS,將其內容左移4位後,加上指令提供的16位偏移地址,計算出棧頂單元的物理地址。每當存取操作數時,CPU會自動選擇數據段寄存器(或附加段寄存器ES),將段基值左移4位後加上16位偏移地址,得到操作數在內存的物理地址。
❽ 操作系統的物理地址怎麼計算
其實第一條回答是正確的,我在這里為網友們追加一個解釋:
按照書上定義,在頁式存儲系統中,
絕對地址 = 塊號 x塊長 +業內偏移地址。
相對地址 由一段內存的高bit位作為頁號,低bit位作為頁內偏移地址
那重要的一點是,如果找出這三個變數。且看該題:
每頁1KB,說明了,業內偏移地址的范圍是0~1023byte 換句話說,頁內偏移地址佔16bit中的 0-9bit, 那按照相對地址的概念,那10-15 bit就該為頁號地址了。
那麼, 0x0A5C <=> 0000 1010 0101 1100
則前面 0000 10 這6個bit 表示頁號,換算成十進制為 2,也即是頁號為2,再按照頁表推算,即物理塊號就為4, 而4再換算成16進制,即是0001 00;而後面 10 0101 1100 這10個bit位,理所當然的為頁內偏移地址了。 則物理地址就該為0001 00 (占據10-15bit)+ 10 0101 1100 (占據0-9bit) = 0001 0010 0101 1100
他的所謂憑接,其實就是讓0001 00 佔用bit 10-15.
❾ 物理地址的計算方法
20位物理地址計算方法如下:
物理地址=段基址*16d+偏移地址
❿ 根據邏輯地址算出物理地址
邏輯內存為4頁,即2的2次方,所以邏輯地址表示頁號的高位有2位。頁大小為4位元組,即2的2次方,故頁內地址有2位。邏輯地址共4位。邏輯地址0,轉換為二進制為00,00。故頁號為0,頁內地址為0。
而對於邏輯地址5,轉換為二進制為01,01。故頁號為1,頁內地址為1。