首页 > 其他 > 详细

assembly x86(nasm)修改后的日常

时间:2019-06-09 15:19:25      阅读:128      评论:0      收藏:0      [点我收藏+]
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

问题不大。

assembly x86(nasm)修改后的日常

原文:https://www.cnblogs.com/lanclot-/p/10993434.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!