gpt4 book ai didi

linux - 汇编语言接受用户输入但显示输出

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:57:03 25 4
gpt4 key购买 nike

我写了这段代码,它从用户那里读取数据但没有显示输出。它是用汇编语言编写的。我是汇编语言的新手。有人可以帮我解决这个问题吗?我将非常感激。提前致谢。这是代码:

section  .data ;Data segment
userMsg db 'Please enter a number: ' ;Ask the user to enter a number
lenUserMsg equ $-userMsg ;The length of the message
dispMsg db 'You have entered: '
lenDispMsg equ $-dispMsg

section .bss ;Uninitialized data
num resb 5
section .text ;Code Segment
global _start
_start:
;User prompt
mov eax, 4
mov ebx, 1
mov ecx, userMsg
mov edx, lenUserMsg
int 80h

;Read and store the user input
mov eax, 3
mov ebx, 2
mov ecx, num
mov edx, 5 ;5 bytes (numeric, 1 for sign) of that information
int 80h
;Output the message 'The entered number is: '
mov eax, 4
mov ebx, 1
mov ecx, dispMsg
mov edx, lenDispMsg
int 80h

;Output the number entered
mov eax, 4
mov ebx, 1
mov ecx, num
mov edx, 5
int 80h
; Exit code
mov eax, 1
mov ebx, 0
int 80h

最佳答案

在典型环境中,文件描述符 0 代表标准输入,1 代表标准输出,2 代表标准错误输出。

从标准错误输出中读取对我来说毫无意义。

尝试改变阅读程序

   ;Read and store the user input
mov eax, 3
mov ebx, 2
mov ecx, num
mov edx, 5 ;5 bytes (numeric, 1 for sign) of that information
int 80h

   ;Read and store the user input
mov eax, 3
mov ebx, 0
mov ecx, num
mov edx, 5 ;5 bytes (numeric, 1 for sign) of that information
int 80h

为了让系统从标准输入中读取一些数据。

关于linux - 汇编语言接受用户输入但显示输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33862952/

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