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位址在什麼...