博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【笔记】汇编..寄存器和地址的概述
阅读量:4677 次
发布时间:2019-06-09

本文共 3328 字,大约阅读时间需要 11 分钟。

/*权展开式    原来是这样    FF     -> 1111 1111*/    【本章重点】    1.14个16位寄存器,8个8位寄存器    2.8086/8088七种寻址方式    3.8086/8088各种指令汇编和cpu的关系...(有猫腻~~)一、寄存器组        //通用的寄存器        AX BX CX DX (十六位)//数据寄存器        SP BP(指针)//        SI DI (变地址)//变址和指针寄存器        //控制        IP[指令指针] FLAG[标志寄存器](控制寄存器)        //段寄存        CS[代码] DS[数据] SS[堆栈] ES[附加](段寄存器)    看图1.       【...概述...】    1.通用寄存器        传送,暂时存数据,保存算术逻辑运算中的操作数和运算结果[AX BX CX DX     SP BP    SI DI ]    ___a.数据寄存器            AX BX CX DX 保存操作数和运算的结果//可拆 AH AL    BH BL   .....                AX->AH AL    其中AL可以用作累加器                BX->BH BL     其中BX基址寄存器                CX->CH CL     其中CX常用语循环    CL移位                DX->DH DL     其中DX用作32位乘除法用存放被除数的16位,,余数也用它~    ___b.变址和指针寄存器            SP BP SI DI主要是存放单元地址的偏移,或者存储某个单元地址的偏移,即作为存储器(短)指针使用。                     当做通用寄存器的时候可以保存16位算数逻辑运算的结果,有时候运算结果就是要存储单元地址的偏移~..{好笼统 不懂...}                SP BP        堆栈用                SI DI         存放偏移地址用    2.段寄存器        CS        代码段        DS        数据段        ES        附加段        SS        堆栈段    3.控制寄存器    ___a.指令指针            IP        下次要执行的代码偏移就是IP            ___b.标志寄存器        9个很牛的标志                    15    14    13    12    11    10    9    8    7    6    5    4    3    2    1    0                            O    D    I    T    S    Z        A        P        C                            F    F    F    F    F    F        F        F        F            //还是图比较好(图2):           //运算结果的标志        A.进位标示CF            主要用于反映运算是否产生进位或者借位//相加有进位,或者有减法有借位    他都会变成1否则为0        B.零标志ZF            用于反映运算结果是否为0,//如果结果为0,,,那么ZF为1,否则为0;        C.符号标志SF            用于反映运算结果的符号位//SF与运算结果的最高位相同    ,,,,如果运算结果的最高位为1,则SF被置为1,,否则被0;            //倒是方便了不用十六进制转换为二进制看了...        D.溢出标志OF            用于反映有符号数加减运算是否引出溢出,//,如果运算结果超出了8位或16位有符号数的表示范围,则在字节运算时                                         //  -128~127  -32768~32767                                        //,称为溢出。如果溢出则OF为1 否则0        E.奇偶标志PF            奇偶标志的数//若果1的个数是偶数,,则PF是1,否则是0        F.辅助进制标志AF            在["字"/"半字"]操作的时候,如果发生 [低半字节向高半字节/低字向高字] 进位或借位(就是加减法的时候);//辅助标志AF被置1,否则是0                //状态控制标志        G.方向标志DF            DF 为1按减的方式   DF为0按加的方式//虽然不懂~但是要先记住        H.中断允许标志IF            中断允许标志决定CPU是否响应外部可屏蔽中断请求//,当IF为1时,CPU能够响应外部的可屏蔽中断请求                                                        //,当IF为0时候,CPU不响应外部的中端请求~        I.追踪标志TF            当TF被置1后,CPU进入单步中断方式。//所谓单步中断方式就是在一条指令执行后,产生一个中断,,,,用于调试                    //(图3):            二、存储器分段和地址的形成        1.存储空间的地址和内容            存储器里面以"字"为单元(ff ff),            每个单元给一个存储器            //从0开始每次加1 ,,,无符号数 书写时十六进制            //16位进制2进制表示是  {2^16=0~65535}  一共65536个;                                                //65536就是64K;                                                        黑框表示方法:                0000  0001  0002  0003  0004  ....  000A  000B  000C  000D  000E  000F                0010  0011  0012  .......            001A  001B  001C  001D  001E  001F                ..............                 FFE0  FFE1  ..........        .....    ....    ...    ...            FFEE  FFEF                FFF1  FFF2  ..........        .....    ....    ...    ...            FFFE  FFFF            //一共65536个地址  就是2的16次方就是 16位寻址地址 (以后上图..)                                     收货:    各种标志  各种段~~~        {
1.14个16位寄存器,8个8位寄存器}

 

转载于:https://www.cnblogs.com/xiguayizu/p/3342685.html

你可能感兴趣的文章
ng-app一些使用
查看>>
sql 查询目标数据库中所有的表以其关键信息
查看>>
C# 高效率创建字符串类(StringBuilder)
查看>>
sql server 符号函数sign
查看>>
bzoj 4337 树的同构
查看>>
OPENQUERY用法以及使用需要注意的地方
查看>>
1001. Extending MyPoint class
查看>>
js使用showModalDialog,弹出一个自适应大小窗口
查看>>
[poj 3436]最大流+输出结果每条边流量
查看>>
webpack的安装
查看>>
字符流Reader和Writer
查看>>
【校招面试 之 C/C++】第33题 C++ 11新特性(四)之STL容器
查看>>
Java替代C语言的可能性
查看>>
android ListView中CheckBox错位的解决
查看>>
linux下的mongodb数据库原生操作
查看>>
BNUOJ 1268 PIGS
查看>>
菜鸟的MySQL学习笔记(三)
查看>>
商业选址5A法则
查看>>
POJ 1191 棋盘分割(区间DP)题解
查看>>
文件同步服务器,iis 集群 ,代码同步(一)
查看>>