組合語言中的符號拓展怎麼理解,有哪些規則

2022-03-14 00:20:12 字數 2500 閱讀 8294

1樓:匿名使用者

就是說比如-1

要寫成因為是有符號數運算,所以要擴充套件

16位數 ffff 是1 的補碼,

20位數fffff 同樣也是1的補碼,

如果不擴充套件,20位數0ffff就不是1 的補碼就是減法變加法

eax-1

擴充套件後eax+ffff/fffff

2樓:做而論道

討論這個問題,實際上是補碼的知識。

和組合語言的關係不大。

另外,組合語言,也是有好多種的。

樓主究竟想要問什麼,想好了再說。

不懂,可以繼續追問。

3樓:

簡單來說,就是把最高位擴充套件到要求的位數。

比如85h(-123)是8位的(最高位為1),如果要求擴充套件到16位,就是0ff85h(-123)。

比如7bh(123)是8位的(最高位為0),如果要求擴充套件到16位,就是007bh(123)。

在組合語言中的符號擴充套件是什麼意思

4樓:america唔話你

就是cbw cwde cdq movzx之類的指令 比如ax = -2 movzx ebx, ax 就是把ax的符號位1,擴充套件到ebx高16位的每一位,然後把低位賦值為ax ax = -2 = 1111 1110 ebx = (hi:1111 1111) (lo:1111 1110) hi裡就是被擴充套件出來的位,lo裡就是從ax裡拷過來的位

誰來解釋一下彙編中的符號擴充套件指令

5樓:手機使用者

比如al = 10000000,這個1所在位是最高位,它的值為1則有效,其他寬度暫存器類推 主要涉及到符號擴充套件的問題(2的補碼裡,最高位表符號)

滿意請採納

組合語言中$符號的意思是什麼?

6樓:匿名使用者

看圖你就會明白。實際上標號x1的首位址為ascii碼c的字單元位址,x2的首位址開始於 db 16 dup (?) 語句,緊接著x1的終止位址,那麼它的首位址相對於x1偏移4 - 1個位元組單元;x2的終止位址相對於其首位址偏移16 - 1個位元組單元,相對於x1偏移18個位元組單元。

那麼$ - x1實際上是當前位址與x1首位址之差。由此可以得出,mov bx, y指令執行後,bx的值為18d,也就是12h。

| …… |

| 43h | ascii: c 4 byte x1

| 00h |

| 44h | ascii: d

| 00h |

| ? | 16 byte x2

……| ? | <--- $

| …… |

(當前位址$與x1首位址之差為18個位元組偏移,等同於x1與x2佔有的位元組單元,不包括x1的首位址和x2的終止位址)

關於偽指令$,它表示位址計數器的當前值,也就是本條指令第乙個位元組的位址偏移,如:

org $ + 8 表示起始位址定位於當前編譯位址第一位元組的後8個位元組處;jmp $ 表示無條件轉移至當前位址,其實際執行效果為永遠停留在當前位址。

又如:array dw 1, 2, $ + 4, 3, 4, $ + 4,可以用圖表示為:

| …… |

| 01h | <--- array 1

| 00h |

| 02h | 2

| 00h |

| 08h | $ + 4 ($相對於array首位址的偏移是4,因此$ + 4 = 8h)

| 00h |

| 03h | 3

| 00h |

| 04h | 4

| 00h |

| 0eh | $ + 4 ($相對於array首位址的偏移是10,因此$ + 4 = 0eh)

| 00h |

| … … |

可見,$用在不同的地方,其表示的當前位址計數是不同的。

7樓:匿名使用者

當前句子的位址

$-x1就是x1+x2總共佔用空間大小

8樓:匿名使用者

是乙個等待符,比如jmp $;他就會一直停在這裡,

9樓:氣憤我不註冊了

就是當前位址。(bx)=18

組合語言中@符號有什麼用?

10樓:匿名使用者

你看一下間接定址那裡,一種定址方式。你發**這句話不懂不要緊。慢慢來。

組合語言中out和in的用法,組合語言中OUT和IN的用法

在8086系列的組合語言中 in指令的意思是從埠中讀取資料,比如 in al,80h,將80h埠資料讀入到al中 out指令的意思是往埠輸出資料,比如 out 80h,al,將al輸出到80h埠 組合語言中,cpu對外設的操作通過專門的埠讀寫指令來完成 讀埠用in指令,寫埠用out指令。例子如下 i...

組合語言中db指令的意義,組合語言中DB指令的意義

db作為組合語言中的偽操作命令,它用來定義運算元佔用的位元組數。在這裡b是byte的縮寫,即位元組,所以,該偽操作所定義的每個運算元佔有1個位元組 8位 如 message db hello 此時,字串 hello 中每個字元會佔用1個位元組,51微控制器中,用於定義位元組的內容。db 指令以表示式...

組合語言中的dec是什麼意思,組合語言中的DEC是什麼意思

組合語言中,dec是減1指令,該指令使運算元的內容減1,然後再送回該運算元。該運算元可以是暫存器運算元 儲存器運算元。例如 dec al al內容減1,然後再送aldec ax ax減內容1,然後再送ax dec cont cont減內容1,然後再送cont 00h 30h 30h,30h位址在什麼...