jcxz 跳转问题
本帖最后由 西殴 于 2017-6-5 23:18 编辑{:5_104:} 不好意思问了个蠢问题 自己弄明白了
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 不是应该是 000D 么 si 为7的话 cx 应该是000D啊
mov ch,0
jcxz ok
and byte ptr ,11011111b; 将data字符串改写成大写
inc si
jmp short capital
ok: ret
code ends
end start
如果不要push si第二的db数据就不会改写 ds:【000D】为0 所以jcxz就直接跳转了
页:
[1]