1、第二章 寄存器 (CPU工作原理),要点:,CPU的组成 寄存器 字在寄存器中的存储 简单的汇编指令 物理地址和8086形成物理地址的机制 段的概念和段寄存器 Debug调试工具,CPU的组成,算术逻辑部件ALU:进行算术和逻辑运算 控制逻辑:控制各种器件进行工作 工作寄存器:用来存放计算过程中所需要的或得到的各种信息 内部总线:连接各种器件,进行数据的传送。,寄存器,8086/8088CPU的寄存器有4类: 数据寄存器:AX、BX、CX、DX 指针及变址寄存器:SP、BP、SI、DI 段寄存器:CS、DS、SS和ES 控制寄存器:IP和Flags,数据寄存器,也称为通用寄存器,均为16位,包
2、括AX,BX,CX和DX。 16位寄存器的逻辑结构4个16位寄存器又可分割成8个独立的8位寄存器 思考: 一个16位寄存器能存储的最大数据? 一个8位寄存器能存储的最大数据?,数据寄存器(续),AX (Accumulator),用累加器进行的操作可能需要更少时间。累加器可用于乘、除、输入/输出等操作; BX称为基地址寄存器(Base Register),可作通用寄存器用,在计算存储器地址时,常用作基址存储器; CX称为计数寄存器(Count Register),常用作循环计数器;在位操作中,要用CL来指明移位的位数; DX称为数据寄存器(Data Register)。在进行双字的乘、除运算时,
3、它可作为默认的操作数参与运算,也可用于存放I/O的端口地址。,字在存储器中的存储,字:word,一个字由2个字节组成一个字节可以存放在8位寄存器中 一个字可以存放在一个16位寄存器中,高位字节放于高8位寄存器中,低位字节放于低8位寄存器中。 如20000存放到AX中:0100111000100000 AH中为4EH,AL中为20H,高位字节,低位字节,几条汇编指令,指令格式:操作码 操作数,操作数 操作码:计算机所要执行的操作 操作数:在指令执行操作的过程中所需要操作的对象,操作数个数N,称为N地址指令,N为1,2,3,AX044CH 进位“丢失”,AX0058H,进位“丢失”,mov指令:数
4、据传送指令, 2地址指令 add指令:算术指令,2地址指令 注意:在进行数据传送或算术运算时,指令的两个操作对象的位数应当一致!,作业,检测点2.1,汇编语言上机环境介绍,编程环境Masm(以后再用),调试工具Debug Debug是DOS、Windows都提供的实模式程序的调试工具。可以用来查看CPU各种寄存器的内容、内存的情况和在机器码级跟踪程序的运行 进入Debug还有其他的调试工具:CodeView , Turbo Debuger,Debug命令 R命令:查看、改变CPU寄存器的内容 D命令:以16进制形式显示一块内存区域的内容 E命令:改写内存中的内容 A命令:以汇编指令的格式在内存
5、中写入一条机器指令 U命令:将内存中的机器指令翻译为汇编指令 T命令:执行一条机器指令 Q命令:退出Debug 注意:在Debug中输入或显示的数据都是十六进制形式;,关于使用命令的几点说明,在Debug中的提示符“-”下才能输入命令,在按“回车”键后,该命令才开始执行 命令是单个字母,命令和参数的大小写可混合输入 可用F1、F2、F3、Ins、Del和光标移动键等来编辑本行命令 当命令出现语法错误时,将在出错位置显示“ Error” 可用C或Break来终止当前命令的执行,还可用S来暂停屏幕显示(当连续不断地显示信息时,R命令,A命令写汇编指令,T命令单步执行,首先检查CS寄存器和IP寄存器的内容 如果不一致使用R命令设置后,再运行T命令,上述命令参见:教材23页 实验1,本节小结,了解CPU的组成; 掌握各种寄存器,尤其是通用寄存器; 理解字在寄存器中的存储; 掌握几条简单的汇编指令 熟悉Debug调试工具,掌握3个Debug命令;,