汇编总结(一)

来源:互联网 发布:淘宝离职证明哪家靠谱? 编辑:程序博客网 时间:2024/05/16 07:57

       经过两天的钻研和琢磨,终于把几种寻址方式搞个大概,可能有些误解,但我还是挺高兴的,因为我的付出终于有回报了!^_^

       我想在下面做个小小的总结。

       先回忆一下基础知识:

       8086微处理器的内部分为两个部分:执行单元(EU)和总线接口单元(BIU)。

       执行单元负责指令的执行。它包括通用寄存器、ALU(运算器)、状态寄存器等。

       BIU单元负责与存储器和I/O设备进行接口。它由段寄存器、指令指针、地址加法器和指令队列缓冲器组成。地址加法器将段地址和偏移地址相加,生成20位的物理地址。

     通用寄存器包括数据寄存器、指针寄存器。

      数据寄存器:AX、BX、cx、dx。

     指针寄存器包括:堆栈指针(SP)、基数指针(BP)、源变针(SI)、目的变针(DI)。

     控制寄存器:指令指针(IP)、状态标志(PSWH/PSWL)。

     段寄存器:代码段(CS)、数据段(DS)、堆栈段(SS)、附加段(ES)。

     刚开始认识汇编时,认为存储数据的那个东西是寄存器呢,当我看了微机原理后发现,原来物理地址是针对存储器而言的,每个存储器单元对应一个用20位地址线来指定的5位16进制地址,而这个物理地址是经过地址加法器将段地址和偏移地址相加而得的。

   一般情况下,用mov ax,bx  等命令符代表段寄存器为DS,在寻址时只需将DS的值和BX/CI/DI等的值相加,然后找该5位地址时,会在某个存储器的相应地址处,找到该值,可能该值是一个数值也有可能是一个地址,然后放到通用寄存器中,当作一个已知的数据进行运算。

     寻址的过程也就是在段寄存器和通用寄存器之间进行通信,像bx,si,di等存储的都是偏移地址,而寻址的过程只不过是一个对号入座游戏,只要能找到存储器中的值,然后取出该值,存入ax中,进行运算。

      虽然写的底气不足,但是好歹也是我花近两天的时间琢磨出来的,看来有些东西,只要你肯努力下工夫,就一定能做个东西出来,不管东西的质量如何,总是一份劳动,继续努力!

      希望以后能写一些更有分量的总结。

      小小总结,供以后复习用,嘿嘿!

原创粉丝点击