Я пишу программу, которая запрашивает ваше имя, а затем печатает его так:
<name> is your name?
Вот мой текущий код:
section .data
promptText: db "What is your name: ", 0
promptTextLength: equ $ - promptText
secondText: db " is your name?", 0
section .bss
name resb 15
section .text:
global _start
_start:
; Print prompt message
mov rax, 1
mov rdi, 1
mov rsi, promptText
mov rdx, promptTextLength
syscall
; Get name
mov rax, 0
mov rdi, 0
mov rsi, name
mov rdx, 15
syscall
; Somehow concatenate "name" and "secondText"
; Print second message
mov rax, 1
mov rdi, 1
mov rsi, nameAndSecondText
mov rdx, nameAndSecondTextLength
syscall
; Exit 0
mov rax, 60
mov rdi, 0
syscall
Итак, довольнодобавьте name
и secondText
, затем распечатайте их на терминале.
Однако
Я не хочу просто дважды вызывать SYS_WRITE
, чтобы напечатать обе строки, мне нужнообъединить name
и secondText
в их собственную переменную.
Спасибо!
PS Извините, если я использую неправильную терминологию, я привык к языкам более высокого уровня, таким как Python, Cи т. д.