"Assembly Language" Third Edition Wang Shuang Experiment 11

Write subroutine

  编写一个子程序,将包含任意字符,以0结尾的字符串中的小写字母转变成大写字母
  名称:letterc
  功能:将以0结尾的字符串中的小写字母转变成大写字母
  参数:ds:si指向字符串首地址

  考察点:cmp指令
       根据无符号数的比较结果进行转移的条件转移指令je jne jb jnb ja jna


  assume cs:codesg
  datasg segment
      db "Beginner's All-purpose Symbolic Instruction Code.",0
  datasg ends

  codesg segment
  begin:  mov ax,datasg
          mov ds,ax
          mov si,0
          call letterc

          mov ax,4c00h
          int 21h
  
  letterc:  push ax
            push si

        s:  mov al,ds:[si]
            cmd al,0
            je end
            cmd al,97H
            jb next
            cmd al,122H
            ja next

            and al,11011111b
            mov ds:[si],al

     next:  inc si
            jmp short s
      end:  pop si
            pop ax
            ret
  codesg ends
  end begin  

Guess you like

Origin blog.csdn.net/Xgggcalled/article/details/113726339