【发布时间】:2017-11-22 05:59:47
【问题描述】:
您好,我是汇编语言的初学者,谁能帮我理解如何处理汇编语言 x86 中的数字。
我在处理任何与数字相关的任务时遇到困难,我无法执行像shl,shr,mul,div 这样的程序,如果有人能解释或分享以下代码,我会非常感谢
喜欢:
Mov Al 2
Mov Bx 2
mul bx
mov dx,bx
mov ah,2
int 21h
但是如果我通过减去30h 来隐藏它,它就不能显示正确的输出,即使它不能显示正确的答案。
【问题讨论】:
-
在汇编中,你读写字符。如果您需要数值,则必须将字符值转换为数字,然后将这些数字组合为您尝试创建的任何类型。见ASCIITable
-
屏幕上的两位数字由两个 ASCII 字符组成。像
mov dl,'2' mov ah,2 int 21h mov dl,'5' mov ah,2 int 21h会在屏幕上输出“25”。在该示例中根本没有使用实际值25。 DOS 没有输出数字的服务。您必须先将数字转换为字符。请参阅:stackoverflow.com/tags/x86/info ...如果您只是学习汇编基础知识,请完全跳过字符串内容,并使用调试器来验证您的数值是否正常。稍后再使用字符串,当您有算术和内存操作经验时。
标签: assembly number-formatting x86-16