yuri95 发表于 2016-11-24 10:23:12

王爽汇编习题问题

王爽 汇编习题 第二章 最后实验任务,(2)用那三个指令一直做是死循环,并且是16进制,到16的时候ax显示的是10不是16,所以我不太懂,要怎么操作能让ax显示16,然后是死循环,怎么让其停止。不好意思是菜鸟,望回复,谢谢,辛苦各位

zealstar 发表于 2016-11-24 13:29:22

本帖最后由 zealstar 于 2016-11-24 13:35 编辑

电脑内部是用的16进制,所以ax=10相当于16;{:10_266:}
甲鱼有一个关于进制换算的视频,你可以找来看一下。


关于死循环,这个程序实验任务是用debug追踪的吧,用debug的q命令就退出了。

yuri95 发表于 2016-11-24 19:42:00

zealstar 发表于 2016-11-24 13:29
电脑内部是用的16进制,所以ax=10相当于16;
甲鱼有一个关于进制换算的视频,你可以找来看一下 ...

我明白,10H=16,但是要显出2的16次方,怎么显示,我问的是这块。不过还是谢谢您,辛苦了

zealstar 发表于 2016-11-24 20:47:56

本帖最后由 zealstar 于 2016-11-24 21:39 编辑

yuri95 发表于 2016-11-24 19:42
我明白,10H=16,但是要显出2的16次方,怎么显示,我问的是这块。不过还是谢谢您,辛苦了

哦,你问这个啊。
如果要计算超过FFFF值的计算的话,实际上目前的教程里还没有说。

因为2^16=65536,换16进制就是10000; 而16位CPU一个寄存器最大数值就是FFFF(十进制65535),所以如果计算超过65535数值的数字时,需要用到进位计算。这个按目前的教程是没说的。

另一个问题是,可能你问的是如何在屏幕上显示结果?
那么,目前的教程也暂时没有办法做到。我看到第6章,也没找到类似PRINTF之类的命令。可以推论的是,汇编既然是基于机器语言的工具,那么要让屏幕显示某个内容的办法,应该是通过直接操作显卡或者显存来实现的……

目前汇编编译的程序,我们也只有用debug来观察其运行情况,实际你运行这个程序的时候,看不到任何显示,但是计算是已经做了。

兰陵月 发表于 2016-11-25 10:13:19

学到后面你就可以做到了~
页: [1]
查看完整版本: 王爽汇编习题问题