⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 7_1.asm

📁 从键盘输入一个字符串,先把它原样显示一遍 然后将其中的小写字母转换为大写显示,再将其中的大写字母转换为小写显示,最后将其中的大小写字母互换显示.显示字符串的功能调用采用宏,大写转换,小写转换和大小写互
💻 ASM
字号:
       PRINT  MACRO
              LEA       DX,MSG2
              MOV       AH,09H
              INT       21H

              LEA       DX, STRS
              MOV       AH, 09H
              INT       21H
	
              LEA       DX,MESS
              MOV       AH,09H
              INT       21H
	
              LEA       DX,MSG3
              MOV       AH,09H
              INT       21H

              LEA       DX, STRU
              MOV       AH, 09H
              INT       21H
	
              LEA       DX,MESS
              MOV       AH,09H
              INT       21H

              LEA       DX,MSG4
              MOV       AH,09H
              INT       21H     

              LEA       DX, STRL
              MOV       AH, 09H
              INT       21H
	
              LEA       DX,MESS
              MOV       AH,09H
              INT       21H
    
              LEA       DX,MSG5
              MOV       AH,09H
              INT       21H

              LEA       DX, STRE
              MOV       AH, 09H
              INT       21H
	
              ENDM

     DATASEG  SEGMENT
        MSG1  DB        'Please Insert:  ','$'
        MSG2  DB        'Your Insert:    ','$'
        MSG3  DB        'LowToUp:        ','$'
        MSG4  DB        'UpToLow:        ','$'
        MSG5  DB        'ChangeTwo:      ','$'
     STRSLEN  DB        20
      ACTLEN  DB        ?
        STRS  DB        20 DUP(?), '$'
        STRU  DB        20 DUP(0), '$'
        STRL  DB        20 DUP(0), '$'
        STRE  DB        20 DUP(0), '$'
        MESS  DB        0DH,0AH,'$'
     DATASEG  ENDS
;********************************************************************
     CODESEG  SEGMENT
        MAIN  PROC      FAR
      START:
              ASSUME    CS:CODESEG, DS:DATASEG, ES:DATASEG
              MOV       AX, DATASEG
              MOV       DS, AX
              MOV       ES, AX
	
              LEA       DX,MSG1
              MOV       AH,09H
              INT       21H

              LEA       DX,STRSLEN
              MOV       AH,0AH
              INT       21H
    
              LEA       DX,MESS
              MOV       AH,09H
              INT       21H
    
              LEA       SI, STRS
              LEA       DI, STRU
              CALL      TOUPPER
	
              LEA       SI, STRS
              LEA       DI, STRL
              CALL      TOLOWER
	
              LEA       SI, STRS
              LEA       DI, STRE
              CALL      ULCHG
	
              PRINT
	
              MOV       AH, 4CH
              INT       21H
        MAIN  ENDP
     TOUPPER  PROC
     TULOOP:
              MOV       AL, [SI]
              CMP       AL, 'a'
              JL        TUSKIP
              CMP       AL, 'z'
              JG        TUSKIP
              SUB       AL, 20H
     TUSKIP:
              MOV       [DI], AL
              INC       SI
              INC       DI
              CMP       AL, '$'
              JNE       TULOOP
      TUOUT:
              RET
     TOUPPER  ENDP
     TOLOWER  PROC
     TLLOOP:
              MOV       AL, [SI]
              CMP       AL, 'A'
              JL        TLSKIP
              CMP       AL, 'Z'
              JG        TLSKIP
              ADD       AL, 20H
     TLSKIP:
              MOV       [DI], AL
              INC       SI
              INC       DI
              CMP       AL, '$'
              JNE       TLLOOP
      TLOUT:
              RET
     TOLOWER  ENDP
       ULCHG  PROC
     ULLOOP:
              MOV       AL, [SI]
              CMP       AL, 'A'
              JL        ULSKIP1
              CMP       AL, 'Z'
              JG        ULSKIP1
              ADD       AL, 20H
              JMP       ULSKIP2
    ULSKIP1:
              CMP       AL, 'a'
              JL        ULSKIP2
              CMP       AL, 'z'
              JG        ULSKIP2
              SUB       AL, 20H
    ULSKIP2:
              MOV       [DI], AL
              INC       SI
              INC       DI
              CMP       AL, '$'
              JNE       ULLOOP
      ULOUT:
              RET
       ULCHG  ENDP
     CODESEG  ENDS
              END       START

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -