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

  • 相关阅读:
    《Flask Web开发——基于Python的Web应用开发实践》一字一句上机实践(下)
    《Flask Web开发——基于Python的Web应用开发实践》一字一句上机实践(上)
    Django之REST framework源码分析
    PythonWEB框架之Tornado
    PythonWEB框架之Flask
    Android 外部存储权限分析
    Javaproject集成log4J 1.x
    [Python]通过websocket与jsclient通信
    基于am3358的lcd输出
    SAP 金税接口增强 BADI
  • 原文地址:https://www.cnblogs.com/WJL123/p/10167890.html
Copyright © 2011-2022 走看看