汇编语言笔记(二)

1  完整表示内存单元需要两个信息:内存单元地址+内存单元长度.

2 (ax)=((ds)*16+2)====>mov ax,[2]

3 ((ds)*16+2)=(ax)====>mov [2],ax

4 (ax)=(ax)+2====>add ax,2

5 ax与[ax]的区别?mov bx,ax<==>(bx)=(ax)   mov bx,[ax]<==>(bx)=((ds)*16+(ax))

   [x]表示x作为偏移地址,默认ds作为段地址

   比如:

   [ax]表示ax存储内容是偏移地址,默认ds是段地址

   [100]表示偏移地址是100H,默认ds是段地址。为什么不能说成“100H处存储的内容是偏移地址”?因为“100H”是一个内存偏移量,不能像ax寄存器一样存储数据。为什么不能说成“ax表示是偏移地址”?因为“ax”是一个寄存器,它存储内容表示偏移量,字符“ax”怎能表示偏移量呀。

6 ()表示寄存器或者是一个内存单元内容

   简单表示就是“()”表示“存储内容”,非常类似“变量名”,那么为什么不使用“变量名”直接取代“存储内容”呢?

   “变量名”是高级程序设计语言中的基本概念,但是在汇编语言中使用“变量名”描述寄存器(ax,bx,cx,dx......)就不合适了,汇编语言中没有定义变量名称的语法,所有通用寄存器名称都不能改变。

7  loop指令执行时,需要寄存器cx配合使用。在执行loop指令时,cx中存放循环次数,每次减1,直到0退出循环。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值