汇编小结

指令和数据

    指令和数据是应用上的概念。在内存或磁盘上,指令和数据没有任何区别,都是二进制信息。CPU在工作的时候把有的信息看作指令,有的信息看作数据,为同样的信息赋予不同的意义。

对存储器的读写

    存储器被划分为多个存储单元,存储单元从零开始顺序编号。这些编号可以看作存储单元在存储器中的地址。
    cpu想要从内存中读数据首先要确定要读取哪一个存储单元的数据。
    然而在一台微机中不只有存储器这一种器件。CPU在读写数据时还要指明,对哪一个期间进行操作,进行那种操作,是读还是写。

总线

(1)地址总线:控制了CPU最多可寻找的内存单元(传输地址的的大小为N位)。
(2)数据总线:决定了CPU和外界的数据传送速度(传送数据的大小为N位)。
(3)控制总线:决定了CPU对外部器件的控制能力。

内存地址空间

    在计算机中有些在物理上独立的存储器,但是他们都和CPU总线相连,CPU对他们进行读或写的时候都通过控制总线完成。所以CPU在操作他们的时候,把他们也当作内存来对待,把他们总的看做一个由若干存储单元组成的逻辑存储器。而这个逻辑存储器就是我们所说的内存地址空间。
    我们在基于一个计算机硬件系统编程的时候,必须知道这个系统中的内存空间分配情况。要向显存中写入数据,必须知道现存在内存地址空间中的地址。
    内存地址空间的大小首CPU地址总线宽度的限制。如地址总线宽度为20,可以传送2的20次方个不同的地址信息。所以其内存地址空间大小为1MB,同理,32位机的内存地址空间最大为4GB。
    对CPU来说,系统中的所有存储器中的存储单元都处于一个统一的逻辑存储器中,它的容量受CPU寻址能力的限制。这个逻辑存储器即是我们所说的内存地址空间。

寄存器

通用寄存器:
    8086CPU的所有寄存器都是16位的,可以存放两个字节。AX,BX,CX,DX这4个寄存器通常用来存放一般性的数据,被称为通用寄存器(但是CX还有对loop循环判断的作用)。
    八个通用寄存器也可以分开使用,如AL,AH,BL,BH,CL,CH,DL,DH这八个8位的寄存器,其中结尾为L的对应相应16位寄存器的低8位,H对应16位寄存器的高8位。

段寄存器:
    CS,DS,SS,ES
    CS:代码段寄存器      IP:指令指针寄存器
    寻址方式CS:IP :CS * 16 + IP
    8086CPU采用一种在内部用两个16位地址合成的方法来形成一个20位的地址。
    物理地址 = 段地址 * 16 + 偏移地址

    DS:数据段寄存器,指出当前程序使用的数据所存放段的最低地址,即存放数据段的段基址。
    eg:mov ax,[bx]  ;相当于 ax <- ds:bx,ds就是其默认的数据段寄存器
        mov ax,[0]  ;在debug中相当于 ax <- ds:0,在源代码中相当于 ax <- 0
        mov ax,ds:[0]  ;则相当于ax <- ds:0

DEBUG调试命令

R:查看,改变CPU寄存器内容。
D:查看内存中的内容。
E:改写内存中的内容。
U:查看内存中机器码的含义。
T:执行一条或多条指令。
A:以汇编的形式在内存中写入机器指令。
P:一次执行完循环,DEBUG会重复执行循环中的指令,直到(CX=0)。
G:执行到对应的地址为止。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值