最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

匯編語言進制轉(zhuǎn)換之16進制轉(zhuǎn)10進制

 更新時間:2020年07月21日 16:41:49   投稿:newname  
這篇文章主要介紹了匯編語言進制轉(zhuǎn)換之16進制轉(zhuǎn)10進制,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

 使用8086匯編,輸入一個16進制的數(shù),程序把該16進制數(shù)轉(zhuǎn)換為相應的10進制數(shù)輸出

程序運行截圖:

要實現(xiàn)這樣一個程序,思路可以是這樣的:

  1.由于我們讀入的鍵盤輸入是ASCII碼表示的,且輸入一個字符便得到一個ASCII碼,如輸入ab,程序中可以得到61h和62h。現(xiàn)在的問題是怎么把這些輸入的字符表示成一個完整的數(shù)。對于這個問題,我們可以把每次輸入的字符的ASCII碼先轉(zhuǎn)換為對應的數(shù),0-9之間的數(shù),根據(jù)ASCII碼表發(fā)現(xiàn)可以用 ASCII碼減30h 得到0-9對應的十六進制數(shù)值,對于a-b,用ASCII碼減57h 得到a-b對應的十六進制數(shù)值。

  2.得到這些對應的數(shù)值之后,要把它們按輸入順序組合起來,這里可以用移位運算來組合,如根據(jù)輸入轉(zhuǎn)換得 1、2兩個十六進制數(shù)值,1的二進制表示為0001,2的二進制表示為0010,把0001左移4位得到00010000,加上0010,得到0001010,00010010表示的便是12h。

  3.把輸入轉(zhuǎn)換為數(shù)值之后就準備要輸出了,可采用除10法得到各個位上的數(shù),如要輸出110,先要把110轉(zhuǎn)為 1、1、0 再把對應的數(shù)值加上30h轉(zhuǎn)為ASCII碼后輸出,把110轉(zhuǎn)換為 1、1、0,110除以10商為11,余數(shù)為0,此時余數(shù)作為個位上的數(shù),得到個位為0;再用上一步的商11作為被除數(shù)除以10,得到商為10,余數(shù)為1,此時余數(shù)作為十位上的數(shù),得到十位為1;重復上述步驟,商1作為被除數(shù)除以10,商0余1,得到百位為1,此時商等于0,算法結(jié)束。

DATAS SEGMENT
  bin dw 10 dup(?)  ;存放二進制結(jié)果
  buf db 5 dup(?)   ;存放十進制數(shù) 各個數(shù)位上的數(shù)值 如100,存放為 1,0,0
  msg1 db 'please input a hex number',13,10,'$'
  msg2 db 'the dec number:',13,10,'$'
  crlf db 13,10,'$'  ;回車換行
DATAS ENDS

CODES SEGMENT
  ASSUME CS:CODES,DS:DATAS
START:
  MOV AX,DATAS
  MOV DS,AX
  
    mov bx,0    ;初始化bx
    
    LEA dx,msg1    ;輸出提示字符串
    mov ah,9
    int 21h
    
 input:
    mov ah,1    ;輸入一個字符
    int 21h
    
    sub al,30h    ;把al中的ascii碼轉(zhuǎn)換成數(shù)值
    jl init
  
    cmp al,10    ;輸入的數(shù)在0-9之間跳轉(zhuǎn)
    jl toBin
    
    sub al,27h    ;再轉(zhuǎn)換為a-f
    cmp al,0ah    ;輸入的字符比a小
    jl init      ;結(jié)束輸入
    cmp al,10h    ;輸入的字符比f大
    jge init    ;結(jié)束輸入
    
 toBin:      ;轉(zhuǎn)換為二進制,把輸入組合成意義上的數(shù)值
    mov cl,4    
    shl bx,cl    ;bx左移4位
    mov ah,0    
    add bx,ax    ;把輸入后并從ascii碼轉(zhuǎn)換來的值與bx相加
    mov bin,bx    ;轉(zhuǎn)換成二進制數(shù)后存到內(nèi)存bin
    jmp input    ;繼續(xù)輸入
    
 init:        ;初始化,準備轉(zhuǎn)換
   mov ax,bin    
   mov bx,10    
   mov si,4    ;循環(huán)四次,最大到萬位
   
 toDec:      ;轉(zhuǎn)為各個數(shù)位上的數(shù)值,如100轉(zhuǎn)換為1,0,0 百位為1...
   mov dx,0    
   div bx      ;除10法得到各個位上的數(shù)值
   mov [buf+si],dl  ;余數(shù)為該位上的值,第一次循環(huán)為個位,第二次為十位...;存到內(nèi)存中
   dec si      
   cmp ax,0    ;商是否為0,為0算法結(jié)束
   ja toDec
 

   lea dx,crlf      ;顯示提示
   mov ah,9
   int 21h
   lea dx,msg2
   mov ah,9
   int 21h
   
 output:        ;輸出內(nèi)存中存放的各個數(shù)位上的數(shù)值
   inc si
   mov dl,[buf+si]
   add dl,30h      ;轉(zhuǎn)為ascii
   mov ah,2
   int 21h
   cmp si,4
   jb output
   
  
  mov ah,1
  int 21h
  MOV AH,4CH
  INT 21H
