zoukankan      html  css  js  c++  java
  • 第八章 数据处理的两个基本问题

    1、计算机是进行数据处理、运算的机器,那么有两个最基本的问题:1.处理的数据在什么地方?2.要处理的数据有多长?

    2、定义描述性符号:reg(register 寄存器)和sreg(segment register 段寄存器)。Reg的集合包括:ax、bx、cx、dx、ah、al、bh、bl、ch、cl、dh、dl、sp、bp、si、di。sreg集合包括:ds、ss、cs、es(扩展段)。

    3、1.在8086CPU只有这4个寄存器(bx、bp、si、di)可以用[ ]来进行内存单元寻址;2.在[ ]中,这四个寄存器(bx、bp、si、di)可以单个出现,或只能以四种组合出现:bx和si、bx和di、bp和si、bp和di;3.只要在[ ]中使用寄存器bp,而指令中没有显性的给出段地址,段地址就默认在ss中

    4、绝大部分机器指令都是进行数据处理的指令,处理大致可以分为三类:读取、写入、运算。在机器指令这一层来讲,并不关心数据的值是多少,而关心指令执行前一刻,它将要处理的数据所在的位置,指令在执行前所要处理的数据可以再三个地方:CPU内部、内存、端口。

    5、汇编语言中用三个概念来表达数据的位置:1.立即数(idata),执行前在CPU的指令缓冲器中,在汇编指令中直接给出;2.寄存器;3.段地址(SA,segment address)和偏移地址(EA,excursion address)。

    6、8086CPU寻址方式小结:

    7、指令要处理的数据有多长?8086CPU可以处理两种尺寸的数据,byte和word。1.通过寄存器名指明要处理数据的尺寸;2.在没有寄存器名存在的情况下,用操作符X ptr指明内存单元的长度,X在汇编指令中可以为word或byte,例mov  word ptr [bx],1。这个是很有必要的;3.其他方法,有些指令默认了访问的是字单元还是字节单元,比如push:sp = sp – 2,只进行字操作。

    8、寻址方式的综合运用:(数组、结构化数据的使用,接近高级语言

    通用:用bx定位整个结构体,用idata定位结构体中的某一个数据项,用si定位数组中的每个元素。如:[bx].idata、[bx].idata.[si]。

    9、div指令(division)除法,被除数默认放在ax或dx和ax中,当除数8位时,被除数16位(ax),当除数16位,被除数32位(dx+ax)。CPU只认识0和1,用乘法模拟除法。商8位放在al中,16位放在ax中,余数8位放在ah中,16位放在dx中。

    10、伪指令dd(double word,双字)型数据,32位。

    11、dup,一个操作符,由编译器识别处理的伪指令,和db、dw、dd等数据定义伪指令配合使用,用来进行数据的重复操作,使用1:db 重复的次数 dup(重复的字节型数据)。例1,db 3 dup(0),定义了2个字节,他们的值都是0。

    例2,stack segment  db 200 dup(0)  stack ends

    View Code
     1      mov ax,seg
    2 mov ds,ax
    3 mov bx,60h ;记录首址bx
    4 mov word ptr [bx].0ch,38 ;类似结构体操作
    5

    6 add word ptr [bx].0eh,70
    7
    8 mov si,0
    9 mov byte ptr [bx].10h[si],'V'
    10 inc si ; si++
    11 mov byte ptr [bx].10h[si],'A'

    12 inc si
    13 mov byte ptr [bx].10h[si],'X'
    14

     

  • 相关阅读:
    c#类的小小理解
    sql语句:保留要害字的问题.例如 size,text,user等
    c#2005做新闻发布系统心得
    asp 遇到过的问题集锦,附加asp语句添加数据库和生成表,asp命令更改指定文件的文件名,asp值传递的应用091116小结
    dropdownlist控件失去焦点的小应用和函数substr
    获得当前应用程序路径C#03
    模糊查询简单分析,得出sql语句
    20080905经典的DataReader对象解读+几种对数据库的操作的命令,20100111update read db example
    Servlet 容器的工作原理 ( 二 )
    手低眼高 初学者学习Hibernate的方法
  • 原文地址:https://www.cnblogs.com/quantumplan/p/2394713.html
Copyright © 2011-2022 走看看