汇编语言与计算机组成原理2章3讲.ppt

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言与计算机组成原理2章3讲

* * 三、乘法运算 1. 分析笔算乘法 A = – 0.1101 B = 0.1011 A×B = – 00 . 1 1 0 1 0 . 1 0 1 1 1 1 0 1 1 1 0 1 0 0 0 0 1 1 0 1 0 . 1 0 0 0 1 1 1 1 符号位单独处理 乘数的某一位决定是否加被乘数 4个位积一起相加 乘积的位数扩大一倍 × 乘积的符号心算求得 ? 2.3 2. 笔算乘法改进 A ? B = A ? 0.1011 = 0.1A + 0.00A + 0.001A +0.0001A = 0.1A + 0.00A + 0.001( A +0.1A) = 0.1A + 0.01[0 ? A + 0. 1( A +0.1A)] = 0.1{A +0.1[ 0 ? A+0.1(A + 0.1A)]} = 2-1{A +2-1[ 0 ? A+2-1(A + 2-1(A+0))]} ① ② ⑧ 第一步 被乘数A + 0 第二步 1,得新的部分积 第八步 1,得结果 ③ 第三步 部分积 + 被乘数 … 右移一位 2.3 3. 改进后的笔算乘法过程(竖式) 0 . 0 0 0 0 0 . 1 1 0 1 0 . 1 1 0 1 0 . 1 1 0 1 0 . 0 0 0 0 0 . 1 1 0 1 初态,部分积 = 0 乘数为 1,加被乘数 乘数为 1,加被乘数 乘数为 0,加 0 1 . 0 0 1 1 1 0 . 1 0 0 1 1 1 1 . 0 0 0 1 1 1 1 乘数为 1,加 被乘数 0 . 1 0 0 0 1 1 1 1 1,得结果 1 0 1 1 = 0 . 0 1 1 0 1,形成新的部分积 1 1 0 1 = 0 . 1 0 0 1 1,形成新的部分积 1 1 1 0 = 0 . 0 1 0 0 1,形成新的部分积 1 1 1 1 = 部 分 积 乘 数 说 明 2.3 小结 被乘数只与部分积的高位相加 由乘数的末位决定被乘数是否与原部分积相加, 然后 1 形成新的部分积,同时 乘数 1(末 位移丢),空出高位存放部分积的低位。 硬件 3个寄存器,具有移位功能 一个全加器 2.3 乘法 运算 加和移位。n = 4,加 4 次,移 4 次 4. 原码乘法 (1) 原码一位乘运算规则 以小数为例 设[x]原 = x0.x1x2 xn … [y]原 = y0.y1y2 yn … = (x0 y0). x*y* [x ? y]原 = (x0 y0).(0.x1x2 xn)(0.y1y2 yn) … … 式中 x*= 0.x1x2 xn 为 x 的绝对值 … y*= 0.y1y2 yn 为 y 的绝对值 … 乘积的符号位单独处理 x0 y0 数值部分为绝对值相乘 x* ? y* 2.3 (2) 原码一位乘递推公式 x*? y* = x*(0.y1y2 yn) … = x*(y12-1+y22-2+ + yn2-n) … = 2-1(y1x*+2-1(y2x*+ 2-1(ynx* + 0) )) … … z1 zn z0 = 0 z1 = 2-1(ynx*+z0) z2 = 2-1(yn-1x*+z1) zn = 2-1(y1x*+zn-1) … …… z0 2.3 例2.14 已知 x = – 0.1110 y = 0.1101 求[x ? y]原 解: 2.3 数值部分的运算 0 . 0 0 0 0 0 . 1 1 1 0 0 . 1 1 1 0 0 . 0 0 0 0 0 . 1 1 1 0 0 . 1 1 1 0 部分积 初态 z0 = 0 部 分 积 乘 数 说 明 0 . 0 1 1 1 0 1 . 0 0 0 1 1 0 1 . 0 1 1 0 1 1 0 0 . 1 0 1 1 0 1 1 0 1,得 z4 逻辑右移 逻辑右移 1 1 0 1 = 0 . 0 1 1 1 1,得 z1 0 1 1 0 = 0 . 0 0 1 1 1,得 z2 1 0 1 1 = 0 . 1 0 0 0 1,得 z3 1 1 0 1 = ② 数值部分按绝对值相乘 ① 乘积的符号位 x0 y0 = 1

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档