相关疑难解决方法(0)

是否有一个符号代表GNU GAS汇编中的当前地址?

我很想知道是否有任何特殊的GAS语法来实现相同的功能,如在NASM示例中:

SECTION .data       

    msg:    db "Hello World",10,0  ; the 0-terminated string.
    len:    equ $-msg              ; "$" means current address.
Run Code Online (Sandbox Code Playgroud)

特别是我对$代表当前地址的符号感兴趣.

assembly gnu gnu-assembler memory-address

15
推荐指数
3
解决办法
5974
查看次数

nasm汇编语言中的$是什么?

这是我的汇编级代码...

section .text
global _start
_start  mov eax, 4
        mov ebx, 1
        mov ecx, mesg
        mov edx, size
        int 0x80
exit:   mov eax, 1
        int 0x80
section .data
mesg    db      'KingKong',0xa
size    equ     $-mesg
Run Code Online (Sandbox Code Playgroud)

输出:

root@bt:~/Arena# nasm -f elf a.asm -o a.o
root@bt:~/Arena# ld -o out a.o
root@bt:~/Arena# ./out 
KingKong
Run Code Online (Sandbox Code Playgroud)

行中的$是多少size equ $-mesg。有人请解释一下所用$符号...

assembly nasm

4
推荐指数
1
解决办法
1072
查看次数

双美元符号在x86汇编(NASM)中意味着什么

表达式是:

times 512-($-$$) db 0
Run Code Online (Sandbox Code Playgroud)

我知道美元符号意味着什么,但我不知道它是什么意思.

双美元符号是什么意思?

x86 assembly nasm

4
推荐指数
1
解决办法
1588
查看次数

$ NAS如何在NASM中工作?

message db "Enter a digit ", 0xA,0xD
Length equ $- message
Run Code Online (Sandbox Code Playgroud)

它用于获取字符串的长度吗?
它在内部如何运作?

x86 assembly nasm

4
推荐指数
1
解决办法
1833
查看次数

NASM中示例代码中$和$$的真正含义

我看到如下代码:

section .data
   db 'hello'
   db  'h', 'e', 'l','l','o'
   data_segment_size  equ $-$$
Run Code Online (Sandbox Code Playgroud)

为什么data_segment_size等于25?我知道$和$$表示什么,但是根据我的书我不明白为什么这个变量是25。也许那本书里有一个错误。

x86 assembly nasm

-2
推荐指数
1
解决办法
1063
查看次数

标签 统计

assembly ×5

nasm ×4

x86 ×3

gnu ×1

gnu-assembler ×1

memory-address ×1