(5)[Bx]及loop

来源:互联网 发布:恢复数据多少钱 编辑:程序博客网 时间:2024/04/26 10:36

1、[Bx]的来历

       因为不同的编译器解释mov ax,[3]时会有所不同,有时会解释成mov ax,3

       结论:这种情况写成下面可以避免不同编译器的混淆

           一是带上段地址:mov ax,ds:[3] 

            二是用bx来写(bx=3):  mov ax,[bx]

         注意:bx就是base register,只有它可以这样写,其它不行,如 mov ax,[cx] 这是错误的。



2、代码的长度

      当一个程序编译成exe后如何查看代码段的长度呢,加载用命令,CX就记载着代码段的字节长度。



3、loop循环专用。

      用loop  X就会返回到标号X处,如何结束呢,CX中记载着可以循环的次数。

      当运行到loop时,CX自动减1,再比较是否为0,为0就跳出循环执行下面一名,否则就跳到X处继续循环。

      (除非你把标号X用在了loop的后面)


4、随意分配内存单元是非常危险的,有可能挤占别人的内存单元。

      一般0:200至0:2FF处是安全的地址空间。