zoukankan      html  css  js  c++  java
  • 【笔记】 寻址方式

    三、8086/8088的寻址方式
        计算机是 通过执行指令序列来解决问题的
        因为每种计算机都有一组指令集提供给用户用..
        这组指令就叫做计算机的 *指令集
        计算机中的指令集就是由 *操作码字段 和 *操作数字段 两部分组成
        指令操作码字段在机器里面的表示比较简单,
        只需要对每一种操作的指定确定的二进制代码就可以了
        。。。。。{比唐僧还啰嗦}
    /*机器智能识别二进制代码,所以用汇编来制定二进制代码
        汇编语言就是符号语言,,用它来表示操作码, 和机器指令相对应*/
        
        ADD AX,[1234]//ADD 是操作码  ,,,后面两个是操作数
        引出:寻址方式
                表示指令中用于说明操作数所在地址的方法
            有七种:/****这些东西都是在DS数据段后面表示的  物理地址都要加上DS数据段~~****/
                1.立即寻址方式
                    操作数包含在指令中,作为指令一部分,在代码段中
                    还是 *高的高位 *低的低位
                2.寄存器寻址方式
                    16:AX...
                    8:AL AH...//通用寄存器
                    例如     mov ax,bx
                        把bx中值给ax
                3.直接寻址方式
                    操作数在寄存器里面,指令直接包含有操作数的有效地址
                    偏移地址:
                        MOV AX,[8054]//省略DS  应该是mov ax,ds:[8054]
                        
            例子:    MOV AX,VALUE
                    MOV AX,ES:[VALUE]//ES是附加段
                    MOV AX,ES:VALUE//同上
                4.寄存器间接寻址
                    操作数在,SI.DI.BX.BP里面
                        MOV AX,[SI];//变样子而已....DS:[SI]
                5.相对加寻址方式
                        mov ax,[si+1000H];//哈哈哈  各种加
                6.基址加变址寻址方式
                    操作数在寄存器中,操作数的有效地址由:
                        EA=[BX]+[SI]/[BP][DI];
                    
                    MOV AX,[BX][DI]//会加上DS数据段
                    如:[DS]=2100H     [BX]=0158H   [DI]=10A5H
                            则 [EA]=0158+10A5=11FD
                                物理地址=21000(DS)+11FD=221FDH
     
                7.相对基址加变址寻址方式    
                    MOV AX,[BX+DI+1100H]//最后再加上8位或者16位偏移
                        BP->SS  要不然以DS
                        给定的如果是8位  那么补成16位
                        如果超过FFFFH,用64K模式
                        
                        
    例如:    MOV AX,[BX+DI-2]    
        假设,(DS)=50000H,(BX)=1223H,(DI)=54H
              (51275)=54H    (51276)=76H
              //其中-2的补码形式0000 0000 0000 0010 反码 1111 1111 1111 1110  FFFE
        物理地址单元:
        物理地址=50000+1223+0054+FFFE    
                =51275H
        执行完后 AX=7654H
        、
        相对基址变址寻址方式多样,下面四种表示的等价。
            MOV AX,[BX+DI+1234H]        MOV AX,1234H[BX][DI]
            MOV AX,1234H[BX+DI]            MOV AX,1234H[DI][BX]//都是在数据段后面的数据
            
            
            
        

    练习题:

      

  • 相关阅读:
    全网通5X_AL10 非定制版 固件汇总
    system.new.dat解压工具sdat2img
    linux 平台中 Android5.0的更新包中system.new.dat文件的解包
    【 henuacm2016级暑期训练-动态规划专题 A 】Cards
    【BZOJ 1486】 [HNOI2009]最小圈
    【BZOJ 1433】[ZJOI2009]假期的宿舍
    【BZOJ 1412】[ZJOI2009]狼和羊的故事
    【BZOJ 1305】[CQOI2009]dance跳舞
    【Codeforces Round #483 (Div. 2) C】Finite or not?
    【Codeforces Round #482 (Div. 2) C】Kuro and Walking Route
  • 原文地址:https://www.cnblogs.com/xiguayizu/p/3356791.html
Copyright © 2011-2022 走看看