【问题标题】:Read input in NASM, and store it whole into a variable读取 NASM 中的输入,并将其全部存储到变量中
【发布时间】:2013-01-25 09:22:50
【问题描述】:

我可以通过什么方法读取用户的输入,比如输入是“500” 然后将此数字存储在变量中?

我知道的唯一方法是逐个字符地存储它们,可能需要寄存器偏移量。

有没有其他办法,最好是直接存号码?

即类似:

mov var1, inbuffer

环境详情: 32 bit Assembly w/ DGJPP

谢谢。

【问题讨论】:

    标签: variables assembly input store


    【解决方案1】:

    啊……DJGPP,我猜是这样。查看 int 21h/0Ah(ah 中的 0Ah)。或者您可能会更好地使用标准输入上的 readfile 子功能(3Fh ???)。在 Ralf Brown 的中断列表中查找。

    无论如何,您将得到的是字符“5”、“0”和“0” - 35h、30h、30h。需要一些处理才能从中获得数字 500。如果您从左到右读取数字,请将寄存器归零以用作“到目前为止的结果”。从输入缓冲区中读取一个字符。如果它是有效的十进制数字,则减去“0”以将字符转换为数字,将“迄今为止的结果”乘以 10,然后添加新数字。重复直到你的字符用完。

    【讨论】:

      猜你喜欢
      • 2019-02-02
      • 1970-01-01
      • 2019-06-11
      • 2012-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多