zoukankan      html  css  js  c++  java
  • 第5到8章

    第五章 [BX]和loop

    1、[BX]表示的是内存单元,它的偏移地址在bx中,间接给出内存单元的偏移地址,则段地址默认在ds中

    2、内存单元间接表示:[bx]

    (1)mov dl,[bx]

    间接寻址,可以使用bx间接访问内存单元,间接给出内存单元的偏移地址,默认段地址在ds中

    (2)mov ax,[bx]

    bx中存放的数据作为一个偏移地址EA,段地址SA默认在ds中,将SA:EA处的数据送入ax中。即:(ax)=((ds)*  16  +(bx))

    (3)mov [bx],ax

    bx中存放的数据作为一个偏移地址EA,段地址SA默认在ds中,将ax中的数据送入内存SA:EA处。即:((ds)*  16  +(bx))=(ax)

    3、loop指令是否执行取决于cx的值,若cx=0,则执行loop后面的其他指令,若cx≠0,则跳转到标号处执行

    4、遇到loop指令时,使用p命令来执行,Debug就会自动重复执行循环中的命令,直到(cx)=  0为止

    5、如果段地址不在ds中,则需要使用cs,ss,es等段前缀,显式地指明内存单元的段地址

    6、系统中某些地址处存放着重要的数据,dos方式下,一般情况,可以把数据写在0:200~0:2ff空间中

    第六章 包含多个段的程序

    ① 使用伪指令segment和ends定义逻辑段后,究竟是用作代码段、数据段还是栈,由程序员指定。

    ② 使用assume仅仅表示将某个逻辑段和某个段寄存器关联起来;真正当作特定的段使用,需要在代码段中设置相应的段寄存器值,如ds, ss。

    ③ 段名代表的是段地址,是常数。不能使用mov直接送入段寄存器。

    第七章 更灵活的定位内存地址方法

    1.汇编指令: and和or

    and指令:逻辑与指令,按位进行与运算。通过该指令可将操作对象的相应位设为0,其他位不变。

      or指令:逻辑或指令,按位进行或运算。通过该指令可将操作系统的相应位设为1.

    2.汇编中的字符处理

    在汇编源程序中:既可以使用诸如'a'这样的字符写法,也可以使用ASCⅡ码形式的写法。

    在debug中: a命令中不支持诸如'a'这样的写法

                          e命令中支持诸如'a'这样的写法,也支持ASCⅡ码形式的写法

    3.其它灵活的内存地址表示

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

    用[si]表示表示内存单元。

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

    用[di]表示表示内存单元。

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

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

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

    第八章 数据处理的两个基本问题

    1.汇编指令中操作数的类型

    常数位于cpu内部,指令缓冲器;寄存器位于cpu内部,寄存器;

    2.汇编指令中内存单元操作数的地址表示

    在8086中,可用于表示内存偏移地址的寄存器只有: BX, SI, DI和BP。

    这些寄存器可以单个出现在[]中,也可以以特定组合方式出现。

    使用BX, SI, DI表示偏移地址时,默认段地址在DS中;

    使用BP表示偏移地址时,默认段地址在SS中。

    3.汇编伪指令: db, dw, dd, dup

    data segment

    db定义字节类型变量,一个字节数据占1个字节单元,读完一个,偏移量加1

    dw定义字类型变量,一个字数据占2个字节单元,读完一个,偏移量加2

    dd定义双字类型变量,一个双字数据占4个字节单元,读完一个,偏移量加4

    data ends

    data segment

    db 0,0,0,0,0,0,0,0

    db 8 dup(0); 预留8个字节单元,每个单元值为0

    dd 8 dup(?); 预留8个字节单元,每个单元值未分配

    data ends

  • 相关阅读:
    mysql5.7安装
    win10 安装docker
    快速去水印(win10换图3D工具)
    爬虫---国家食品药品监督管理总局
    食品伙伴网爬虫
    驴妈妈旅游爬虫
    天气预测(CNN)
    ConcurrentDictionary线程不安全么,你难道没疑惑,你难道弄懂了么?
    C#线程篇---线程池如何管理线程(6完结篇)
    C#线程篇---Task(任务)和线程池不得不说的秘密(5)
  • 原文地址:https://www.cnblogs.com/WJL123/p/10167890.html
Copyright © 2011-2022 走看看