• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      移位寄存器及算術(shù)運(yùn)算應(yīng)用

      2018-03-22 01:31:40梁偉
      電子技術(shù)與軟件工程 2018年1期
      關(guān)鍵詞:左移右移觸發(fā)器

      梁偉

      寄存器被廣泛應(yīng)用于數(shù)字電路和計(jì)算機(jī)中,是由具有存儲(chǔ)功能的觸發(fā)器構(gòu)成的,移位寄存器在移位脈沖作用下依次逐位右移或左移,通過(guò)proteus模擬軟件進(jìn)行直觀分析移位寄存器移位功能,移位功能可應(yīng)用于CPU內(nèi)部寄存器進(jìn)行算術(shù)運(yùn)算。

      【關(guān)鍵詞】移位寄存器 CPU算術(shù)運(yùn)算

      1 移位寄存器

      寄存器被廣泛應(yīng)用于數(shù)字電路和計(jì)算機(jī)中,是由具有存儲(chǔ)功能的觸發(fā)器構(gòu)成的。移位寄存器具有代碼寄存和移位兩個(gè)功能,在移位脈沖的作用下,數(shù)碼如向左移一位,則稱為左移,反之稱為右移。移位寄存器具有單向移位功能的稱為單向移位寄存器,即可向左移也可向右移的稱為雙向移位寄存器。

      2 移位寄存器的算術(shù)運(yùn)算

      如圖1所示為由D觸發(fā)器組成的4位串行輸入-并行輸出左移位寄存器,圖中各觸發(fā)器的CP接在一起作為移位脈沖控制端(CP脈沖同步控制),數(shù)據(jù)從最低位觸發(fā)器D輸入,前一觸發(fā)器輸出端和后一觸發(fā)器D端連接。

      由于CP接在一起作為脈沖控制端,當(dāng)?shù)?個(gè)CP脈沖上升沿到來(lái)時(shí),D1觸發(fā)器輸出Q1是根據(jù)輸入數(shù)據(jù)D改變,D2觸發(fā)器Q2輸出是根據(jù)Q1數(shù)據(jù)改變,D3觸發(fā)器Q3輸出是根據(jù)Q2數(shù)據(jù)改變,D4觸發(fā)器Q4輸出是根據(jù)Q3的數(shù)據(jù)改變。單向右移寄存器移位過(guò)程如下:

      (1)清零,只要=0,觸發(fā)器直接置0。

      (2)接收數(shù)據(jù),當(dāng)=1時(shí),第1個(gè)CP脈沖后,輸入信號(hào)d4d3d2d1=1101左移1位,寄存器狀態(tài)從高位到低位為Q4Q3Q2Q1=0001。

      (3)第2個(gè)CP脈沖后,輸入信號(hào)d4d3d2d1=1101在移2位,寄存器狀態(tài)為Q4Q3Q2Q1=0011。

      (4)第3個(gè)CP脈沖后,輸入信號(hào)d4d3d2d1=1101在移3位,寄存器狀態(tài)為Q4Q3Q2Q1=0110。

      (5)第4個(gè)CP脈沖后,輸入信號(hào)d4d3d2d1=1101在移4位,寄存器狀態(tài)為Q4Q3Q2Q1=1101。

      即在四個(gè)CP脈沖作用后,數(shù)碼d4d3d2d1=1101恰好全部左移位串行輸入寄存器,寄存器輸出狀態(tài)從高位到低位為Q4Q3Q2Q1=1101從四個(gè)觸發(fā)器的輸出端并行輸出,完成串行輸入--并行輸出。要完成向右移位的串行輸入--串行輸出的寄存功能,還需要加入四個(gè)CP脈沖,才能完成寄存器中的1101依次移出,即8個(gè)CP脈沖完成串行輸入-串行輸出。

      寄存器移位功能可應(yīng)用于CPU進(jìn)行算術(shù)運(yùn)算,80X86 CPU內(nèi)部寄存器可以分為程序可見(jiàn)的寄存器和程序不可見(jiàn)的寄存器兩大類:程序可見(jiàn)的寄存器分為段寄存器(CS,DS,ES,SS);數(shù)據(jù)寄存器AX,BX,CX,DX等。數(shù)據(jù)寄存器用來(lái)存放計(jì)算的結(jié)果和操作數(shù),AX累加器,BX基址寄存器,CX計(jì)數(shù)器,DX數(shù)據(jù)寄存器,每個(gè)寄存器又有它們各自的專用目的。AX,BX,CX,DX都是16位的寄存器,每一個(gè)又可以分為高8位和低8位來(lái)使用,AH高8位,AL低8位。

      移位指令實(shí)現(xiàn)對(duì)操作數(shù)移位,包括算術(shù)移位指令、邏輯移位指令和循環(huán)移位指令。SHL和SAL指令的功能相同,使用這組指令除了可以實(shí)現(xiàn)基本的移位操作外,還可以用于對(duì)一個(gè)數(shù)進(jìn)行2n的倍增運(yùn)算,算術(shù)左移和邏輯左移指令SAL(SHL)格式與功能。

      (1)格式:SHL (SAL)OPR,CNT;對(duì)一個(gè)無(wú)(有)符號(hào)數(shù)的進(jìn)行2n的倍增。

      (2)功能:將OPR向左移動(dòng)CNT指定的次數(shù),最低位補(bǔ)入0,CF內(nèi)容為OPR最后移出位的值。

      (3)操作數(shù)的類型:OPR目標(biāo)操作數(shù) 通用寄存器;存儲(chǔ)器。源操作數(shù):1;CL。

      (4)標(biāo)志:根據(jù)結(jié)果設(shè)置ZF,SF,PF,OF,CF;AF未定義。

      (5)編寫(xiě)匯編程序:設(shè)(AL)=0000 1101B=13=0DH,則執(zhí)行5次左移指令后,(AL)=?

      data segment

      FIRST DW ?

      data ends

      code segment

      assume cs:code, ds:data

      start: MOV AX, DATA

      MOV DS, AX

      XOR AX,AX

      mov al,13

      shl al,1

      shl al,1

      shl al,1

      shl al,1

      shl al,1

      mov ah,4ch

      int 21h

      code ends

      end start

      D:\ASMSTU~1\SOURCE\OUT>debug shl.exe

      -ucs:0

      1638:0000 B82F16 MOV AX,162F

      ………

      AX=0000 BX=0000 CX=0353 DX=0000 SP=0080 BP=0000 SI=0000 DI=0000

      1638:0007 B00D MOV AL,0D // (AX)=0000H

      -t //單步運(yùn)行(以下相同)

      AX=000D BX=0000 CX=0353 DX=0000 SP=0080 BP=0000 SI=0000 DI=0000

      1638:0009 D0E0 SHL AL,1 // (AX)=000DH=13

      AX=001A BX=0000 CX=0353 DX=0000 SP=0080 BP=0000 SI=0000 DI=0000

      1638:000B D0E0 SHL AL,1 // (AX)= 001AH=26

      AX=0034 BX=0000 CX=0353 DX=0000 SP=0080 BP=0000 SI=0000 DI=0000

      1638:000D D0E0 SHL AL,1 // (AX)= 0034H=52

      AX=0068 BX=0000 CX=0353 DX=0000 SP=0080 BP=0000 SI=0000 DI=0000

      1638:000F D0E0 SHL AL,1 // (AX)= 0068H=104

      AX=00D0 BX=0000 CX=0353 DX=0000 SP=0080 BP=0000 SI=0000 DI=0000

      DS=162F ES=161F SS=1630 CS=1638 IP=0011 OV UP EI NG NZ NA PO NC

      1638:0011 D0E0 SHL AL,1 // (AX)= 00D0H=208 ,CY=0

      AX=00A0 BX=0000 CX=0353 DX=0000 SP=0080 BP=0000 SI=0000 DI=0000

      DS=162F ES=161F SS=1630 CS=1638 IP=0013 NV UP EI NG NZ NA PE CY

      1638:0013 B44C MOV AH,4C // (AX)= 00A0H=160 , CY=1

      經(jīng)過(guò)匯編程序調(diào)試運(yùn)行,觀察到(AL)=13,每執(zhí)行1次左移指令,(AL)×2,執(zhí)行5次左移指令后,(AX)=00A0H=160,CY=1,有進(jìn)位,256+160=416,即13×32=416。SHL指令功能是可以用于對(duì)一個(gè)數(shù)進(jìn)行2n倍增運(yùn)算,使用這種方法比直接使用乘除法效率要高得多。

      參考文獻(xiàn)

      [1]閻石主編.數(shù)字電子技術(shù)基礎(chǔ)[R].清華大學(xué)電子教研組,2011.

      [2]沈美明,溫冬嬋.IBM-PC匯編語(yǔ)言程序設(shè)計(jì)[D].清華大學(xué),2013.

      作者單位

      大連計(jì)算機(jī)職業(yè)中專 遼寧省大連市 116034

      猜你喜歡
      左移右移觸發(fā)器
      “水溶液中的離子平衡”的“不一定”
      華容道玩法大解密
      太極拳養(yǎng)生八式(上)
      少林與太極(2018年8期)2018-08-26 05:53:58
      主從JK觸發(fā)器邏輯功能分析
      電子世界(2017年22期)2017-12-02 03:03:45
      使用觸發(fā)器,強(qiáng)化安全性
      C語(yǔ)言位運(yùn)算中鮮為人知的事
      軟件工程(2014年5期)2014-09-24 11:53:38
      對(duì)觸發(fā)器邏輯功能轉(zhuǎn)換的分析
      觸發(fā)器邏輯功能轉(zhuǎn)換的兩種方法
      開(kāi)懷一笑
      叶城县| 巩义市| 稷山县| 许昌县| 海口市| 丁青县| 江源县| 科尔| 讷河市| 泗水县| 岢岚县| 韶山市| 昭苏县| 屏东县| 本溪| 宿迁市| 卢氏县| 白山市| 宁国市| 花垣县| 民勤县| 喜德县| 阳西县| 巧家县| 蕲春县| 江永县| 衡阳市| 阿拉尔市| 通州市| 新蔡县| 炎陵县| 钟祥市| 广宁县| 紫金县| 久治县| 嘉祥县| 东莞市| 历史| 安宁市| 涞源县| 西昌市|