Assembly 如何在8086汇编程序中使用本地标签?

Assembly 如何在8086汇编程序中使用本地标签?,assembly,dos,x86-16,dosbox,Assembly,Dos,X86 16,Dosbox,我写的很简单 .MODEL small .STACK 100h .DATA liczba dw 0h licznik dw 0 potega dw 1 liczbaString dw ? buff db 26 .CODE Program: mov ax, @DATA mov ds, ax call PobierzString call PetlaIteracjiZnaku ;zwraca do ax

我写的很简单

.MODEL  small

.STACK 100h
.DATA 
    liczba dw 0h
    licznik dw 0
    potega dw 1
    liczbaString dw ?

    buff db 26
.CODE
  Program:
    mov ax, @DATA
    mov ds, ax

    call PobierzString
    call PetlaIteracjiZnaku

    ;zwraca do ax pobraną liczbę
    PetlaIteracjiZnaku PROC
        mov si, liczbaString
        call ZnajdzDlugoscString
        mov si, liczbaString
        add si, 2
        mov bl, 1
        petla:
            xor ax, ax
            mov al, [si]
            cmp al, 24h; sprawdza czy nie jest koniec wprowadzanej liczby '$'
            je return
            sub al, 30h ; odejmuję 30 żeby zamienić znak na liczbę
            mul bx
            add [liczba], ax
            mov ax, bx
            mov bx, 0Ah
            mul bx
            mov bx, ax
            inc si
        jmp petla
        return:
            ret
    PetlaIteracjiZnaku ENDP

    ; ! si - caly string 
    ; - ax - dlugosc stringu
    ZnajdzDlugoscString PROC
        mov al, 0h
        petla:
            mov dl, [si]
            cmp dl, 24h
            je return
            inc al
        jmp petla
        return: 
            ret
    ZnajdzDlugoscString ENDP

    PobierzString PROC
        xor ax,ax
        mov ah, 0Ah 
        mov dx, offset buff
        int 21h     
        mov liczbaString, dx
        ret
    PobierzString ENDP
    Koniec:
    mov     ah, 4ch
    int     21h

    end Program
但是我不能用tasm编译它,因为我得到了错误:

符号已定义:PETLA
已定义符号:返回

如何在程序中使用本地标签?我试图将
.PETLA
%%PETLA
添加到中,但仍然不起作用。

我不知道如何实现这一点…

要在TASM过程中使用本地标签,您需要:

  • 使用
    @
    前缀作为标签名称;及
  • LOCALS@
    放在文件的开头
您可以使用不同的前缀来代替
@
,但
@
是常见的前缀


请参阅。

要在TASM过程中使用本地标签,您需要:

  • 使用
    @
    前缀作为标签名称;及
  • LOCALS@
    放在文件的开头
您可以使用不同的前缀来代替
@
,但
@
是常见的前缀