【任务】
编写程序,将数据区中定义的以0作为结束符的一个字符串中所有的大写字符,全部转换为小写。

【参考解答】

assume cs:cseg, ds:dseg, ss:sseg
sseg   segment  stack
    dw  100h  dup  (?)
sseg   ends
dseg   segment
    db 'YanTai123University', 0
dseg   ends
cseg   segment
start: mov  ax, dseg
       mov  ds, ax
       mov  ax, sseg
       mov  ss, ax
       mov  sp, 100h

       mov bx, 0
       call strlwr

       mov  ax, 4c00h
       int   21h

;子程序名:STRLWR
;功    能:把字符串中的所有大写字母改写为小写字母
;入口参数:DS∶BX=存放改写所需字符串的缓冲区首地址 
;出口参数:无
strlwr  proc
           push  ax
           push  si
           mov  si,bx
    again: mov  al,[si]
           or al,al
           jz  ok
           cmp  al,'A'
           jb  next
           cmp  al,'Z'
           ja  next
           or  al,20h
           mov  [si],al
     next: inc  si
           jmp  again
       ok: pop  si
           pop  ax
           ret
strlwr  endp
cseg  ends
      end   start