zoukankan      html  css  js  c++  java
  • assembly x86(nasm)修改后的日常

    data    segment
    ENG         db    'SUNdayS Coming I Wanna Drive My Car,SUN,SUN$'        ;9,3
    sun1        db    'SUN'
    swcount        db    0ah,0dh,'single word number:',?,?,'$'
    suncount    db    0ah,0dh,'SUN:',?,'$'
    data    ends
    code    segment
    assume    cs:code,ds:data,es:data
    start:
                mov    ax,data
                mov    ds,ax    
                mov    es,ax        
                lea dx,ENG        
                mov    ah,9                        
                int    21h
    swcount1:                                        
                mov al,ENG[si]
                cmp al,'$'                    ;是$就停止遍历
                jz     output1
                cmp al,'A'
                jb  text1
                cmp al,'Z'
                ja     text1
    text2:        cmp al,'S'                    ;是字母S就进入SUN的串比较
                jz  strcmp
                jmp next
    text1:        cmp al,'a'
                jb     addswc
                cmp al,'z'
                jna next
    addswc:        inc swcount[21]                ;不是字母字符就认为是单词之间的分隔,单词数加一
                jmp next
    to:
                pop si
    next:        inc si
                jmp swcount1
    strcmp:
                push si                        ;保存si
                lea di,sun1
                lea si,ENG[si]
                mov cx,3
                repz cmpsb                    ;串比较,当前字符相同则继续循环
                jnz addcount
                inc suncount[6]
    addcount:    jmp to
    output1:    inc swcount[21]
                or swcount[21],00110000b    ;将数值转换为对应ascall码
                or suncount[6],00110000b
                lea dx,swcount    
                mov    ah,9                        
                int    21h                
                lea dx,suncount                        
                int    21h            
    exit:        mov    ah,4ch                        
                int    21h
    code    ends
    end    start

    问题不大。

  • 相关阅读:
    四、面向对象分析和设计全流程概述
    三、三大核心特征-继承
    二、三大核心特征-多态
    [第三章]一、三大核心特征-封装
    四、抽象类
    三、接口
    二、对象
    [第二章]一、类
    六、面向对象的迷思
    五、面向对象的应用范围
  • 原文地址:https://www.cnblogs.com/lanclot-/p/10993434.html
Copyright © 2011-2022 走看看