伪指令实例3
用寄存器间接寻址的方法可以对数组进行很方便的存取操作。
如例3,将字符数组的地址变量赋值给bx,只要增加bx的值的大小就可以顺序取出相应地址里存放的字符,再将bx所指向的地址里的值赋值给另外一个寄存器cx,再对cx中存放的值进行大小比较,判断该字符是否属于数字,进而确定是否对其进行简单地加密。
;eg3.将字符串string中非数字的所有字符加密。(该程序写错了!!!)
assume cs:code,ds:data
data segment
string db '123Hello!'
data ends
code segemnt
start: mov ax,data
mov ds,ax
mov bx,offset string
x1: mov cl,[bx] ;cl相当于一个临时变量,专门用于比较大小和重新赋值操作
cmp cl,'0'
jb x2 ;若该字符的ASCII码值小于数字0的ASCII码值,则跳到x2
cmp cl,'9'