汇编语言 [BX]和loop指令

一      .[bx]

1. mov ax,[bx]

bx中存放的数据作为一个偏移地址EA,段地址SA默认在ds中,将SA:EA处的数据送入ax中。

2. mov [bx],ax

bx中存放的数据作为一个偏移地址EA,段地址SA默认在ds中,将ax中的数据送入内存SA:EA处。

3. inc bx

其表示的含义是bx中的内容加1,比如下面两条指令:

mov bx,1

inc bx

执行之后的结果,bx=2.

二     loop指令

1.  cx中的值影响着loop指令的执行结果。我们用loop指令来实现循环功能,cx中存放循环次数。

2.  loops

CPU在执行loops的时候,要进行两步的操作:

1)(cx)=(cx)-1;

2)   判断cx中的值,不为0则转至标号s所标识的地址处执行(这里的指令是add ax,ax),如何为零则执行下一条指令

3)mov cx,11

  s:   add  ax,ax

       loop s

执行loops时,首先要将cx减1,然后若cx不为0,则向前转至s处执行add ax,ax所以,可以利用cx来控制add ax,ax的执行次数。

三  段前缀

1:mov ax,es:[bx]

将一个内存单元的内容送入ax,这个内存单元的长度为2字节,存放1个字,偏移地址在地址bx中,段地址在es中。

2:mov ax,ss:[0]

将一个内存单元的内容送入ax中,这个内存单元的长度为2个字节,存放一个字,偏移地址为0,段地址在ss中。

 这些出现在访问内存单元的指令中,用于显示地指明内存单元的段地址的es ss在汇编语言中称为段前缀。

转载于:https://www.cnblogs.com/QiaoGeGe/p/10132967.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值