mт、__宠爱 发表于 2011-9-15 19:42:18

求助 实验10,为什么debug中会是这种结果啊!!!!

本帖最后由 mт、__宠爱 于 2011-9-15 19:43 编辑

assume cs:code,ds:data
data segment
db "Beginner's All-purpose Symbolic Instruction Code.",0
data ends
code segment
strat:mov ax,data
      mov ds,ax
   mov si,0
   call letterc
   
   mov ax,4c00h
   int 21h
   
letterc:mov al,
      cmp al,0
je ok
      cmp al,97
      jb s
      cmp al,122      
      ja s

   ;mov ch,0
   ;mov cl,
   ;jcxz ok
      mov al,
      add al,11011111b
mov ,al

s:      inc si
      jmp short letterc
ok:   ret            
code ends
end strat







ytrfamli 发表于 2011-9-15 21:05:44

LZ这是小写转大写的程序吧?恩...

add al,11011111b

应该是and指令才对,对於一个字节的ascii编码2进制第5bit清0.
如果把add结果当成加密倒也蛮有趣的,
可以另外写个解密程序
sub al,11011111b
把这些乱码又变回原本字串,呵呵

mт、__宠爱 发表于 2011-9-16 19:32:34

啊   知道了啊谢谢啊才看见哎真粗心and 居然写成add

小甲鱼 发表于 2011-9-22 01:29:07

mт、__宠爱 发表于 2011-9-16 19:32 static/image/common/back.gif
啊   知道了啊谢谢啊才看见哎真粗心and 居然写成add

问题解决后要改下分类哦~

mт、__宠爱 发表于 2011-9-22 17:25:12

不知道怎么改啊在哪里改啊
页: [1]
查看完整版本: 求助 实验10,为什么debug中会是这种结果啊!!!!