• 北工大汇编——综合题(1)


    题目要求

    统计字符数。从键盘输入一行字符,统计字母、空格、数字、其他宇符的个数,并显示。要求:提示输入一行宇符串;键盘输入宇符串,Enter 键结束输入,并换行显示结果。
    在这里插入图片描述

    题目代码

    DATAS SEGMENT
        ;此处输入数据段代码
        msg DB 0ah, 0dh, 'please input string enter:quit$'
       	alpCount DB 0ah, 0dh, 'alpCount:$'
       	spaceCount DB 0ah, 0dh, 'spaceCount:$'   
       	numCount DB 0ah, 0dh, 'numCount:$'   
       	otherCount DB 0ah, 0dh, 'otherCount:$'       
    DATAS ENDS
    
    STACKS SEGMENT
        ;此处输入堆栈段代码
    STACKS ENDS
    
    CODES SEGMENT
        ASSUME CS:CODES,DS:DATAS,SS:STACKS
    START:
        MOV AX,DATAS
        MOV DS,AX
        ;此处输入代码段代码
        mov ch, 0 ;字母
        mov cl, 0 ;空格
        mov bh, 0 ;数字
        mov bl, 0 ;其他字符
        
        input:
        	MOV AH, 1 
    	    INT 21H
    	    
    	    cmp al, 13
    	    je output
    	    
    	    cmp al, ' '
    	    je isSpace
    	    
    	    cmp al, '0'
    	    jl isOther
    	    
    	    cmp al, '9'
    	    jle isNum
    	    
    	    cmp al, 'A'
    	    jl isOther
    	    
    	    cmp al, 'Z'
    	    jle isAlp
    	    
    	    cmp al, 'a'
    	    jl isOther
    	    
    	    cmp al, 'z'
    	    jle isAlp
    	    jmp isOther
    	    
    	isSpace:
    		inc cl
    		jmp input
    	
    	isOther:
    		inc bl
    		jmp input
    		
    	isNum:
    		inc bh
    		jmp input
    	
    	isAlp:
    		inc ch
    		jmp input
    		
    	output:
    		add ch, '0'
    		add cl, '0'
    		add bh, '0'
    		add bl, '0'
    		
    		MOV DX, OFFSET alpCount
        	MOV AH, 09
        	INT 21H
        	
        	MOV DL, ch
    		MOV AH,02H
    		INT 21H
    		
    		MOV DX, OFFSET spaceCount
        	MOV AH, 09
        	INT 21H
    		
    		MOV DL, cl
    		MOV AH,02H
    		INT 21H
    		
    		MOV DX, OFFSET numCount
        	MOV AH, 09
        	INT 21H
    		
    		MOV DL, bh
    		MOV AH,02H
    		INT 21H
    		
    		MOV DX, OFFSET otherCount
        	MOV AH, 09
        	INT 21H
    		
    		MOV DL, bl
    		MOV AH,02H
    		INT 21H
    		
    	    
        MOV AH,4CH
        INT 21H
    CODES ENDS
        END START
    
    
    
    
    
    
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
    • 115
    • 116
    • 117
    • 118
    • 119
    • 120
  • 相关阅读:
    apache isis,基于springboot的生产力提升百倍的快速开发平台
    前端学习笔记——第三天
    VMware与CentOS的安装
    TCP & UDP
    ASCHIP_ISP Tool 工具 使用与更新
    输入输出错误重定向
    Flutter高仿微信-第35篇-单聊-视频通话
    将ChatGPT与物理机器人结合,波士顿动力开发了一只怪物!
    【项目实战:核酸检测平台】第二章 大卸八块
    crontab失效怎么解决
  • 原文地址:https://blog.csdn.net/m0_60867520/article/details/132982378