新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 匯編程序:比較2個字符串是否相同(初級版)

        匯編程序:比較2個字符串是否相同(初級版)

        作者: 時間:2016-12-01 來源:網絡 收藏
        DATAS SEGMENT
        source1 db 50 dup(?) ; 存放第一個串
        source2 db 50 dup(?) ; 存放第二個串
        title1 db Please input the first string:,0dh,0ah,$
        title2 db Please input the second string:,0dh,0ah,$
        ans db match,0dh,0ah,$
        ans1 db no match,0dh,0ah,$
        DATAS ENDS
        STACKS SEGMENT

        STACKS ENDS
        CODES SEGMENT
        ASSUME CS:CODES,DS:DATAS,SS:STACKS
        START:
        MOV AX,DATAS
        MOV DS,AX
        mov dx,offset title1;輸出抬頭
        mov ah,09h ;輸出字符串用09
        int 21h
        mov cl,50
        mov si,0
        again:
        mov ah,01h
        int 21h
        cmp al,0dh
        jz two
        mov source1[si],al
        inc si
        dec cl
        jnz again ;將第一個串搞定
        two:
        mov dx,offset title2;輸出第二個抬頭
        mov ah,09h
        int 21h
        mov cl,50
        mov si,0
        again1:
        mov ah,01h
        int 21h
        cmp al,0dh
        jz main
        mov source2[si],al
        inc si
        dec cl
        jnz again1;這里以上部分是給兩個字符串賦值,一下部分是比較。
        main:
        mov si,0
        mov cx,6
        again2:mov al,source2[si]
        cmp source1[si],al
        jnz nomatch
        incsi
        dec cx
        jnz again2
        cmpcx,0
        jz match
        nomatch:mov dx,offset ans1
        mov ah,09h
        int 21h
        jmp over
        match: mov dx,offset ans
        mov ah,09h
        int 21h
        over: MOV AH,4CH
        INT 21H
        CODES ENDS
        END START
        ; MADE BY WQ

        這里是完善版的程序:http://www.51hei.com/mcu/2469.html


        評論


        技術專區

        關閉
        主站蜘蛛池模板: 靖宇县| 岑溪市| 平谷区| 滦南县| 汝州市| 西畴县| 荥阳市| 桃园市| 阜宁县| 威海市| 甘孜| 颍上县| 浦东新区| 普陀区| 天台县| 抚州市| 黄浦区| 绵阳市| 宜君县| 德格县| 隆回县| 金门县| 东台市| 靖州| 商城县| 巴林右旗| 象山县| 凤庆县| 凤城市| 丹棱县| 华池县| 明水县| 蒲江县| 玉屏| 辉县市| 甘孜| 溧水县| 方正县| 张家界市| 兰州市| 平利县|