組合語言 十六進製制ASCII碼轉換為二進位制顯示

2021-07-06 10:55:54 字數 1385 閱讀 3684

**:

;把ascii碼(0-9 a-f)轉化成二進位制顯示

;先輸入次數(1-9 a-f) 再轉換

data segment

times db 'times?(1-9)',0dh,0ah,'$'

mesg db 0dh,0ah,'$'

data ends

code segment

assume cs:code,ds:data

beg: mov ax,data

mov ds,ax

mov ah,09h ;9號dos呼叫 顯示輸入times

mov dx,offset times

int 21h

mov ah,01h

int 21h

call asciinum ;輸入引數 al 輸出引數bl

mov bh,0

mov cx,bx

again: push cx

mov ah,09h

mov dx,offset mesg

int 21h

mov ah,01h

int 21h

call asciinum ;輸入引數 al 輸出引數bl

mov ah,02h ;顯示「=」

mov dl,'='

int 21h

call disp ;顯示二進位制值

mov ah,02h ;顯示b

mov dl,'b'

int 21h

pop cx

loop again

mov ax,4c00h

int 21h

asciinum proc ;把ascii轉換成數字 例如 1 轉化成1 a轉化成10 f轉換成15

cmp al,3ah

jc next1

sub al,07h

next1: sub al,30h

mov bl,al

retasciinum endp

disp proc ;disp proc 和 disp endp 也是用來標記子程式 可以直接用標號

mov cx,8

s: mov dl,'0'

rol bl,1

jnc s1

mov dl,'1'

s1: mov ah,02h

int 21h

loop s

retdisp endp

code ends

end beg

結果:

ASCII碼十六進製制轉換表

ascii 表平時會經常用到,特轉一篇文章備用。所謂的ascii和16進製制都只是概念上的東西,在計算機中通通是二進位制 轉換應該是輸出的轉換,同樣是乙個數,在計算機記憶體中表示是一樣的,只是輸出不一樣 ascii是針對字元的編碼,幾乎是鍵盤上的字元的編碼。下面是一張ascii和16進製制的對應表 ...

關於十六進製制和ASCII碼轉換的巨集

在st的官方例程中,看到幾個關於十六進製制和ascii碼關係判斷和轉換方面的巨集,我注釋了一下,儲存下來,供學習 複習 備查。用ascii表示的十六進製制中的大寫字元嗎?define is af c c a c f 用ascii表示的十六進製制中的小寫字元嗎?define is af c c a c...

ascii碼表(二進位制 十進位制 十六進製制)詳細介紹

ascii碼表 控制字元 二進位制 十進位制 十六進製制 縮寫 解釋 0000 0000 0 00 nul 空字元 null 0000 0001 1 01 soh 標題開始 0000 0010 2 02 stx 正文開始 0000 0011 3 03 etx 正文結束 0000 0100 4 04 ...