栈是一种具有特殊的访问方式的存储空间(后进先出)
栈的结构示意图,在汇编中,要明确没有栈底的概念!!!
段地址,入栈和出栈,操作的是2个字节(8086系统),不存在1个或者3个字节!!!
PUSH ax
POP ax
空栈
段总结
小练习,右侧是栈段
左侧是栈段指明
通过这个软件,我们可以去看到内存的东西
内存顺序
PUSH的时候,往内存地址小的地方写东西
大端模式数据存储方向
小模式数据存储方向
loop指令
loop指令
注意,次方只能放到cx里,其他的不行
使用cx,计算平方数
如果替换成0,那么就是死循环
原因是:先判断是不是0,如果不是零,-1,所以一直往下减
去掉了loop
标号(s):只是表示这段函数给他起了一个名字,没有任何意义。这些代码还是要接着执行的。
上面的demo就是do-while循环,至少执行一次
计算ffff0-ffff2寄存器的数据
计算ffff0-ffff2寄存器的数据,3个字节,ax是2个字节呦
loop循环,inc bx = add bx,1h
等价
段前缀
练习,后者比前者的loop代码少,因为使用了两个寄存器
练习题