第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何在x86匯編編程中表示十六進(jìn)制值(例如FFFFFFBB)?

如何在x86匯編編程中表示十六進(jìn)制值(例如FFFFFFBB)?

FFIVE 2019-12-30 00:00:38
我正在學(xué)習(xí)x86內(nèi)聯(lián)匯編編程。我想寫mov ecx, FFFFFFBB,但是編譯器無法識(shí)別。這樣的十六進(jìn)制數(shù)字應(yīng)該如何用內(nèi)聯(lián)匯編代碼編寫?
查看完整描述

3 回答

?
阿晨1998

TA貢獻(xiàn)2037條經(jīng)驗(yàn) 獲得超6個(gè)贊

這取決于您的匯編程序的風(fēng)格。

  • AT&T: movl $0xFFFFFFBB, %ecx

  • 英特爾: mov ecx, 0FFFFFFBBh

FYI,AT&T語法由GNU Assembler之類的匯編器使用,而NASM和其他大多數(shù)語言則使用Intel的匯編器



查看完整回答
反對 回復(fù) 2020-01-06
?
米脂

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超3個(gè)贊

請參閱x86標(biāo)簽Wiki,以獲取到匯編器手冊的鏈接,以及許多其他內(nèi)容。


不同的x86匯編器對十六進(jìn)制常量支持以下一種或兩種語法:


0xDEADBEEF:NASM(和兼容),GNUas,F(xiàn)ASM,MSVC內(nèi)聯(lián)匯編(但不是 MASM)

0DEADBEEFh:NASM(和兼容),F(xiàn)ASM,MASM和TASM。

僅限D(zhuǎn)OS / Windows的匯編器通常僅支持...h語法。

便攜式匯編程序通常支持0x...語法,或兩者都支持。


請注意0開頭:數(shù)字常量始終必須以數(shù)字開頭,以將其與符號(hào)名稱區(qū)分開。


還要注意,匯編器(如C編譯器)可以在匯編時(shí)評估表達(dá)式,因此可以編寫foo & 0xF(如果foo是用foo equ 0xABC或定義的匯編器常量)。您甚至可以從標(biāo)簽中添加/減去標(biāo)簽(它們是鏈接時(shí)常量,而不是匯編時(shí)),因此諸如此類的東西mov eax, OFFSET label - 20仍會(huì)匯編為mov r32, imm32。


從NASM手冊的常量部分:


一些示例(都產(chǎn)生完全相同的代碼):


    mov     ax,200          ; decimal 

    mov     ax,0200         ; still decimal 

    mov     ax,0200d        ; explicitly decimal 

    mov     ax,0d200        ; also decimal 

    mov     ax,0c8h         ; hex 

    mov     ax,$0c8         ; hex again: the 0 is required 

    mov     ax,0xc8         ; hex yet again 

    mov     ax,0hc8         ; still hex 

    mov     ax,310q         ; octal 

    mov     ax,310o         ; octal again 

    mov     ax,0o310        ; octal yet again 

    mov     ax,0q310        ; octal yet again 

    mov     ax,11001000b    ; binary 

    mov     ax,1100_1000b   ; same binary constant 

    mov     ax,1100_1000y   ; same binary constant once more 

    mov     ax,0b1100_1000  ; same binary constant yet again 

    mov     ax,0y1100_1000  ; same binary constant yet again

大多數(shù)匯編器還允許使用字符文字,例如'0'ASCII零。甚至'0123'對于打包成32位整數(shù)的四個(gè)ASCII數(shù)字。有些支持轉(zhuǎn)義序列(\n'),有些則支持(例如YASM)。NASM僅支持反引號(hào)內(nèi)的轉(zhuǎn)義序列,而不支持雙引號(hào)。


其他平臺(tái):


ARM匯編器:0xDEADBEEF有效。


我認(rèn)為0x是典型的。0 ... h主要是DOS的東西。



查看完整回答
反對 回復(fù) 2020-01-06
?
皈依舞

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超3個(gè)贊

它取決于您的匯編程序,但是十六進(jìn)制文字的常見表示法是0FFFFFFBBh。

查看完整回答
反對 回復(fù) 2020-01-06
  • 3 回答
  • 0 關(guān)注
  • 694 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)