CODES ENDS
  END START

       到此這篇關于匯編語言進制轉(zhuǎn)換之16進制轉(zhuǎn)10進制的文章就介紹到這了,更多相關匯編 16進制轉(zhuǎn)10進制內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家! 

相關文章

  • 匯編語言實現(xiàn)電子鬧鐘思路詳解

    匯編語言實現(xiàn)電子鬧鐘思路詳解

    這篇文章主要介紹了匯編語言實現(xiàn)電子鬧鐘思路詳解,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • 匯編基礎教程段的定義應用詳解

    匯編基礎教程段的定義應用詳解

    這篇文章主要為大家介紹了匯編基礎教程段的基本定義與應用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2021-11-11
  • 匯編語言環(huán)境搭建軟件與教程

    匯編語言環(huán)境搭建軟件與教程

    這篇文章主要介紹了匯編語言環(huán)境搭建軟件與教程,需要的朋友可以參考下
    2020-01-01
  • 匯編程序 查表求平方的實現(xiàn)

    匯編程序 查表求平方的實現(xiàn)

    這篇文章主要介紹了匯編程序 查表求平方的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02
  • 匯編環(huán)境搭建之如何快速安裝和配置DOSBox

    匯編環(huán)境搭建之如何快速安裝和配置DOSBox

    這篇文章主要介紹了匯編環(huán)境搭建之如何快速安裝和配置DOSBox,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-01-01
  • 詳解如何在Mac上用匯編語言寫HelloWorld

    詳解如何在Mac上用匯編語言寫HelloWorld

    這篇文章主要介紹了詳解如何在Mac上用匯編語言寫HelloWorld,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01
  • 匯編程序設計之DOSBox模擬環(huán)境配置

    匯編程序設計之DOSBox模擬環(huán)境配置

    最近在學習匯編語言設計,然后上網(wǎng)找關于匯編程序的編譯軟件,不負有心人,終于找到了我需要的軟件,值得慶幸
    2023-08-08
  • 什么是匯編語言

    什么是匯編語言

    匯編語言(assembly language)是一種用于電子計算機、微處理器、微控制器或其他可編程器件的低級語言,亦稱為符號語言
    2020-01-01
  • 從Go匯編角度解讀for循環(huán)的問題

    從Go匯編角度解讀for循環(huán)的問題

    Go常用的遍歷方式有兩種:for和for-range。這篇文章主要介紹了從Go匯編角度解讀for循環(huán)的兩個疑點,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • 匯編語言loop命令的具體使用

    匯編語言loop命令的具體使用

    LOOP指令是根據(jù)ECX計數(shù)器循環(huán),將語句塊重復執(zhí)行特定次數(shù),本文主要介紹了匯編語言loop命令的具體使用,感興趣的可以了解一下
    2024-03-03

最新評論

建德市| 修文县| 砀山县| 郸城县| 唐海县| 营山县| 黑龙江省| 修文县| 嘉鱼县| 慈溪市| 邵武市| 南澳县| 安化县| 长丰县| 平顺县| 板桥市| 通海县| 阿合奇县| 荥阳市| 克东县| 基隆市| 个旧市| 乳山市| 两当县| 曲阳县| 枞阳县| 城市| 和龙市| 巨野县| 凤城市| 尤溪县| 渑池县| 黄冈市| 江达县| 堆龙德庆县| 清涧县| 江都市| 黔西县| 肃南| 湖南省| 梁山县|