欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

匯編語言進制轉(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)換為相應(yīng)的10進制數(shù)輸出

程序運行截圖:

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

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

  2.得到這些對應(yīng)的數(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 再把對應(yīng)的數(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;重復(fù)上述步驟,商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

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

相關(guān)文章

  • 8086匯編開發(fā)環(huán)境搭建和Debug模式介紹(圖文詳解)

    8086匯編開發(fā)環(huán)境搭建和Debug模式介紹(圖文詳解)

    這篇文章主要介紹了8086匯編開發(fā)環(huán)境搭建和Debug模式介紹,本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-01-01
  • 詳解匯編語言MOV指令

    詳解匯編語言MOV指令

    在匯編語言中,MOV指令是數(shù)據(jù)傳送指令,也是最基本的編程指令,這篇文章主要介紹了匯編語言MOV指令,需要的朋友可以參考下
    2020-01-01
  • 匯編語言lea指令使用方法解析

    匯編語言lea指令使用方法解析

    這篇文章主要介紹了匯編語言lea指令使用方法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-01-01
  • 匯編語言指令集之串處理指令講解

    匯編語言指令集之串處理指令講解

    這篇文章主要介紹了匯編語言指令集之串處理指令講解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2020-01-01
  • 一文掌握匯編語言 halt 命令

    一文掌握匯編語言 halt 命令

    匯編 halt 命令,是一條重復(fù)執(zhí)行指定標號的循環(huán)命令。處理器暫停,直到出現(xiàn)中斷或復(fù)位信號才繼續(xù),這篇文章主要介紹了匯編語言 halt 命令,需要的朋友可以參考下
    2023-01-01
  • 匯編語言乘指令 MUL、IMUL的具體使用

    匯編語言乘指令 MUL、IMUL的具體使用

    這篇文章主要介紹了匯編語言乘指令 MUL、IMUL的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02
  • 匯編:Debug的常用命令

    匯編:Debug的常用命令

    DEBUG是專門為匯編語言設(shè)計的一種調(diào)試工具,它通過步進,設(shè)置斷點等方式為匯編語言程序員提供了非常有效的調(diào)試手段
    2023-08-08
  • 匯編語言存儲及寄存器原理解析

    匯編語言存儲及寄存器原理解析

    這篇文章主要介紹了匯編語言存儲及寄存器原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-01-01
  • 匯編語言有關(guān)在屏幕區(qū)顯示字符的四種方法(推薦)

    匯編語言有關(guān)在屏幕區(qū)顯示字符的四種方法(推薦)

    這篇文章主要介紹了匯編語言有關(guān)在屏幕區(qū)顯示字符的四種方法(推薦),每種方法給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • 匯編語言Debug命令詳解教程

    匯編語言Debug命令詳解教程

    這篇文章主要為大家介紹了匯編語言Debug命令的教程,文中對Debug的命令進行了全面的講解有需要的朋友可以借鑒參考共同學習下,希望能夠有所幫助
    2021-11-11

最新評論