Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly NASM到气体:气体中resw的对应物_Assembly_Nasm_Gnu Assembler - Fatal编程技术网

Assembly NASM到气体:气体中resw的对应物

Assembly NASM到气体:气体中resw的对应物,assembly,nasm,gnu-assembler,Assembly,Nasm,Gnu Assembler,我的任务是将使用NASM的汇编程序转换为GAS。不幸的是,有很多不匹配的语句。我已经转换了其中的一些语句,但我仍然无法转换此语句 min resw 1 使用初始值设定项0保留一个单词非常简单: min: .word 0 对于x86,.字为16位。对于其他大小:.字节、.长、.四元组 如果您想保留一大块,比如说50个单词,请使用.fill或.space指令: buff1: .fill 50, 1, 0 # count, size, value buff2: .sp

我的任务是将使用NASM的汇编程序转换为GAS。不幸的是,有很多不匹配的语句。我已经转换了其中的一些语句,但我仍然无法转换此语句

min resw 1
使用初始值设定项0保留一个单词非常简单:

min:    .word    0
对于x86,.字为16位。对于其他大小:.字节、.长、.四元组

如果您想保留一大块,比如说50个单词,请使用.fill或.space指令:

buff1:  .fill    50, 1, 0     # count, size, value
buff2:  .space   50, 0        # count (bytes), value (defaults to 0)
对于重复模式宽度大于1字节的初始值设定项,采用值和长度:

int_array:  .dcb.l  50, 12345       # 32-bit integer 12345 repeated 50 times
使用初始值设定项0保留一个单词非常简单:

min:    .word    0
对于x86,.字为16位。对于其他大小:.字节、.长、.四元组

如果您想保留一大块,比如说50个单词,请使用.fill或.space指令:

buff1:  .fill    50, 1, 0     # count, size, value
buff2:  .space   50, 0        # count (bytes), value (defaults to 0)
对于重复模式宽度大于1字节的初始值设定项,采用值和长度:

int_array:  .dcb.l  50, 12345       # 32-bit integer 12345 repeated 50 times
你可以试试:

.lcomm min, 2

要为两个字节留出空间,请在bss部分中保留一个字。bss部分的要点是加载程序将分配空间并在加载时将内容设置为零,但它不会占用磁盘上文件的空间

.lcomm是指仅需要从使用.lcomm的文件中引用min。comm是指如果您需要从其他文件引用min,那么链接器将使其可用于其他文件

如果您更喜欢使用data部分,它会将零放在文件中并占用磁盘空间,那么放置在data部分中的这个应该可以工作:

min:
    .fill 2
你可以试试:

.lcomm min, 2

要为两个字节留出空间,请在bss部分中保留一个字。bss部分的要点是加载程序将分配空间并在加载时将内容设置为零,但它不会占用磁盘上文件的空间

.lcomm是指仅需要从使用.lcomm的文件中引用min。comm是指如果您需要从其他文件引用min,那么链接器将使其可用于其他文件

如果您更喜欢使用data部分,它会将零放在文件中并占用磁盘空间,那么放置在data部分中的这个应该可以工作:

min:
    .fill 2
gas有一个.space size,fill指令,它发出大小字节,每个字节的值为fill。大小和填充都是绝对表达式。如果省略逗号和fill,则假定fill为零。gas有一个.space size,fill指令,该指令发出大小字节,每个字节的值为fill。大小和填充都是绝对表达式。如果省略逗号和fill,则假定fill为零。