+ -
当前位置:首页 → 问答吧 → 汇编

汇编

时间:2011-06-03

来源:互联网

这是一个将空格取消的例子,但我觉得byte ptr [si]可以写成[si],结果错了。但我一直觉得这两个表达意思应该是一样的阿。。。汇编初学者,求指教....
.model small
.stack
.data
string db 'he llo Ever y one','$'
.code
.startup
mov si,offset string
outlp: cmp byte ptr [si],'$'
jz done
cmp byte ptr [si],' '
jnz next
mov di,si
inlp: inc di
mov al,byte ptr [di]
mov [di-1],al
cmp byte ptr [di],'$'
jnz inlp
jmp outlp
next: inc si
jmp outlp

done: mov dx,offset string
mov ah,09h
int 21h
.exit 0
end

作者: panmingxing12   发布时间: 2011-06-03

byte ptr [si]表示si指向的1字节储存单元;[si]表示si指向的储存单元,但没有明确指出是多少字节,如果与寄存器搭配,则由寄存器的类型来决定。

作者: cnzdgs   发布时间: 2011-06-03