4.1[bx]是什么?
之前我们写过mov ax,[0]这样的汇编指令,表示数据从一个内存单元传送到寄存器。但这样的汇编指令写在编译器里是不能通过的。[bx]的作用就是代替汇编指令中要用到的像[0]这样的内存单元,在使用前先向bx传送值。上面的汇编指令可以改写成 mov bx,0 mov ax,[bx].
但是如果加上了段超越前缀,比如ds:[0],这样的写法就是可以通过编译器的
4.2loop指令
作用相当于c语言中的while,让某一个语句循环执行,在汇编语言中,loop指令和cx寄存器有很大关系。 每次执行loop指令cx寄存器中的数据会-1,然后会记性判断,如果cx中的数据不为0就循环执行某一语句,如果为0就结束循环。以下是格式
s: mov ax,ax
loop s
4.3安全内存空间
一般pc机中,都不会使用0:200-0:02ff的256个内存空间,我们可以用这段空间来存放数据
4.4段前缀
形如es:[bx],es就是段前缀,这样当程序中需要吧数据存放到指定内存单元时就不用在设置ds,用es:[bx]表示即可