第六章节算术电路_第1页
第六章节算术电路_第2页
第六章节算术电路_第3页
第六章节算术电路_第4页
第六章节算术电路_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第六章节算术电路二進位加法(binary addition)0+0=00+1=11+0=11+1=10註標(subscript)12+12=102 78+18=108910+110=1010F16+116=1016更大二進位數加法111002+110102=11011028位元運算Ex. 6-1 pp. 310Ex. 6-2 pp. 311Ex. 6-3 pp. 312二進位減法(binary subtraction)0-0=01-0=11-1=010-1=1Ex. 1101-1010=11Ex. 6-4 pp. 315無符號二進位數字(unsigned binary numbers)8位元

2、0000 0000 (00H) 1111 1111 (FFH) 010 2551016位元 0000 0000 0000 0000 (0000H)1111 1111 1111 1111 (FFFFH)010 6553510 8位元無符號進行二進位加法運算,若結果大於255則會造成溢位(overflow),即有進位到第9行。大多數微處理機均有一邏輯電路稱為進位旗標(carry flag),偵測是否有溢位,以指示此8位元結果是錯誤的。Ex. 6-5 pp.316Ex. 6-6 pp.317Ex. 6-7 pp.3188位元運算電路只可處理0255間之數。若計算中有溢位時,程式師需以程式察看進位旗標

3、後處理。帶符號數字(sign-magnitude numbers)以MSB表示符號,其餘位元表示大小。+7 0000 0111-16 1001 0000帶符號數字範圍8位元 0000 0001 (+1)1000 0001 (-1)0111 1111 (+127)1111 1111 (-127)16位元 0000 0000 0000 0001 (+1) 0111 1111 1111 1111 (+32767) 1000 0000 0000 0001 (-1)1111 1111 1111 1111 (-32767)待符號數字最大優點是簡單,但所需處理電路較複雜。2的補數表示法(2s complem

4、ent representation),可簡化執行運算所需邏輯電路。1的補數(1s complement)將二進位數字每一位元取補數。例: 1010 01011110 1100 0001 00112的補數 = 1的補數+1例:1011 0101 1110 1100 0001 0100正數與負數MSB=0 正數MSB=1 負數若一數取2的補數即等於改變數字符號。Ex. 3 0011 -3 1101Ex. +23 0001 0111-48 1101 0000 0111 0111 +119 1110 1000 -242的補數表示法,最大負數之大小比最大正數之大小還大1。Ex. 8位元表示法 +127

5、 -128Ex. 6-8 pp.326Ex. 6-9 pp.3262的補數是處理正數及負數最常用之碼。加法 兩數均為正: 83+16=99 0101 0011+0001 0000 = 0110 0011 正數與較它小的負數:125+(-68)=57 0111 1101+1011 1100= 1 0011 1001 正數與較它大之負數:37+(-115)=-78 0010 0101+1000 1101=1011 0010 兩數均為負數:(-43)+(-78)=-121 1101 0101+1011 0010=1 1000 0111任何正數及負數使用2的補數法輸入到加法電路,均可產生正確結果。(但

6、其結果需在-128127內否則會溢位)減法加上一個負數相當於減掉一個正數。所以進行減法時,可將減數取2的補數後加上被減數。 二數均為正數83-16=67 0101 0011+1111 0000= 1 0100 0011 正數及較它小的負數68-(-27)=95 0100 0100+0001 1011= 0101 1111 正數及較它大之負數14-(-108)=122 0000 1110+0110 1100= 0111 1010 兩數均為負數(-43)-(-78)=35 1101 0101+0100 1110=1 0010 0011溢位(overflow)8位元算術運算,可能發生錯誤之處即是其和

7、已超過-128127的範圍。當這種情況發生時,則會發生溢位到符號位元,造成符號變化。加法運算時,當兩數同符號才可能產生溢位。Ex. 100+50=150 0110 0100+0011 0010=1001 0110Ex. (-85)+(-97)=-182 1010 1011+1001 1111=1 0100 1010 溢位是軟體問題而非硬體問題,程式師必須於程式設計中考慮。程式需先進行符號檢查,若兩符號相同,則其相加結果應和此二進位數之符號相同。若符號不同時,則指令應指示電腦使用16位元算術運算。Ex. 6-10 pp.335算術電路基本電路方塊:半加器、全加器、控制反向器。半加器(half a

8、dder)單一位元相加全加器(full-adder)對於更多位元的相加,需採用全加器,方能進行3個位元相加。第三位元來自前一行的進位。CARRY INCARRY OUT控制反向器(controlled inverter)當INVERT為低準位時,可將8位元輸入傳至輸出。當INVERT為高準位時,可將8位元輸入反向後傳至輸出。經由控制反向器,可取得1s的補數。加法-減法器(the adder-subtracter)可用來處理二進位的加減法。所有全加器的進位輸出乃是較其高1位元全加器之進位輸入。SUB=L 加法運算SUB=H 減法運算加法 SUB=0 Ex. 0111 1101+1011 1101=1 0011 1010 125+(-67)=58減法 SUB=1Ex. 0101 0010-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论