彙編實驗 移位操作

來源:互聯網
上載者:User

  閱讀: 65 評論: 0 作者: mini資料庫 發表於 2009-03-15 16:12 原文連結

最近在上彙編的實驗,把代碼貼上來和大家交流交流。

實驗二     非壓縮/壓縮十進位碼轉換程式的設計與實現(必做)

1.         實驗二:非壓縮/壓縮十進位碼轉換程式的設計與實現。

2.         實驗目的:通過上機編程,熟悉CPU內部的寄存器等組件,掌握基本的組合語言程式結構,並掌握組合語言中移位指令的使用。

      3.         實驗要求:       對於事先設定的一個簡單的十進位數,如“0506h”,通過組合語言將其表示變為壓縮表示,如變為“56h”;

 

                                     高八位     低八位
思路:十六進位數0506h對應16位位元 00000101 00000110

          十六進位數   56h對應16位位元 00000000 01010110

把0506h的高八位左移四位(即變為01010000)然後和其低八位相加,構成56h的低八位

代碼如下:

code segment

start:
    mov dx,0506h ;把立即數0506h賦給寄存器dx,此時寄存器dx的高八位 dh為00000101 低八位dl為00000110
    shl dh,1 ;dx高八位dh向左移 下同
    shl dh,1
    shl dh,1
    shl dh,1 ;最終dh為 01010000
    add dl,dh ;此時把dx的第八位和高八位相加,把結果賦給dl
    sub dh,dh  ;清空dx寄存器的高八位 ()
    mov ah,2 ;把ax的高八位ah賦值為2
    int 21h   ;產生中斷 檢測ah的值 輸出字元 v   
code ends        

end start

 

 

 

 

 

  發表評論

新聞頻道:2010十大科技猜想:超級電容動力汽車將面世

推薦連結:Windows 7專題發布

網站導航:部落格園首頁  個人首頁  新聞  社區  博問  快閃記憶體  知識庫

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.