1. 每条 机器指令的功能(如mov指令) 由一系列的微指令(微程序)来实现,微指令永久的存储在CPU中。2. 电脑在运行的过程中,CPU中的寄存器EIP(指令指针寄存器)不断的 一条条的 读取 已加载到内存中的机器指令 给CPU执行。CPU中的寄存器还包括: 8个通用寄存器 (32位) EAX可表示累加器、EBX、ECX可表示loop重复执行次数、EDX; ESI与EDI 复制数据时可表示源和目标索引; ESP栈指针用于过程调用、EBP基址指针用于过程调用中传递参数; 6个段寄存器 (16位) CS、DS、SS、FS、GS、ES表示段号,用于指定某个部分的起始地址。 1个标志寄存器(32位) 每个bit位上的0或1标记不同的含义3. CPU通过32位或64位的 物理地址 访问内存中的数据。内存数据以字节(8bit)为单位,32位的物理地址最多可表示4G(2^32)的内存容量。4. CPU通过16位的 端口地址 与特定I/O设备通信,可表示64K(2^16)个端口地址空间,每个端口地址可对应到特定的I/O设备。汇编中in/out指令用于CPU与外设进行数据交换。5. 为了避免忙等待循环,CPU通过 中断过程 来实现与I/O设备的交互,如当用户按下键盘某个键时,硬件产生中断信号,CPU接收后,正常终止当前指令,执行一个制定的中断过程,将按下的字符存入缓冲区。 汇编中int指令用于调度中断过程。6. 汇编器编译的时候,宏代码要重复的复制使用,在宏代码中可能要为过程传递不同的参数值,而过程代码不需要重复复制使用,运行时只需要跳转到过程代码的偏移量地址处,每次执行相同的操作,因此,编译运行时,过程代码只需要加载一次到内存中。7. Windows 操作系统中kernel32库函数的操作对象为句柄,句柄是拥有某些属性的对象,具体的值是一个地址(指针)。I/O设备和磁盘文件都是通过32位的句柄来表示,例如当WriteFile函数调用句柄时,可用来将内容在控制台显示(写入显示器句柄),也可用来将内容写入磁盘文件。 将磁盘文件显示在显示器上,需要先将文件的内容读取到缓冲区(Buffer),同样从键盘键入的字符也要先读入缓冲区,再写入文件。
上一篇:初一数学学年教学反思
下一篇:立定跳远的技巧