【问题标题】:[Emu8086]How to print a decimal number [duplicate][Emu8086]How to print a decimal number [duplicate]
【发布时间】:2014-01-19 16:27:22
【问题描述】:
  • 我的程序从文件中读取数据,计算字数并正确递增计数器变量。

如何打印这个包含十进制数的计数器变量。这是最好的方法。

这是代码:

      mov dx,offset counter
      mov ah,09h
      int 21h

【问题讨论】:

  • 你能说得清楚一点吗?当您说counter 包含十进制数时,您的意思是十进制数的字符串表示形式,以$ 结尾吗?这就是中断想要的。 counter 到底是什么?
  • 计数器中有一个十进制数。例如10

标签: assembly emulation x86-16


【解决方案1】:
or counter,30h   

并关闭字符串 似乎工作正常

【讨论】:

  • 如果counter 小于 10(十进制),这将起作用。
  • 所以你说如果计数器是 11 它不起作用。我明天会测试它...
  • 没错。如果计数器是11(十进制),即Bh,则添加30h 会得到3Bh,它相当于;。这就是你会看到的。要显示更大的数字,您需要将每个十进制数字除/模,并将30h 添加到每个十进制数字以形成 ASCII 数字。形成一个以$ 结尾的数组,然后调用你的软中断来打印字符串。
猜你喜欢
  • 2022-12-02
  • 2022-11-20
  • 2022-12-02
  • 2022-12-01
  • 2022-12-02
  • 2022-12-02
  • 2012-05-14
  • 2022-12-02
  • 2022-12-27
相关资源
最近更新 更多