【问题标题】:How to write a program to find the lowest ODD integer in 68000 assembly? [closed]如何编写程序找到 68000 汇编中的最小奇数整数? [关闭]
【发布时间】:2013-12-08 13:07:07
【问题描述】:

如何编写程序来查找用户输入的一串数字中的最小奇数? 例如:我输入27385,所以3是最小的奇数。

【问题讨论】:

  • 我已经尝试使用程序来读取输入,但我对程序如何测试这些输入以找到最小奇数整数进行了堆叠。
  • 由于您似乎只处理一位整数,因此解决方案非常简单:首先检查输入字符串是否包含'1'。如果是,则 1 是字符串中最小的奇数。否则检查'3',以此类推直到'9'

标签: assembly 68000


【解决方案1】:

您可以利用以下事实:在二进制中,当设置最低位时,数字为奇数,否则为偶数。由于数字的 ASCII 值几乎是数字本身的直接表示,因此您可以按原样使用它,或者从您正在查看的数字 char 中减去 0x30 以获取二进制数。

伪代码(遍历字符串):

  1. 具有高/不可能值 (0xff) 的初始化结果
  2. 读取字符
  3. 如果 char == 0 -> jmp 结束
  4. 子 0x30 ;这并不是真正需要的,取决于预期的输出。
  5. 如果最低位为零 -> jmp 2 ;数是偶数
  6. 如果数字低于当前最小数字 -> 将其存储为新结果
  7. jmp 2
  8. 结束

【讨论】:

    猜你喜欢
    • 2010-10-29
    • 1970-01-01
    • 2013-12-15
    • 1970-01-01
    • 2011-03-25
    • 2016-06-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多