+ -
当前位置:首页 → 问答吧 → 菜鸟级问题,救命啊

菜鸟级问题,救命啊

时间:2011-09-09

来源:互联网

今天微机原理课上学了许多8086的运算指令(ADD,IMUL,CMP,INC等)。我想问在使用这些指令时,需要我把操作数转换成补码形式写入指令里吗?还是我直接在指令中使用操作数的真值,计算机自动在内部以补码形式运行,最后输出真值?
在图书馆查了许多书,都没有明确说明这个问题,头都大了

作者: nimingzhe2008   发布时间: 2011-09-09

你当然不需要将操作数转换成补码形式。其实你可以编程试一试,一动手就知道了。

作者: haojiahuo50401   发布时间: 2011-09-09

例如,直接写指令:mov ah,-1。你就不能写成mov ah,0FFh

作者: haojiahuo50401   发布时间: 2011-09-09

微机原理课上连8086汇编语言的开发环境都没有介绍,更不要说调用那些头文件,如何编程。想做实验却无从下手啊。

作者: nimingzhe2008   发布时间: 2011-09-09

引用 1 楼 haojiahuo50401 的回复:

你当然不需要将操作数转换成补码形式。其实你可以编程试一试,一动手就知道了。

追问一句,既然如此,补码还有什么用?只是计算机自动在内部使用吗?

作者: nimingzhe2008   发布时间: 2011-09-09

在计算机内部数据都是补码的形式存储的。至于还有什么用,楼主可以自己google,网上资料多的是。

作者: haojiahuo50401   发布时间: 2011-09-09

引用 2 楼 haojiahuo50401 的回复:
例如,直接写指令:mov ah,-1。你就不能写成mov ah,0FFh
问一下,为什么不能?

作者: Areslee   发布时间: 2011-09-09