Write message to screen in AT&T assembly

assembly

I'm attemping to write my own bootloader and i'm having issues with writing to the screen. I've found examples using interrupts:

; ---------------------------------------------------------
; Main program
; ---------------------------------------------------------

        mov si, msg             ; Print message
        call putstr

hang:   jmp hang                ; Hang!



; ---------------------------------------------------------
; Functions and variables used by our bootstrap
; ----------------------------------------------------------

msg     db 'Hello Cyberspace!', 0

; Print a 0-terminated string on the screen
putstr:
        lodsb                   ; AL = [DS:SI]
        or al,al                ; Set zero flag if al=0
        jz .done                ; Jump to .done if zero flag is set
        mov ah,0x0E             ; Video function 0Eh
        mov bx,0x0007           ; Color
        int 0x10
        jmp putstr              ; Load characters until AL=0
.done:
        retn

however this is in Intel assembly format. When i attempt to convert to AT&T the opcodes themself are easy to flip but I cant figure out how to declare the message.

as it is I can not use the line

msg db "my string",0

as thats Intel. but if i try to convert it to a simliaraly formed AT&T code such as

msg .byte "test"

I cant assemble it. I have tried assembling with the linux "as" and "nasm"

does anyone know how i declare a string in AT&T format assembly?

Best Answer

Try :

msg: .asciz "test"

There is also .ascii , for without the null terminator.