2019-408-T45(5)题解

涉及汇编语言

 

字节乘结果16位存于AX中,高8位AH ,低8位AL ;字结果为32位于DX AX中,高16位DX,低16位AX.”高-半为低一 半的符号扩
展”的说法不确切,应该说“位是低位的符号扩展”,低位是指积的值部分,高位指积的符号部分常常是字节乘的结果不足16位字乘的
结果不足32位多出的位怎么办?就进行符号扩展由于多出的位是高位所以叫鎬位符号扩展
比如你的例子,是字节乘 imul bl .
操作为AL * BL结果存于AX中,其中(AH) = FAH,(AL)= F4H 
结果的二进制式为1111010011111010B
显然数值部分是010011111010,加上一位符号位是不足16位的,而符号部分是1111有四位并不是我们习惯的一位这就是进行了位
符号扩展的结果.
为什么要进行扩展?是因为结果的位数在指令中是一定的计算机不可能根据我们结果的实际位数而调整结果的位数,所以不足的位必须补足,这样高位扩展符号的做法是即能够满足结果位数约定,又不影响结果值的正确性的.高位扩展符号的原则是正数填0负数填1.
可以演算一下1111010011111010B (高四位是符号)和101011111010B的实际值是不一样
符号扩展则CF=0; OF=0; 否则CF=1,OF=1 是一种约定或者说是标识在处理结果时,计算机会根据CF、OF的状态判断是否有符号扩
展从而做出相应正确处理
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值