汇编XLAT指令的应用
来源:互联网 发布:第三方银行数据录入员 编辑:程序博客网 时间:2024/06/05 14:26
XLAT指令可用于数字得加密,比如我们有一个数组array db 3,5,8,2,4,7,9,6,10,33;那么如果仅仅提供0,3,2,4这几个数字,array[0]=3,array[5]=7,array[2]=8,array[4]=4,于是对应数字0,3,2,4的数组中的序列就是3,7,8,4。
在汇编中XLAT指令的作用就是在bx保存array的首地址,AL保存array的位置的基础上,执行XLAT指令,将返回值送入AL指令中.
指令如下指令后AL=5
lea bx,array
mov al,1
xlat ;返回值AL=array[AL]
例题:
(3)编写一个程序,接受从键盘输入的10个十进制数字,输入回车符则停止输入,然后将这些数字加密后(用XLAT指令变换)存入内存缓冲区BUFFER。加密表为:
输入数字:0,1,2,3,4,5,6,7,8,9
密码数字:7,5,9,1,3,6,8,0,2,4
加密后的数字:7591368024
l
代码:
;*********************************************
datarea segment ;define data segment
array db 11
db 11 dup(?)
db "$"
pwd db 7,5,9,1,3,6,8,0,2,4
buffer db 10 dup(?)
datarea ends
;*********************************************
prognam segment ;define code segment
;--------------------------------------
main proc far ;main part of program
assume cs:prognam,ds:datarea
start: ;start execution address
;set up stack for return
push ds ;save old data segment
sub ax,ax ;put zero in ax
push ax ;save it on stack
;save DS register to current data segment
mov ax,datarea ;datarea segment address
mov ds,ax ;into ds register
;MIAN PART OF PROGRAM GOES HERE
mov ah,10
lea dx,array
int 21h
mov cx,10
lea bx,array ;bx存储array的偏移地址
add bx,2
mov cx,9 ;循环九次
mov si,0
encrypt: ;加密
mov al,pwd[si]
xlat
mov buffer[si],al ;将加密后的数写入buffer
inc si
loop encrypt
ret
main endp ;end of main part of prognam
;------------------------------------------
prognam ends
;**********************************************
end start ;end of a
- 汇编XLAT指令的应用
- 32位汇编——XLAT指令
- 换码指令XLAT的使用
- 数据传输指令--xlat
- 查表指令:XLAT
- ARM汇编指令应用总结
- arm汇编实验-arm指令集的应用
- 常用的汇编指令
- 常用的汇编指令
- 汇编的常用指令
- ARM的汇编指令
- 常用的汇编指令
- 常用的汇编指令
- 32位汇编语言学习笔记(25)--xlat指令
- 内联汇编和汇编指令的说明
- 汇编指令与对应的机器指令
- 关于汇编的一些指令
- X86的常用汇编指令
- canvas图像处理
- PHP小知识点
- 最近5年133个Java面试问题列表
- 浅入浅出LuaJIT
- idea maven项目如何使用lib下得jar包
- 汇编XLAT指令的应用
- Java
- OpenLayers介绍
- Android自定义View(一)
- Wannafly挑战赛4 C 割草机
- 印记云打印体验初探
- 递推、计数类Dp专题
- unity生成安卓Logo和名字更换配置
- Ubuntu安装搜狗输入法