汇编语言 第五章 [BX]和loop指令

本文详细介绍了汇编语言中[BX]的使用,包括mov指令从[BX]取值和存值的功能,以及Loop指令的执行过程,强调了CX寄存器在循环控制中的作用。同时,提醒读者在编写汇编程序时注意数据格式和MASM编译器的特殊要求。
摘要由CSDN通过智能技术生成

一、[BX]

1.mov ax, [bx]

功能:bx中存放的数据作为一个偏移地址EA,段地址SA默认在ds中,将SA:EA处的数据送入ax中。即:(ax)=((ds)*16+(bx))

2.mov [bx], ax

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

二、Loop指令

1.Loop指令执行时进行两步操作

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

(2).判断cx中的值,不为零则转至标号s处执行循环程序,如果为零则向下执行。

// 代码示例
assume cs:code
code segment
	mov ax,2
	mov cx,11
s: add ax,ax
	loop s
	mov ax,4c00h
	int 21h
code ends
end

程序中的标号s代表一个地址

三、 注意事项

1.在汇编程序中,数据不能以字母开头,要在前面加0

例如: mov ax,0ffffh

2.在编译器masm中,编译器将[idata]解释为 idata,若想将其当成内存单元存入

有两种方式:

(1)"[ ]"里用寄存器,比如bx;如:mov al,[bx] 或者 mov al,ds:[bx]

(2)"[ ]"的前面显式地给出段地址所在的段寄存器 如:mov al,ds:[0]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值