汇编 - loop

loop指令

汇编 - loop_第1张图片
  • 比如计算2^6


    汇编 - loop_第2张图片

练习

  • 计算ffff0~ffff2每个单元中数据的和,结果存放到dx中


    汇编 - loop_第3张图片
常见做法
  • loop循环中经常使用bx来存储变化的偏移地址,用法如[bx]

段前缀

  • “mov ax, [bx]”中bx的值是偏移地址,段地址默认在ds中

我们也可以明确地标明段地址,比如

mov ax, ds:[bx]
mov ax, cs:[bx]
mov ax, ss:[bx]
mov ax, es:[bx]
  • 上面的“ds:”、“cs:”、“ss:”、“es:”称为段前缀

段前缀的使用

  • 计算ffff:0ffff:5单元中数据复制到0:2000:205单元中
汇编 - loop_第4张图片
  • 由于cs、ss都有自己的特殊用途,一般就使用es作为附加段寄存器

练习

汇编 - loop_第5张图片

汇编 - loop_第6张图片

你可能感兴趣的:(汇编 - loop)