interig 发表于 2010-6-27 23:51:46

A是一个16位的寄存器,B是一个8位的寄存器请教一行代码的含义

assignA = {{9{B}},B};<br>
就是上面的代码,A是一个16位的寄存器,B是一个8位的寄存器。表面意思是把9个B的最高位和B连接起来传给A,<br>
但是其深层的含义是什么?<br>
<br>
模糊的记得曾经看到过类似的代码,跟上面的有点不一样,是实现除 2,除4,也就是右移 1、2、3、...位的功能;<br>
<br>
难道上面的也是实现一个移位的操作嘛?期待大家的回答!!!!

usb 发表于 2010-6-28 00:18:43

觉得应该是符号扩展吧!!

CCIE 发表于 2010-6-28 01:25:18

还是不太明白?

interi 发表于 2010-6-28 03:09:09

对,应该是有符号位的扩展

encounter 发表于 2010-6-28 04:58:27

对,是符号扩展<br>

        http://bbs.vibesic.com/images/smilies/default/smile.gif

CHA 发表于 2010-6-28 06:45:35

非常感谢了&nbsp;&nbsp;。。

UFO 发表于 2010-6-28 07:25:25

楼主代码的右边好象是17位啊

UFO 发表于 2010-6-28 08:56:10

9+8=17....楼住我也觉的是这样啊 是不是我们理解错了 <br>
<br>
符号扩张 是没问题的拉

AAT 发表于 2010-6-28 10:14:31

嗯,学习了,唉,发现自己不知道什么是符号扩展

ATA 发表于 2010-6-28 11:10:39

就是个符号扩展啊
页: [1] 2 3
查看完整版本: A是一个16位的寄存器,B是一个8位的寄存器请教一行代码的含义