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...