操作数的寻址方式(立即,寄存器,直接)

计算机中程序是由按一定顺序排列的一系列指令,通常一条指令包括两方面的内容:操作码和操作数,操作码决定要完成的操作,告诉计算机要干什么;操作数指参加运算的数据及其所在的单元地址。整条指令以二进制编码的形式存放在存储器中。指令要进行操作,都有相应的数据参加,可是数据在哪里?是什么?都是通过不同的方式来找到的。这就是为什么需要寻址。

寻找指令中所需要的操作数或操作数地址的方式称为寻址方式。80486指令系统的寻址方式包括三种类型:操作数寻址、转移地址寻址及I/O端口寻址。其中操作数寻址有七种。

1.立即数寻址(immediate addressing)
立即数
什么是立即数,操作数包含在指令中。在取指令的同时,操作在操作码后面数随着取出,这种操作数被称为立即数。一般立即数以常数形式出现的。常数可以是二进制数、十进制数、十六进制数、字符串。

立即数寻址
当立即数寻址时,只允许源操作数为立即数,目标操作数必须是寄存器或存储器,其作用是给寄存器或存储单元赋值。在汇编中,立即数不能作为指令中的第一操作数。该规定与高级语言中“赋值语句的左边不能是常量”的规定相一致。比如下面的第二操作数都是立即数。

例如:
MOV AL, 0FH ; 将8位立即数0FH传送到AL寄存器中
0FH 是源操作数,0F是16进制数,用后缀H表示的。如果16进制数的第一位超过9,即第一位是A到F,在写程序代码时需要在数字前面加一个0,以便与程序中的变量区分。 AL是一个寄存器,在指令中做目的操作数(第一操作数)。MOV指令是将源操作数送给目的操作数。所以整条指令是把十六进制数0FH送到寄存器AL中

MOV AX, 0102H ; 将16位立即数0102H传送到AX寄存器中

MOV EAX,12345678h;将32位立即数12345678h传送到EAX寄存器中

注释:
AX是16位寄存器累加器,可分成AH、AL两个8位寄存器单独使用
AL是8位寄存器累加器
EAX是32位的寄存器

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值