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

📄 68.asm

📁 汇编语言的简单的输入字母的大小写转换的小汇编语言程序
💻 ASM
字号:


data segment
    table db 30 dup(?)
    n dw 30
    char db ?
data ends
code segment
main proc far
   assume cs:code,ds:data
start:push ds
      xor ax,ax
      push ax
      mov ax,data 
      mov ds,ax
      mov si,0          ;地址指针
      mov cx,n                 
input:mov ah,1
      int 21h           ;从键盘接受一个字符
      mov table[si],al  ;将其存放在数组table中
      inc si
      loop input            

      mov dl,0dh
      mov ah,2
      int 21h
      mov dl,0ah
      int 21h          ;输出换行回车符
      
find: mov ah,1
      int 21h           ;从键盘输入字符char
      mov char,al
        
      mov dl,0dh        ;输出换行回车
      mov ah,2
      int 21h
      mov dl,0ah
      int 21h
    
      mov dl,char       ;在下一行输出字符char
      int 21h 

      call count        ;调用子程序count
      cmp dl,0          ;出口参数dl
      je exit           ;若字符串中无该字符,结束程序
      add dl,30h        ;否则将出现次数转换成相应的ASCII值
      cmp dl,39h
      jna output
      add dl,7
output:mov ah,2          ;输出char在字符串中出现的次数
      int 21h
      jmp find
exit: ret
main endp
count proc near
      push si
      push cx
      push ax
      mov si,0
      mov cx,n
      mov al,char
c1:   cmp al,table[si]
      jne c2
      inc dl          ;dl是出口参数,统计char在字符串中出现的次数
c2:   inc si  
      loop c1
      pop ax
      pop cx
      pop si
      ret
count endp
code ends
   end start

⌨️ 快捷键说明

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