汇编编程中重新定义错误 asm
redefined error asm in assembly programming
我正在学习汇编代码,这是我的最大公约数 (GCD) 代码,在尝试编译代码后,出现以下错误:
错误:符号'etq1'重新定义
错误:符号 'etq2' 重新定义
segment .data
r db 0
segment .bss
segment .text
global _main
extern _printf
_main:
mov al,[200]
mov bl,[201]
etq1: cmp al,bl
jb fin
etq2: call PGCD
mov [202],bl
fin:
ret
这是调用函数
;
function
PGCD:
mov [r],al
reste: cmp [r],bl
jb etq1
sub [r],bl
etq1: cmp [r],0
jne etq2
etq2: mov al, bl
mov bl,[r]
jmp PGCD
ret
您的 asm 源代码中的所有标签都是全局的。本地标签(可见范围较小的标签)通常具有特殊的语法。例如nasm
gives special treatment to symbols beginning with a period. A label beginning with a single period is treated as a local label, which means that it is associated with the previous non-local label.
ARM asm 允许数字标签等。您必须阅读有关汇编程序的文档以找出具体的语法。
我正在学习汇编代码,这是我的最大公约数 (GCD) 代码,在尝试编译代码后,出现以下错误:
错误:符号'etq1'重新定义
错误:符号 'etq2' 重新定义
segment .data
r db 0
segment .bss
segment .text
global _main
extern _printf
_main:
mov al,[200]
mov bl,[201]
etq1: cmp al,bl
jb fin
etq2: call PGCD
mov [202],bl
fin:
ret
这是调用函数 ;
function
PGCD:
mov [r],al
reste: cmp [r],bl
jb etq1
sub [r],bl
etq1: cmp [r],0
jne etq2
etq2: mov al, bl
mov bl,[r]
jmp PGCD
ret
您的 asm 源代码中的所有标签都是全局的。本地标签(可见范围较小的标签)通常具有特殊的语法。例如nasm
gives special treatment to symbols beginning with a period. A label beginning with a single period is treated as a local label, which means that it is associated with the previous non-local label.
ARM asm 允许数字标签等。您必须阅读有关汇编程序的文档以找出具体的语法。