为什么小弟我这段实现不了应有的功能

为什么我这段实现不了应有的功能程序是将小写字母转换成大写字母!assume cs:codedata segmentdb conversa

为什么我这段实现不了应有的功能
程序是将小写字母转换成大写字母!
assume cs:code
data segment
  db 'conversation'
data ends
code segment
start:mov ax,data
  mov ds,ax
  mov si,0
  mov cx,12
  s:mov al,[si]
  call captical
  inc si
  loop s
  mov ax,4c00h
  int 21h
captical:and al,11011111b
  ret
code ends
end start


[解决办法]
因为你没有把大写后的字符从 AL 回填到数据段里