鱼C论坛

 找回密码
 立即注册
查看: 3604|回复: 6

[争议讨论] 关于书上大小写转换的问题

[复制链接]
发表于 2012-1-31 21:27:31 | 显示全部楼层 |阅读模式
1鱼币
大小写转换,就是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,[bx]           ;将DATA段第一个字母放入AL里面,
    and al,00100000    ;将字母转换。
    .
    .
    .
    .
    .
    .

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

最佳答案

查看完整内容

逻辑上无错误 但 and ,00100000 这里有两处错误 1: 二进制数据要加B 00100000b 还有你要小写变大写 与 各位 都为1则为1 否则为0 11011111b 应该与他相与只与 第5位 其他位不变
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-1-31 21:27:32 | 显示全部楼层
逻辑上无错误  但  and [bx],00100000     这里有两处错误  1: 二进制数据要加B   00100000b   还有你要小写变大写  与  各位 都为1则为1 否则为0      11011111b 应该与他相与只与 第5位  其他位不变
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-1-31 21:49:38 | 显示全部楼层
这个,,楼主自己写个实验程序试下就可以知道了。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-2-1 00:22:26 | 显示全部楼层
直接对内存数据进行and数据也是支持的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-2-1 21:57:10 | 显示全部楼层
谢谢,我明白了,就是说这么操作也是可以的。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-2-3 17:10:34 | 显示全部楼层
要把and [bx],00100000改成and byte ptr [bx],11011111
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-6-27 15:00:49 | 显示全部楼层
路过瞅瞅……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-1 03:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表