飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 1775|回复: 1

[C/C++] strcmp(asm)

[复制链接]
  • TA的每日心情
    开心
    2022-11-16 14:28
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2010-1-25 23:11:08 | 显示全部楼层 |阅读模式
    1. assume cs:code,ds:data

    2. data segment
    3.         strSou db 'Hello world!
    4.         strDis db 'Hello world!
    5.         ; Tips Message
    6.         TipsBig db 'string source big string distation!
    7.         TipsEqual db 'string source Equa string distation!
    8.         TipsLess db 'string source Less string distation!
    9. data ends

    10. code segment
    11. start:  mov ax, data
    12.         mov ds, ax
    13.         mov es, ax
    14.         
    15.         mov si, offset strSou
    16.         mov di, offset strDis
    17.         
    18.         cld
    19.         xor cx, cx
    20. NEXT:   cmp byte ptr[si], '
    21.         jz SOUEND                       ; 如果第一个字符串已经结束的话,再判断第二个有没有结束
    22.         cmp byte ptr [di], '          ; 如果第一个没有结束,判断第二个有没有结束
    23.         jz SOUBIG                       ; 如果第二个已经结束的话

    24.         ; 再判断二个是不是相等
    25.         cmpsb
    26.         jl SOULES                       ; 如果第一个小于第二个的话,跳出
    27.         jg SOUBIG                       ; 如果第一个大于第二个的话,跳出
    28.         inc cx                          ; 如果相等的话,继续loop
    29.         jmp NEXT
    30.         
    31. SOUEND: cmp byte ptr [di], '          ; 当第一个已经结束的话再判断第二个是否结束
    32.         jz  SOUQUE                      ; 如果等于0的话,说明相等
    33.         jmp SOULES                      ; 否则第二个大于第一个

    34. SOUBIG: mov dx, offset TipsBig          ; 输出第一个小于第二个
    35.         jmp DISPLAY
    36. SOUQUE: mov dx, offset TipsEqual        ; 等于
    37.         jmp DISPLAY
    38. SOULES: mov dx, offset TipsLess         ; 小于
    39.         jmp DISPLAY   

    40.         
    41. DISPLAY: mov ah, 9h
    42.         int 21h

    43. EXIT:   mov ah, 4ch
    44.         int 21h
    45.         
    46. code ends
    47. end start
    复制代码

    [ 本帖最后由 evilknight 于 2010-1-25 23:13 编辑 ]
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2010-1-26 00:00:30 | 显示全部楼层
    :hug: 学习!~
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表