XLAT表忽略某些字符

时间:2015-09-21 15:36:36

标签: assembly lookup

我想使用XLAT来隐藏字符,但是有些字符我想忽略。我是装配新手,所以有些可能不需要。

    .data
        chars db 65 dup (' ')           ;the 65 characters below 'A'
        db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' ;A-Z in uppercase
        db  6 dup(' ')                  ;characters 91-96
        db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' ;a-z in lowercase
        db  133 dup(' ')                ;remaining characters

如果我输入字符串“abc..xyz”。它将正确显示为“ABC..XYZ”。但是,任何特殊字符都显示为空格,这是有道理的,因为这就是我在代码中所拥有的。我的目标是在处理其中一个字符时不写任何内容。我应该写什么而不是db 133 dup('')?

1 个答案:

答案 0 :(得分:1)

cmp al,20h
 je loop #continue loop
 #print logic here 

但你可以在没有xlat的情况下做到这一点。 下面要实现的伪代码

if (  x>='a' && x<='z') print (x-32) //(x and (not 32))
else if (x>='A' && x<='Z') print(x)