鱼C论坛

 找回密码
 立即注册
查看: 2726|回复: 0

jcxz 跳转问题

[复制链接]
发表于 2017-6-5 22:44:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 西殴 于 2017-6-5 23:18 编辑

不好意思问了个蠢问题     自己弄明白了   
assume cs:code

data segment 
        db 'abcdef',0
        db 'oluyoy',0
        db 'edfggs',0
        db 'fdfdga',0
data ends

code segment
        start:        mov ax,data
                        mov ds,ax
                        mov si,0                 ;指向ds字符串首地址
                        mov cx,4
        s:                push cx
                        ;push si                        ;这里为什么要push si 如果不要行不行
                        call capital
                        ;pop si                         ;pop si
                        pop cx
                        add si,7                    ;第一行字符串改写完成 后si +7 
                        loop s
                        mov ax,4c00H
                        int 21H
                        
        capital:        mov cl,[si]                ;第一行字符串完成后这里的 si 不是应该是 000D 么 si 为7的话 cx 应该是000D啊  
                        mov ch,0
                        jcxz ok
                        and byte ptr [si],11011111b  ; 将data字符串改写成大写
                        inc si
                        jmp short capital
        ok:                ret
        code ends
end start

如果不要push si  第二的db数据就不会改写   ds:【000D】为0 所以jcxz就直接跳转了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-25 14:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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