XLAT查表轉換指令

2021-10-03 18:51:20 字數 888 閱讀 5835

xlat指令簡介

首先,我們對xlat 指令進行簡單的介紹:

①功能:完成乙個位元組的查表轉換功能。將ds:[bx+al]指向的位元組單元的內容送給al。其中,bx存放的是ds段內錶首元素的偏移位址,al存放的是表內元素相對於表首的偏移量。(可以看作是對一維陣列的訪問)

②說明:使用該指令需要先在資料段中建立一張位元組型別的表,該錶的最大長度為256位元組。

例項講解

例:設計程式(非子程式實現)利用xlat指令把十六進製制數轉換成ascii碼。假設ascii碼存放在以dat 1為首位址的資料區中,對應的16進製制數放在以dat2為首位址的資料區中,轉換結果送以dat3為首位址的資料區中。

分析:在資料區中建立所需要的ascii碼表。在非子程式結構中直接使用。

.486

data segment

dat1 db 30h,31h,32h,33h,34h,35h,36h,37h,38h,39h

dat2 db 5

dat3 db ?

data ends

code segment

assume cs:code,ds:data

start: mov ax,data

mov ds,ax

lea bx,dat1;將表首位址送給bx

mov al,dat2 ;將偏移量送給al

xlat

mov dat3,al

mov ah,4ch

int 21h

code ends

end start

查表指令 XLAT

組合語言中的查表指令 xlat 使用相對較多,現在,稍微介紹一下它。所謂查表,就是查詢表中元素,具體實現如下。首先,將陣列偏移位址給bx,再將在該陣列中元素的下標值給al,使用xlat指令,即可獲得該元素,該元素放置在al中。下面是例子 lea bx,a mov al,00h xalt下面是使用查表...

32位彙編 XLAT指令

xlat作用 將 bx al 送給 al 簡單 將bx為首 位址的,偏移位址為al的內容送給al。直接看例子 data x dw 1122h,3344h,5566h,7788h code lea bx,x 獲取x的首位址 mov al,03h 將03h作為偏移位址 xlat 結果al為33h。在執行...

vim指令速查表

命令 描述vim filename 開啟或新建檔案,並將游標置於第一行首 vim n filename 開啟檔案,並將游標置於第n行首 vim filename 開啟檔案,並將游標置於最後一行首 vim pattern filename 開啟檔案,並將游標置於第乙個與pattern匹配的串處 vim...