匯編語(yǔ)言中XLAT查表指令的使用
如何正確使用查表指令XLAT ?
XLAT指令簡(jiǎn)介
①功能:完成一個(gè)字節(jié)的查表轉(zhuǎn)換功能。將DS:[BX+AL]指向的字節(jié)單元的內(nèi)容送給AL。其中,BX存放的是DS段內(nèi)表首元素的偏移地址,AL存放的是表內(nèi)元素相對(duì)于表首的偏移
量。(可以看作是對(duì)一維數(shù)組的訪問(wèn))
②說(shuō)明:使用該指令需要先在數(shù)據(jù)段中建立一張字節(jié)類型的表,該表的最大長(zhǎng)度為256字節(jié)。
簡(jiǎn)單舉個(gè)例子
- 建立一個(gè)字符數(shù)組,其中為26個(gè)大寫英文字 母,使用XLAT指令,獲取其中的字母“z”,并進(jìn)行輸出
data segment arr db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax mov es,ax lea bx,arr mov al,25 xlat ;把a(bǔ)l中的值變?yōu)閇bx+al],即al地址變?yōu)閎x+al mov dl,al mov ah,2 int 21h mov ax,4ch int 21h ends end start
實(shí)例:
設(shè)計(jì)程序(非子程序?qū)崿F(xiàn))利用XLAT指令把十六進(jìn)制數(shù)轉(zhuǎn)換成ASCII碼。假設(shè)ASCII碼存放在以DAT1為首地址的數(shù)據(jù)區(qū)中,對(duì)應(yīng)的16進(jìn)制數(shù)放在以DAT2為首地址的數(shù)據(jù)區(qū)中,轉(zhuǎn)換結(jié)果送以DAT3為首地址的數(shù)據(jù)區(qū)中。分析:在數(shù)據(jù)區(qū)中建立所需要的ASCII碼表。在非子程序結(jié)構(gòu)中直接使用。
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
查表程序設(shè)計(jì)
到此這篇關(guān)于匯編語(yǔ)言中XLAT查表指令的使用的文章就介紹到這了,更多相關(guān)匯編語(yǔ)言XLAT查表指令內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 匯編語(yǔ)言XOR指令:對(duì)兩個(gè)操作數(shù)進(jìn)行邏輯(按位)異或操作(推薦)
- 詳解匯編語(yǔ)言RCL(帶進(jìn)位循環(huán)左移)和RCR(帶進(jìn)位循環(huán)右移)指令
- 常用的匯編指令與技巧(收藏)
- 匯編語(yǔ)言lea指令使用方法解析
- 詳解匯編語(yǔ)言 dup偽指令
- 匯編語(yǔ)言中cmp指令用法筆記與總結(jié)
- 詳解匯編語(yǔ)言MOV指令
- 匯編語(yǔ)言mov指令及基本用法
- 匯編指令-狀態(tài)寄存器、cmp、test、jz等指令詳細(xì)說(shuō)明
- 匯編指令:JO、JNO、JB..的使用方法
- 匯編語(yǔ)言指令大全 X86和X87匯編指令大全(帶注釋)
相關(guān)文章
匯編語(yǔ)言MUL指令無(wú)符號(hào)數(shù)乘法的使用
這篇文章主要介紹了匯編語(yǔ)言MUL指令無(wú)符號(hào)數(shù)乘法的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02匯編語(yǔ)言有關(guān)在屏幕區(qū)顯示字符的四種方法(推薦)
這篇文章主要介紹了匯編語(yǔ)言有關(guān)在屏幕區(qū)顯示字符的四種方法(推薦),每種方法給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02匯編語(yǔ)言:x86匯編指令大全及其注意事項(xiàng)
用最精煉的語(yǔ)言,記錄匯編語(yǔ)言中所有常用或不常用或極其重要的匯編指令及其注意事項(xiàng),以方便自己和讀者進(jìn)行查閱,如有錯(cuò)誤和不足請(qǐng)?jiān)谠u(píng)論區(qū)指出2021-10-10匯編語(yǔ)言中的函數(shù)調(diào)用參數(shù)傳遞及全局與局部變量與“基址”
這篇文章主要介紹了匯編眼中的函數(shù)調(diào)用參數(shù)傳遞以及全局與局部變量與“基址”,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02匯編語(yǔ)言 輸入10個(gè)數(shù)排序并輸出的實(shí)現(xiàn)
這篇文章主要介紹了匯編語(yǔ)言 輸入10個(gè)數(shù)排序并輸出的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01匯編語(yǔ)言指令集之條件轉(zhuǎn)移指令實(shí)現(xiàn)
這篇文章主要介紹了匯編語(yǔ)言指令集之條件轉(zhuǎn)移指令實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01