gpt4 book ai didi

Linux x86 ASM - 获取用户输入

转载 作者:IT王子 更新时间:2023-10-29 01:24:44 26 4
gpt4 key购买 nike

<分区>

希望这是一个简单的问题:

首先,我想知道是否有人知道如何在 Linux 上使用 x86 NASM Syntax Assembly 获取用户输入。现在,我有:

section .data
greet: db 'Hello!', 0Ah, 'What is your name?', 0Ah ;simple greeting
greetL: equ $-greet ;greet length
colorQ: db 'What is your favorite color?' ;color question
colorL: equ $-colorQ ;colorQ length
suprise1: db 'No way '
suprise1L equ $-suprise1
suprise3: db ' is my favorite color, too!', 0Ah

section .bss
name: resb 20 ;user's name
color: resb 15 ;user's color

section .text
global _start
_start:

greeting:
mov eax, 4
mov ebx, 1
mov ecx, greet
mov edx, greetL
int 80 ;print greet

getname:
mov eax, 3
mov ebx, 0
mov ecx, name
mov edx, 20
int 80 ;get name

askcolor:
;asks the user's favorite color using colorQ

getcolor:
mov eax, 3
mov ebx, 0
mov ecx, name
mov edx, 20
int 80

thesuprise:
mov eax, 4
mov ebx, 1
mov ecx, suprise1
mov edx, suprise1L
int 80

mov eax, 4
mov ebx, 1
mov ecx, name
mov edx, 20
int 80

;write the color

;write the "suprise" 3

mov eax, 1
mov ebx, 0
int 80

所以它所做的是询问名称和颜色,然后说,“不可能 --name-- --color-- 也是我最喜欢的颜色。

我需要帮助的是如何找到上面的“name”和“color”变量在用户输入后的长度。否则,我会在它们之间得到一堆又长又讨厌的空格,因为我只知道它们的最大大小是我之前声明的。

感谢您提供的所有帮助。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com