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