数据与转移地址的寻址方式

数据与转移地址的寻址方式

  • 数据的寻址方式:寻找指令操作所需数据的方法
  • 转移地址的寻址方式:寻找转移指令所需程序地址的方法

数据的寻址方式

  1. 立即寻址

    MOV AX,12A2H;将立即数12A2H传送到累加器AX中
    
  2. 寄存器寻址

    MOV AX,BX;将BX中的内容传送到AX中
    
  3. 存储器寻址(操作数保存在存储单元中)

  • 直接寻址

    MOV AX,VAR1;从VAR1对应地址的存储单元中取一个字传送到AX中
    MOV DL,VAR1+5;从VAR1+5对应地址的存储单元中取一个字节传送到DL中
    MOV CX,[1200H];从地址为1200H的存储单元中取一个字传送到CX中
    MOV VAR3,2500;将立即数传送到VAR3对应的存储单元中
    
  • 寄存器间接寻址( 表示EA的值为BX,SI,DI中的内容)

    MOV AX,[SI];将SI中的内容作为有效地址,从相应的存储单元中取出一个字传送到AX中
    MOV [BX],DX;将DX中的内容传送到以BX中的内容为有效地址的存储单元中
    
  • 寄存器相对寻址

    MOV BX,[SI+5];将SI中的内容+5作为有效地址,从相应的存储单元中取出一个字传送到BX中
    MOV CX,VAR1[BX];将(SI)+OFFSET VAR1的值作为有效地址,从相应的存储单元中取出一个字传送到CX中
    MOV AL,VAR2[DI-15];将(DI)-15+OFFSET VAR2的值作为有效地址,从相应的存储单元中取出一个字节传送到AL中
    MOV 5[SI+24],DX;将DX中的值传送到一个存储单元中,该存储单元的有效地址为(SI)+24+5
    
  • 基址变址寻址

    MOV DX,[BX][SI];将(BX)+(SI)的值作为有效地址,从相应的存储单元取一个字传送到DX中
    
  • 基址变址且相对寻址

    MOV AX,[BX+5][SI];将(BX)+(SI)+5的值作为有效地址,从相应的存储器单元中取一个字传送到AX中
    MOV DL,[BX+15][DI+18];将(BX)+(DI)+15+18的值作为有效的值,从相应的存储器单元中取一个字节传送到DL中
    MOV,VAR1[BP][DI],AX;将AX中的值传送到一个存储器单元,该单元的有效地址为(BP)+(DI)+OFFSET VAR1
    
  1. 隐含寻址

    MOVSB;从(DS:SI)的存储单元中取一个字节,传送到(ES:DI)存储单元,并且SI和DI的内容自动增1(DF=0时)或减1(DF=1时)
    

转移地址的寻址方式

  1. 段内直接寻址

    JMP LABEL;程序转移到标号LABEL处执行
    
  2. 段内间接寻址

    JMP BX;程序转移的目的地址为BX中的内容
    JMP VAR1;程序转移的目的地址为字型变量VAR1的内容
    JMP VAR1[SI];程序转移的目的地址在存储器,其有效地址为(SI)+OFFSET VAR1
    
  3. 段间直接寻址

    JMP LABEL;程序转移到LABEL处执行(LABEL不在本段中)
    
  4. 段间间接寻址

    JMP VAR3;程序转移的目的地址为双字型变量VAR3中的内容,其中,第一个字是目的地址的偏移地址,第二个字是目的地址的段地址
    JMP VAR3[SI];目的地址保存在存储器中,其有效地址为(SI)+OFFSET VAR3
    
  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值