zoukankan      html  css  js  c++  java
  • 实现BX的内容加上123 并把和送到寄存器AX

    ① 一条指令

    1 LEA AX,[BX+123]

    ②两条指令

    1 ADD BX,123
    2 MOV AX,BX

    Tips:

    LEA指令与MOV指令的区别:

    MOV指令是 数据        传送指令-------传送数据

    LEA指令是   有效地址 传送指令-------取偏移地址

    MOV OPRD1 OPRD2

    OPRD1: 目的操作数(寄存器,存储器,累加器)

    OPRD2: 源操作数(寄存器,存储器,累加器,立即数)

    例如:

    1 MOV DI,BX  ;寄存器到寄存器之间传数
    1 MOV AL,23H ;将立即数"复制"到寄存器
    1 MOV [2000H],02H ;直接地址

    注意:

    目的操作数要与源操作数类型一致,不能一个字一个字节

    目的或者源操作数之一必须是要有明确的类型

    立即数不能作为目的操作数

    不能用立即寻址的方法给段寄存器传数

    段寄存器or存储单元之间 不能用MOV指令直接传送

    ----------------------------------------------我是华丽的分割线--------------------------------------------

    LEA OPRD1,OPRD2  ;格式

    OPRD1: 目的操作数,可为任意一个16位的通用寄存器

    OPRD2:源操作数(变量名,标号,地址表达式)

    例如:

    1 LEA AX,[BX+123] ;BX的内容加上123并把它送到寄存器AX
    1 LEA BX,data
    1 LEA AX,[1234H] ;作用是将源操作数[1234H]的偏移地址送到AX
    2 ;等价于
    3 MOV AX,1234H
  • 相关阅读:
    驱动下的异常处理
    头文件 .h 与源文件 .ccp 的区别
    驱动程序进阶篇
    驱动中链表的使用
    内存操作相关内核 API 的使用
    链表的概念、建立、删除与插入
    编写简单的 NT 式驱动程序的加载与卸载工具
    驱动程序入门篇
    c++ 指针的简单用法
    CTL_CODE 宏 详解
  • 原文地址:https://www.cnblogs.com/roseAT/p/10080746.html
Copyright © 2011-2022 走看看