(1)按當(dāng)前流行的以 IBM PC 為主機(jī)的開發(fā)系統(tǒng)對匯編語言的規(guī)定,讀者不必再進(jìn)行修改,便可直接使用。
(2)對浮點(diǎn)運(yùn)算子程序庫進(jìn)行了進(jìn)一步的測試和優(yōu)化,對十進(jìn)制浮點(diǎn)數(shù)和二進(jìn)制浮點(diǎn)數(shù)的相互轉(zhuǎn)換子程序進(jìn)行了徹底改寫,提高了運(yùn)算精度和可靠性。
(3)新增添了若干個浮點(diǎn)子程序(傳送、比較、清零、判零等),使編寫數(shù)據(jù)處理程序的工作變得更簡單直觀。
入口條件:待轉(zhuǎn)換的單字節(jié)十六進(jìn)制整數(shù)在累加器A中。
出口信息:轉(zhuǎn)換后的BCD碼整數(shù)(十位和個位)仍在累加器A中,百位在R3中。
影響資源:PSW、A、B、R3 堆棧需求: 2字節(jié)
HBCD: MOV B,#100 ;分離出百位,存放在R3中
DIV AB
MOV R3,A
MOV A,#10 ;余數(shù)繼續(xù)分離十位和個位
XCH A,B
DIV AB
SWAP A
ORL A,B ;將十位和個位拼裝成BCD碼
RET
入口條件:待轉(zhuǎn)換的單字節(jié)十六進(jìn)制小數(shù)在累加器A中。
出口信息:CY=0時轉(zhuǎn)換后的BCD碼小數(shù)仍在A中。CY=1時原小數(shù)接近整數(shù)1。
影響資源:PSW、A、B 堆棧需求: 2字節(jié)
HBD: MOV B,#100 ;原小數(shù)擴(kuò)大一百倍
MUL AB
RLC A ;余數(shù)部分四舍五入
CLR A
ADDC A,B
MOV B,#10 ;分離出十分位和百分位
DIV AB
SWAP A
ADD A,B ;拼裝成單字節(jié)BCD碼小數(shù)
DA A ;調(diào)整后若有進(jìn)位,原小數(shù)接近整數(shù)1
RET
入口條件:待轉(zhuǎn)換的單字節(jié)BCD碼整數(shù)在累加器A中。
出口信息:轉(zhuǎn)換后的單字節(jié)十六進(jìn)制整數(shù)仍在累加器A中。
影響資源:PSW、A、B、R4 堆棧需求: 2字節(jié)
BCDH: MOV B,#10H ;分離十位和個位
DIV AB
MOV R4,B ;暫存?zhèn)位
MOV B,#10 ;將十位轉(zhuǎn)換成十六進(jìn)制
MUL AB
ADD A,R4 ;按十六進(jìn)制加上個位
RET