主题:[求助]新手请教1个关于汇编的初级问题
martyrofdesire
[专家分:0] 发布于 2006-08-09 22:44:00
大家好,我是个初学者,想开始了解一下汇编,有个问题请教一下大家~
今天在一本入门级的书中看到这样一句话,意思是说“mov ax,3 中的3是一个16位的字”,我的理解是:3转换成机器语言就是16个0和1。但是我有点想不明白,“3”是一个字节,应该是8位啊?照我这样理解,运算启不是越来越慢了吗?呵呵,有点弱智的问题,但是我的确不太明白~
回复列表 (共3个回复)
沙发
peimichael [专家分:300] 发布于 2006-08-10 00:00:00
ax决定了3是16位的
如果用al,3就是8位
eax-->32位
板凳
martyrofdesire [专家分:0] 发布于 2006-08-10 19:51:00
呵呵,总算明白一些了,我是这样理解的:
16位之所以比8位快,就是因为它有16位数据线,一次可以传送16个0或1,所以只要任一个十进制数(例如自然数35566)转成二进制后大于8位的,那么16位的优势便显示出来了。。但是16位又规定了一次必须传送16个0或1,所以不足16位的十进制数便在左边补零,同理,在键盘上某一个英文字母或功能键都规定了自己的二进制代码,我想应该是8位吧,所以当我们要在内存里存一个单词“word”的话,那么16位传2次,而8位却要传4次。。。
我这样理解正确吗?请教教我吧,谢谢了!
3 楼
awfiujff [专家分:110] 发布于 2006-08-17 19:34:00
2楼讲的很不错~~
我来回复