- UID
- 62930
注册时间2009-7-24
阅读权限20
最后登录1970-1-1
以武会友
TA的每日心情 | 开心 2024-12-6 17:12 |
---|
签到天数: 6 天 [LV.2]偶尔看看I
|
- assume cs:code,ds:data
- data segment
- strSou db 'Hello world!
- strDis db 'Hello world!
- ; Tips Message
- TipsBig db 'string source big string distation!
- TipsEqual db 'string source Equa string distation!
- TipsLess db 'string source Less string distation!
- data ends
- code segment
- start: mov ax, data
- mov ds, ax
- mov es, ax
-
- mov si, offset strSou
- mov di, offset strDis
-
- cld
- xor cx, cx
- NEXT: cmp byte ptr[si], '
- jz SOUEND ; 如果第一个字符串已经结束的话,再判断第二个有没有结束
- cmp byte ptr [di], ' ; 如果第一个没有结束,判断第二个有没有结束
- jz SOUBIG ; 如果第二个已经结束的话
- ; 再判断二个是不是相等
- cmpsb
- jl SOULES ; 如果第一个小于第二个的话,跳出
- jg SOUBIG ; 如果第一个大于第二个的话,跳出
- inc cx ; 如果相等的话,继续loop
- jmp NEXT
-
- SOUEND: cmp byte ptr [di], ' ; 当第一个已经结束的话再判断第二个是否结束
- jz SOUQUE ; 如果等于0的话,说明相等
- jmp SOULES ; 否则第二个大于第一个
- SOUBIG: mov dx, offset TipsBig ; 输出第一个小于第二个
- jmp DISPLAY
- SOUQUE: mov dx, offset TipsEqual ; 等于
- jmp DISPLAY
- SOULES: mov dx, offset TipsLess ; 小于
- jmp DISPLAY
-
- DISPLAY: mov ah, 9h
- int 21h
- EXIT: mov ah, 4ch
- int 21h
-
- code ends
- end start
复制代码
[ 本帖最后由 evilknight 于 2010-1-25 23:13 编辑 ] |
|