tangqy 发表于 2012-1-31 21:27:31

关于书上大小写转换的问题

大小写转换,就是AND或OR将第五位的0或1强制成0或1,我想请问一下,课本上写的原程序是:
*********************************************
assume cs:code ds:data
data segment
db 'BaSiC'
data ends

code segment
    mov bx,0            ;BX=0
    mov al,         ;将DATA段第一个字母放入AL里面,
    and al,00100000    ;将字母转换。
    .
    .
    .
    .
    .
    .

**********************************************
上边的程序,我是否可以写成:
*********************************************
mov bx,0
and ,00100000
***********************************************
就是说不需要用AL来转换,而直接将DATA段里的数据进行“与”操作呢???

小马过河 发表于 2012-1-31 21:27:32

逻辑上无错误但and ,00100000   这里有两处错误1: 二进制数据要加B   00100000b   还有你要小写变大写与各位 都为1则为1 否则为0      11011111b 应该与他相与只与 第5位其他位不变

chao_prince 发表于 2012-1-31 21:49:38

这个,,楼主自己写个实验程序试下就可以知道了。。

不会钓鱼 发表于 2012-2-1 00:22:26

直接对内存数据进行and数据也是支持的。

tangqy 发表于 2012-2-1 21:57:10

谢谢,我明白了,就是说这么操作也是可以的。。

Push 发表于 2012-2-3 17:10:34

要把and ,00100000改成and byte ptr ,11011111

黄种人 发表于 2014-6-27 15:00:49

路过瞅瞅……
页: [1]
查看完整版本: 关于书上大小写转换的问题