組合語言問題關於暫存器間接定址問題為什麼間接定址要由三部分組成呢

2022-05-26 02:20:18 字數 2704 閱讀 5542

1樓:匿名使用者

暫存器間接定址,可以這麼來理解:

1、首先必須有一個操作指令,這是必須的,指令做什麼。這是第一部分。

2、既然是暫存器間接定址,當然得有作為媒介的暫存器,這是第二部分。

3、既然是間接定址,當然得有定址的目標,這是第三部分。

2樓:逍遙

為了結構化,比如c的結構體,一個陣列中可能有不同型別的資料(有可能以陣列形式存在),或者乾脆就是多維陣列,

那麼可以用[base+si+bp]表示。

3樓:做而論道

初學者,跟著教材學,就行了。

要是給你講,這個是為什麼,那個是怎麼來的,。。。。。

這個科技發展史,講一遍,得多少時間哪,你一輩子也學不完了。

定址方法越多,應用時,就越方便。

4樓:繫結了qq微信

mov ax, [bx] 暫存器定址

mov ax, [bx + idata] 暫存器相對定址mov ax, [bx + si] 基址変址定址mov ax, [bx + si + idata] 相對基址変址定址我剛學的,希望能幫到你

5樓:

暫存器間接定址,應該是基址或變址+位移量吧。基址+變址+位移量,是相對基址加變址定址吧

立即數定址:mov ax,1234h

暫存器定址:mov ax,bx

儲存器定址包括:

直接定址:mov ax,[1234h]

暫存器間接定址:mov ax,[si]

暫存器相對定址:mov ax,count[si]基址加變址定址:mov ax,[bx][si]相對基址加變址定址:mov ax,mask[bx][si]

暫存器間接定址

6樓:匿名使用者

。。。。實體地址=基地址加偏移地址

定址是20位啊 所以基地址是移位的 這個是基礎吧。。。

2000h+1000h=〔ds為基地址,移位2000h〕〕=20000h+1000h=21000h

7樓:

我們學習的微機原理都是說的16位的,那麼20位的實體地址怎麼尋之呢?必須偏移4位才能出來20位,二進位制為1111=0fh=16十進位制,然後分段讀取即:

實體地址=段暫存器的內容*16+偏移地址

ds是資料段暫存器,ds段暫存器的內容*16相當於左移4位變為20位再在低端16位上加上16位的偏移地址(也叫有效地址),便可得20位的實體地址

2000h*0fh=20000h+1000h=21000h資料段起始地址

彙編 直接定址 和暫存器間接定址 區別 在那裡?

8樓:匿名使用者

mov ax,[2000h]

就是屬於直接定址

mov bx,2000h

mov ax,[bx]

屬於暫存器間接定址

這兩條指令實現功能一樣 你應該可以看出它們的區別了吧一個是直接傳送,另一個顯示寄存到一個暫存器中,然後再傳送

微控制器暫存器間接定址的問題,我是新手

9樓:

理解方式如下:

假如r1暫存器的地址是60h

60h儲存的資料是50h

那麼,mov a,@r1

就是將r1儲存的資料作為地址,這個地址是60h,然後取60h儲存的資料,傳給累加器a。

mov a,@r1 與 mov a ,r1 的區別是:

mov a,r1 表示將r1 儲存的數傳給a明白了吧。。。

10樓:匿名使用者

你想問什麼問題,那就說出來啊,光一個圖,想說明啥

組合語言中大物問題……暫存器間接定址 mov ax,[bx];實體地址=ds× 16+bx 其中的

11樓:匿名使用者

這不是段地址加偏移地址來達到1mb的定址範圍嗎,要找到90300h的地方就用9000h和300h兩個數,9000h*16d=90000h再加300h

12樓:匿名使用者

微機原理,自曝姓名班級老師

組合語言新手問題 基址暫存器和變址暫存器分別是幹什麼的?

13樓:巽

位移量bai一般由立即數提供,可以du使一個8位或zhi16位的立即數。偏移量指的dao是偏內移地址。位移量是偏移量的一容個組成部分。

為了表示偏移地址的方便和靈活,偏移地址可以由幾部分構成。

基址暫存器+變址暫存器可以理解為:

基址暫存器中儲存一個陣列的起始地址,變址暫存器中儲存某個陣列元素與陣列起始之間的相對偏移,加在一起,就是某個元素的偏移地址。

14樓:匿名使用者

位移量一般由立即數提供,可以使一個8位或16位的立即數。偏移量指的是偏移地址。位移量回是偏移量的答一個組成部分。

為了表示偏移地址的方便和靈活,偏移地址可以由幾部分構成。

基址暫存器+變址暫存器可以理解為:

基址暫存器中儲存一個陣列的起始地址,變址暫存器中儲存某個陣列元素與陣列起始之間的相對偏移,加在一起,就是某個元素的偏移地址。

15樓:泉泉流水

bx, si, di 這些都是輔助資料段定址的,ds

在暫存器間接定址方式中,運算元應在中

c.儲存單元 暫存器間接定址方式中,暫存器記憶體放的是運算元的地址,而不是運算元本身,即運算元是通過暫存器間接得到的,因此稱為暫存器間接定址。運算元放在ram某個儲存單元中,該單元的地址又放在暫存器r0或r1中。如要進行算術運算,要計算每班學員各科成績的平均值,可以編一個求平均成績的通用程式,把每位...

組合語言進位與借位的問題

你這裡混淆了兩個概念,無符號數和有符號數。如果你希望得到2 3 1,那麼你應該認為2和 3都是有符號數,既然是有符號數,是否產生借位要看of標誌位,即溢位標誌位 如果你認為2和 3的補碼對應的無符號數253都是無符號數,那麼它們之和為255,沒有產生進位。所以,當你判斷有符號數的時候,不應該看cf來...

微控制器組合語言的程式設計問題

首先教你如何理解jnb和jb,jnb就是jump not bit,這樣不好理解,解釋一下就明白了 jump表示跳轉,not表示0,bit表示該位。它實際是條件判斷語句,意思是 如果該為為0則跳轉,否則繼續下一條。例 jnb p1.1,mark 如果p1.1位為零則跳轉到mark標誌指向的指令,否則繼...