999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

匯編語言中關于數據輸出的程序實現

2007-12-31 00:00:00
考試周刊 2007年48期

摘 要:在用匯編語言編程時, 將結果數據按不同的數制形式顯示出來是一個難點。計算機中的機器數是按二進制形式進行處理和存儲的,如何將它們進行轉換,分別按二進制、十進制和十六進制等形式顯示在顯示器上,文章給出了具體的實現方法。

關鍵詞:匯編語言 二進制 十進制 十六進制 顯示

引言

數字計算機中的數據存儲方式是由“0”和“1”組成的二進制碼串,根據不同的需要,我們往往要求數據的顯示形式不一樣,如二進制、十進制、十六進制、八進制等等。在高級程序設計語言中,最后的處理結果都能在顯示器上顯示出來。然而,匯編語言卻沒有相應的輸出命令,而是需要使用DOS功能調用。對每個數的顯示,一般都需要逐位地轉換成ASCII碼,再使用DOS功能調用完成在顯示器上的顯示。使用DOS系統功能調用的一般步驟為:把調用號放入AH中,設置入口參數,然后執行INT 21H指令,最后分析處理出口參數。下面我們探討一下如何將計算機中的數據轉換成所需要的進制并在顯示器上顯示。

一、編程思路與算法

假設在BX寄存器中,存放了一個無符號整數,要求將該數以十進制的形式在屏幕上顯示。

1.編程思路:

在內存中分配一緩沖區。用來存放十進制的每一位。在計算機中所有的數都是以二進制的形式存放的。首先要完成二進制到十進制的轉換,再將每一位轉換成ASCII碼。一般采用“除10取余”法。第一步:將待轉換的數除以10,得到第一個商和余數,再在該余數上加上30H將該余數轉換成ASCII碼,此數就是所求的十進制數的個位;第二步:用剛才的第一個商除以10,得到第二個商和余數,再在該余數上加上30H將該余數轉換成ASCII碼,此第二個余數就是所求的十進制數的十位;……重復這一過程直到商為0。最后送顯示器輸出即可。該題中我們采用DOS系統功能調用的9號功能調用來顯示輸出字符串,入口參數DS:DX置字符串首址,字符串以‘S’結束。

2.程序實現:

Stack segment stack ‘stack’

Dw 32 dup(?)

Stack ends

Data segment

OBUF DB 6 DUP(?)

Data ends

Code segment

Start proc far

Assume ss:stack,cs:code,ds:data

Mov ax,data

Mov ds,ax

MOV SI.,OFFSETOBUF+5

MOV BYTE PTR[SI],‘S’; OBUF的最后一位置“S”

DEC SI

MOV CX,10

MOV AX,BX

AGAIN: MOV DX,0; 無符號數擴展

DIV CX

ADD DL,30H

MOV[SI],DL

DEC SI

CMP AX,0

JNZ AGAIN

INC SI

MOV DX,SI; 首地址送DX

MOV AH,9

INT 21H; 顯示器輸出字符串

Ret

Start endp

Code ends

End start

以上介紹了在匯編語言程序設計中,如何將數按十進制的形式顯示出來的方法。當然,也可以以不同的進制輸出。例:二進制輸出,只需要對二進制的每一位加上30H,再輸出即可。按十六進制輸出時,顯示時只需將原二進制數每4位分成一組,按組求對應的ASCII碼送顯示器即可。ASCII碼與十六進制數字的對應關系為:30H—39H對應數字0—9,41H—46H對應數字A—F,從數字9到A,ASCII碼間隔了7H,這一點在轉換時要特別注意。實際編程中,我們對先BX中的數每次循環左移一組(4位二進制),然后屏蔽掉當前高12位,對當前余下的4位(即1位十六進制數)求其ASCII碼,要判斷它是0—9還是A—F,是前者則加30H得對應的ASCII碼,后者則要加37H才行。以上步驟重復4次,最后送顯示器輸出,就可以完成BX中數以4位十六進制的形式顯示出來。

結語

以上介紹了在匯編語言程序設計中,根據不同的需要,如何把機器數按不同數制形式顯示出來的方法。各種方法中,主要是數據轉換的方法不同,顯示的功能調用指令是一樣的,當然還可以用其他(比如2號功能調用)方法調用顯示功能,這里不再詳細介紹。

參考文獻:

[1]沈美明,溫冬嬋.IBM-PC匯編語言程序設計[M].北京:清華大學出版社,1991.

主站蜘蛛池模板: 日韩a在线观看免费观看| 日韩无码黄色| 精品福利视频导航| 久久动漫精品| 国产亚洲欧美在线人成aaaa| 欧美亚洲一二三区| 国产精品永久免费嫩草研究院| 日韩在线网址| 女人18毛片久久| 久久精品一品道久久精品| 99久久精彩视频| 尤物午夜福利视频| 综合久久久久久久综合网| 极品国产在线| 91精品日韩人妻无码久久| 伊人久久久久久久| 露脸真实国语乱在线观看| 91久久夜色精品国产网站| 色婷婷成人| 小说区 亚洲 自拍 另类| 久久网欧美| 国产成人亚洲欧美激情| 伊人天堂网| 欧亚日韩Av| 国产成人毛片| 亚洲综合中文字幕国产精品欧美 | 日韩欧美高清视频| 久久久久久国产精品mv| 在线精品视频成人网| 亚洲AV成人一区国产精品| 久久公开视频| 亚洲AV成人一区国产精品| 中文无码精品a∨在线观看| 中国一级特黄视频| 色视频久久| 国产精品亚洲一区二区三区z| 色网站在线免费观看| 亚洲床戏一区| 久久99国产综合精品1| 欧美专区在线观看| 国模极品一区二区三区| 免费人欧美成又黄又爽的视频| 萌白酱国产一区二区| 国产国产人免费视频成18| 国产在线视频二区| 2021国产乱人伦在线播放| 亚洲综合亚洲国产尤物| 成人永久免费A∨一级在线播放| 少妇精品在线| 色婷婷在线影院| 久久久久久久久久国产精品| 台湾AV国片精品女同性| 凹凸精品免费精品视频| 亚洲欧美在线综合图区| 欧美精品色视频| 伊伊人成亚洲综合人网7777| 欧美精品高清| 最新国语自产精品视频在| 亚洲天堂网在线观看视频| 亚洲国产精品一区二区第一页免| 激情综合五月网| 麻豆AV网站免费进入| 国产精品欧美日本韩免费一区二区三区不卡 | 国内精品久久人妻无码大片高| 午夜国产理论| 日韩无码视频网站| 日韩无码视频播放| 四虎成人精品在永久免费| 亚洲一区二区约美女探花| 国产成人久久777777| 成人午夜免费观看| 久久人人97超碰人人澡爱香蕉 | 久久免费成人| 亚洲香蕉在线| 最新加勒比隔壁人妻| 欧美精品亚洲精品日韩专区va| 精品国产女同疯狂摩擦2| 欧美在线观看不卡| 日韩中文无码av超清| 尤物精品视频一区二区三区| 国产婬乱a一级毛片多女| 91精品国产自产91精品资源|