不会编就不会汇编之寄存器基础介绍

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不会编就不会汇编之寄存器基础介绍相关的知识,希望对你有一定的参考价值。

  昨天看了寄存器的一些基本信息,今天就写写关于它的一些信息吧!

  对于一个汇编程序员来说,CPU中的主要部件就是寄存器。寄存器是CPU中程序员可以用指令读写的部件。程序员可以通过改变各种寄存器中的内容来实现对CPU的控制。

  不同的CPU,寄存器的个数、结构都是不相同的。8086CPU有14个寄存器,每个寄存器都要各自的名称。分别是:AX、BX、CX、DX、SI、DI、SP、BP、IP、CS、SS、DS、ES、PSW

   8086CPU的寄存器都是16位的,可以存放两个字节。AX、BX、CX、DX 这四个寄存器通常用来存放一般性的数据,被称为通用寄存器
        8086CPU的上一代CPU的寄存器都是8位的,为了保证兼容性,8086CPU的AX、BX、CX、DX 这四个寄存器可以分为两个可独立使用的8位寄存器来用:
                            AX可分为AH和AL
                            BX可分为BH和BL
                            CX可分为CH和CL
                            DX可分为DH和DL

  技术分享

  就是把原寄存器分为了高位寄存器(H)和低位寄存器(L)。

  这里介绍几天汇编指令:

    汇编指令                                          控制CPU完成的操作                                                  用高级语言描述
              mov ax,18                                       将18送入寄存器AX中                                                        AX=18
              mov ah,99                                       将99送入寄存器AH中                                                        AH=99
              add ax,9                                          将寄存器AX中的数加上9                                                   AX=AX+9
              mov ax,bx                                        将寄存器AX中的数据送入寄存器BX中                              AX=BX
              add ax,bx                                         将寄存器AX和寄存器BX中的数相加,结果放在AX中       AX=AX+BX

  注意:

    在汇编语言中是不区分大小写的,MOV AX,18 和  mov ax,18 是一样的。
           在进行数据传送或运算时,要注意指令的两个操作数的类型必须一致。

  这里有一个简单的栗子:

      计算2的4次方,代码如下:

            MOV AX,2       -->将2给到AX里
            ADD AX,AX       -->AX加上AX,也就是2+2=4
            ADD AX,AX      -->此时的AX里的值为4,所以就是4+4=8
            ADD AX,AX      -->此时AX里的值为8,所以 8+8=16,也就是2的4次方

 

  王爽《汇编语言》学习笔记

以上是关于不会编就不会汇编之寄存器基础介绍的主要内容,如果未能解决你的问题,请参考以下文章

8086汇编语言基础学习——8086微机基础

Arm处理器寄存器介绍及汇编基础

汇编第二章--基础知识梳理与总结

Android逆向基础之ARM汇编语言知识总结

Android逆向基础之ARM汇编语言知识总结

微机原理 汇编语言 小舅子考试问我些编程问题,在下实在不会,求各路英雄赐教解困。谢谢!