data segment
buf db 'ABCDEFG',13,10,36
data ends
code segment
assume cs:code,ds:data
....
lea si,buf
add si,2
mov al,[si] ,执行以后(al)='C'
----------
下面程序与上面三句等价
mov si,0
add si,2
mov al,buf[si] ; 这句也可以写成mov al,[si+buf]
遇到寄存器号外面加 [ ] 的,通常就是对内存数据的读或写。lea 排除在外