zoukankan      html  css  js  c++  java
  • 第七章 更灵活的定位内存地址的方法

    一、and和or指令

    and指令:逻辑与指令,按位进行与运算。(仅在1与1时结果中为1)

    eg:mov al,01100011B

            and al,00111011B

    结果:al=00100011B

    作用:通过该指令可以将操作对象的相应位设为0,其他位不变。

    or指令:逻辑或指令,按位进行或运算。(仅在0或0时为0)

    eg:mov  al,01100011B

            or   al,00111011B

    结果:al=01111011B

    作用:通过该指令可以将操作对象的相应位设为1,其他位不变。

     注意:(1)and和or指令的格式需要参照add指令。

                (2)在debug中,默认十六进制,不支持二进制写法。

                (3)在.asm格式的完整汇编源程序文件中,默认十进制;也支持二进制、十六进制写法。(加B->二进制,加H->16进制)

    二、关于ASCII码(略)

    三、以字符形式给出的数据

    用'......'的形式指明数据是以字符的形式给出的,编译器将把它们转化为相对应的ASCII码。

    eg:“db 'unIX' ”相当于“db 75H,65H,49H,58H”,“u”、“n”、“I”、“X”的ASCII码分别为75H、6EH、49H、58H。

    四、大小写和数字字符与数字间的转化问题

    规律ASCII码:大写字母+20H=小写字母

    规律ASCII码:数字字符-30H=数字

    注意:在汇编源程序中:既可以使用诸如'a'这样的字符写法,也可以使用ASCⅡ码形式的写法。 在debug中: a命令中不支持诸如'a'这样的写法 e命令中支持诸如'a'这样的写法,也支持ASCⅡ码形式的写法。

     五、其他灵活的地址表示方式

    ①用[bx + idata]表示表示内存单元。idata表示常数。

    ②用[si]表示表示内存单元。用[si + idata]表示表示内存单元。idata表示常量。

    ③用[di]表示表示内存单元。用[di + idata]表示表示内存单元。idata表示常量。

    ④用[bx+di], [bx+si]表示表示内存单元。 用[bx+di+idata], [bx+si+idata]表示表示内存单元。

    写法:

  • 相关阅读:
    Oracle Core 学习笔记一 Redo 和 Undo 机制详解
    Oracle Linux 6.1 平台安装 Database 11gR2 步骤 说明
    Oracle 查看表空间使用率 SQL 脚本
    Oracle 单实例 Relink Binary Options 说明
    Oracle Linux 6 下 Oracle RDBMS Server 11gR2 Preinstall RPM 包说明
    Oracle DBLink 访问Lob 字段 ORA22992 解决方法
    Oracle 10g 对象 默认 ITL 数量 测试
    Oracle Core 学习笔记一 Redo 和 Undo 机制详解
    与系统 性能相关的 常见十个瓶颈 说明
    Oracle 11g UNDO 管理 详解
  • 原文地址:https://www.cnblogs.com/Yangruzhang/p/10049313.html
Copyright © 2011-2022 走看看