新聞中心

一種匯編查表程序

作者: 時(shí)間:2012-10-12 來(lái)源:網(wǎng)絡(luò) 收藏

作者在開(kāi)發(fā)‘帶拼讀的儀’時(shí),遇到了這樣一個(gè)要求:根據(jù)3個(gè)(聲母的鍵值、韻母的鍵值、四聲鍵的鍵值)確定一個(gè)函數(shù)值(根據(jù)這三者拼出的讀音的代號(hào)),其中的值,函數(shù)的值都是已知的,但它們之間沒(méi)有明確的對(duì)應(yīng)關(guān)系,另外要求判斷是否有對(duì)應(yīng)的函數(shù)值,一般常規(guī)的查表法不能使用,經(jīng)過(guò)一番研究,作者自編了一個(gè)查表程序,解決了這個(gè)問(wèn)題。

一、查表要求:

輸入變量:1)聲母的鍵值,2)韻母的鍵值,3)四聲鍵的鍵值(在47-50間變化)。

輸出結(jié)果:對(duì)應(yīng)的讀音的代號(hào)。

查表要求:根據(jù)輸入判斷是否有對(duì)應(yīng)值,如有,則輸出對(duì)應(yīng)代號(hào),如沒(méi)有,則給出沒(méi)有找到的標(biāo)記。

二、查表程序:

;***************************************

;雙拼拼讀處理

;入口:2EH和2DH中分別存入拼讀的聲母和韻母,2CH中存放拼讀的四聲鍵值,

;出口:找到則返回聲音信號(hào)的序號(hào)值50H中,且06H置1

;如未找到,則06H清'0'

;R6作拼讀總數(shù)計(jì)數(shù)器

;************************************************

J_XH2:

PUSH PSW

MOV R6,#0

MOV DPTR,#J_X2

J2_LP0:

INC R6

CLR A

MOVC A,@A+DPTR

CJNE A,2EH,J2_NOTEQH ;取聲母,比較,不等則轉(zhuǎn)

INC DPTR

MOVC A,@A+DPTR

CJNE A,2DH,J2_NOTEQL ;若聲母等,則韻母,不等轉(zhuǎn)

MOV A,2CH

SUBB A,#47 ;減去47(基數(shù),使鍵值從'0'開(kāi)始,0到3)

MOV R7,A ;R7作四聲鍵值記數(shù)器

J2_LOOP:

CJNE R7,#0,J2_LOOP1 ;R7中的值不為0,則轉(zhuǎn)去循環(huán)

AJMP J2_DONE

J2_LOOP1:

INC DPTR

DEC R7

AJMP J2_LOOP

J2_DONE: ;取數(shù)

INC DPTR

CLR A


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


技術(shù)專(zhuān)區(qū)

關(guān)閉
×

有奖问卷
英飞凌400V CoolSiC™重新定义高性能电源设计的功率密度和效率,含有奖小问卷,限前200名工程师!