c語(yǔ)言必背100代碼 匯編語(yǔ)言XLAT指令的使用方法?
匯編語(yǔ)言XLAT指令的使用方法?Xlat是一個(gè)表查找指令,它將BX指向表的第一個(gè)地址。要轉(zhuǎn)換的參數(shù)放在al中。例如,下列程序段buf DB 3fh、06h、5bh、4fh、66h、6dh、7dh、07
匯編語(yǔ)言XLAT指令的使用方法?
Xlat是一個(gè)表查找指令,它將BX指向表的第一個(gè)地址。要轉(zhuǎn)換的參數(shù)放在al中。例如,下列程序段buf DB 3fh、06h、5bh、4fh、66h、6dh、7dh、07h、7FH、6fh lea BX、buf mov al、01h xlat被送到數(shù)碼管顯示,并顯示“1”。
換言之,xlat可用于代碼系統(tǒng)轉(zhuǎn)換
匯編語(yǔ)言查表指令xlat(翻譯)。查找指令xlat(xlat:字節(jié)查找轉(zhuǎn)換)。指令格式:xlat table,其中table是要查找的表的第一個(gè)地址。指令功能:將要查找的表的一個(gè)字節(jié)發(fā)送給Al累加器。在執(zhí)行指令之前,先將表發(fā)送到BX寄存器,然后將要檢查的字節(jié)及其從表中第一個(gè)地址的位移發(fā)送到Al,即Al
xlat是表查找指令,BX指向表的第一個(gè)地址。在Al中是要轉(zhuǎn)換的參數(shù),如bufdb3fh、06h、5bh、4fh、66h、6dh、7dh、07h、7FH、6fhleabx、bufmoval、01hxlat再發(fā)送數(shù)碼管顯示,將顯示“1”。也就是說(shuō),xlat可以用于代碼系統(tǒng)轉(zhuǎn)換
xlat指令功能:將要查找的表的一個(gè)字節(jié)內(nèi)容以DS:[BX al]作為地址發(fā)送給al累加器。在執(zhí)行指令之前,數(shù)據(jù)表的偏移地址被發(fā)送到BX,數(shù)據(jù)表中要檢查的字節(jié)的偏移指針被發(fā)送到al。應(yīng)用程序示例:
匯編語(yǔ)言中XLAT是什么意思?
讓我給您一個(gè)示例:
例如,在數(shù)據(jù)段中定義以下數(shù)據(jù):
數(shù)據(jù)段
xxx1 DB?
XXX2分貝?
Table DB“txsb”
data ends
然后執(zhí)行以下指令:
(MOV ax,data MOV DS,ax,我不會(huì)把它們寫(xiě)出來(lái),你知道通道段寄存器指向數(shù)據(jù)段)
]MOV Al,0
MOV BX,offset Table
xlat
執(zhí)行后,Al中的數(shù)據(jù)是T的ASCII碼,如果前一個(gè)Al中的值是1,則執(zhí)行后,Al中的數(shù)據(jù)是X的ASCII碼,2是s,3是b
xlat稱(chēng)為換碼指令。顧名思義,必須改變。事實(shí)上,它的功能是將一個(gè)數(shù)據(jù)轉(zhuǎn)換為另一個(gè)數(shù)據(jù),前提是轉(zhuǎn)換后的數(shù)據(jù)和預(yù)轉(zhuǎn)換后的數(shù)據(jù)之間沒(méi)有相應(yīng)的邏輯沒(méi)有人關(guān)心您是否要使用xlat。例如,txsb的ASCII碼與0、1、2、3之間沒(méi)有對(duì)應(yīng)關(guān)系。Xlat對(duì)于快速數(shù)據(jù)轉(zhuǎn)換非常有用
另外,Xlat SS:[BP]你說(shuō)的bluewander我試過(guò)了。編譯之后,它仍然是xlat。Xlat似乎忽略了所有的操作數(shù)。我查了一下說(shuō)明書(shū),好像沒(méi)有你說(shuō)的表格?]我昨晚兩點(diǎn)鐘回答??戳藥讉€(gè)小時(shí)的動(dòng)畫(huà)片后,我有點(diǎn)困惑-