西安市高新规划建设局网站,广告公司经营范围,怎么用ftp上传网站,软件下载网站制作计组笔记
汇编部分 通用寄存器#xff08;General Registers#xff09;: AX (Accumulator): 用于累加运算#xff0c;也是乘法和除法的默认寄存器。BX (Base Register): 可以用作一个基址寄存器#xff0c;通常用于存放数据的基地址。CX (Counter Register): 通常用于循环…计组笔记
汇编部分 通用寄存器General Registers: AX (Accumulator): 用于累加运算也是乘法和除法的默认寄存器。BX (Base Register): 可以用作一个基址寄存器通常用于存放数据的基地址。CX (Counter Register): 通常用于循环计数。DX (Data Register): 用于 I/O 操作和一些乘法与除法的高位。 指针和索引寄存器Pointer and Index Registers: SI (Source Index): 用于源数据的地址偏移通常在字符串操作中使用。DI (Destination Index): 用于目标数据的地址偏移通常在字符串操作中使用.SP (Stack Pointer): 用于指向栈顶。BP (Base Pointer): 用于指向栈底。 段寄存器Segment Registers: CS (Code Segment): 代码段寄存器操作系统决定不能作为目的操作数只能作为源操作数。DS (Data Segment): 数据段寄存器只能接受寄存器赋值不接受内存或立即数直接赋值。ES (Extra Segment): 附加数据段寄存器。SS (Stack Segment): 栈段寄存器。 标志寄存器Flag Register: FLAGS (Flags Register): 存储条件码和一些处理器状态标志如零标志、进位标志等。 程序员可见的寄存器13个通用寄存器
常用汇编指令 MOV (Move) 用于将数据从一个地方移动到另一个地方 eMOV AX, 5 # 将立即数5加载到寄存器AX
MOV BX, AX # 将寄存器AX的值移动到寄存器BX
MOV [DI], CX # 将寄存器CX的值存储到内存地址DI中
##注意易错
MOV [AX], [BX] #不能两次访存
MOV CS,AX #不能修改CSCS由操作系统分配
MOB DS,DATA #不能直接对段寄存器赋值只能用寄存器赋值 如MOV AX1000 MOV DS,AXADD (Addition) 用于将两个数相加。 ADD AX, BX #将寄存器AX和BX的值相加结果存储在AX中
ADD [SI], 10 # 将内存地址SI中的值与立即数10相加结果存储回SI中SUB (Subtraction) 用于将一个数减去另一个数。 SUB AX, BX ; 将寄存器AX减去BX的值结果存储在AX中
SUB [DI], 5 ; 将内存地址DI中的值减去立即数5结果存储回DI中MUL(Multiply) 相乘 MOV AX, 10 #被乘数
MOV BX, multiplier#乘法因子
MUL BX #AX AX * BX 此时 AX 中存储了结果高位在 DX 中mul AX,BX #AXAX*BXDIV(Divide) 相除 MOV AX, 10 #被除数
MOV BX, divisor #除数
DIV BX #AX AX / BX, DX AX % BXCMP (Compare) 用于比较两个数的大小设置标志位以便后续的条件跳转指令。 CMP AX,BX; 比较AX和BX的值设置相应的标志位LOOP MOV CX , 10 #用cx作为循环计数器
LOP:
#待做操作
LOOP LOP #cx--,若cx!0跳转到LOPJMP (Jump) 用于无条件跳转到指定的地址。 JMP Label ; 无条件跳转到标签Label处JE, JNE, JG, JL (Jump if Equal, Jump if Not Equal, Jump if Greater, Jump if Less) 用于根据先前的比较结果有条件地跳转到指定的地址。 JE Label ; 如果相等则跳转到标签Label处
JNE Label ; 如果不相等则跳转到标签Label处
JG Label ; 如果大于则跳转到标签Label处
JL Label ; 如果小于则跳转到标签Label处MOV AL, [variable]
CMP AL, 5 ; 比较 AL 和 5
JE equal_label ; 如果相等跳转到 equal_label
; 其他操作
JMP end_label ; 如果不相等跳转到 end_label
equal_label:; 相等时执行的操作
end_label:; 其他操作INC, DEC (Increment, Decrement) 用于增加或减少寄存器或内存中的值。 INC AX ; 将寄存器AX的值加1
DEC [SI] ; 将内存地址SI中的值减1移位操作 SHR LX,1 #逻辑右移一位最高位补0Shift Right--无符号数*2
SHL LX,1 #逻辑左移一位最低位补0Shift Left--无符号数/2
ROR LX,1 #循环右移一位被移出的会重新出现在最高位Rotate Right
ROL LX,1 #循环左移一位被移出的会重新出现在最低位Rotate Left
SAR LX,1 #算数右移一位最高位用符号位填充Shift Arithmetic Right--有符号数*2
SAL LX,1 #算数左移一位最低位用0位填充和SHL一致Shift Arithmetic Left--有符号数/2OUT MOV DX, 0x80 #将端口地址加载到 DX 寄存器
MOV AX, 0x42 #要发送的数据加载到 AX 寄存器
OUT DX, AX #将 AX 寄存器中的数据发送到端口 DX 只能使用两个寄存器作为端口CALL, RET (Call, Return) 用于调用和返回子程序。 CALL Subroutine ; 调用子程序
RET ; 返回示例
1.选择结构 2.循环结构 必背大题
CPU与指令 问比较组合逻辑控制和微程序控制的优缺点及应用场合。5分 答组合逻辑控制和微程序控制是用来控制如何产生微命令的两种方式。 组合逻辑控制方式是直接通过逻辑门电路产生微命令的因而它的主要优点是产生微命 令的速度很快。其主要缺点有两点其一是设计不规整因而难于实现设计自动化其二是 采用硬连逻辑不易修改和扩展指令系统的功能。组合逻辑控制方式主要用于高速计算机或 小规模计算机中。 微程序控制方式是通过执行微指令来产生微命令的主要优点如下 ① 设计规整设计效率高 ② 易于修改、扩展指令系统功能 ③ 结构规整、简洁可靠性高 ④ 性价比高。 其主要缺点是产生微命令的速度慢因为要多次访问控存读取微指令访存速度限制 了产生微命令的速度另外机器的执行效率不高因为微指令格式较简单没有充分发挥 数据通路本身所具有的并行能力。微程序控制方式主要用于速度要求不高、功能较复杂的机 器中特别适合于系列机。 问简述指令流水线的工作原理。5分 答为提高处理器执行指令的效率把一条指令的操作过程分成若干个子过程且每个子过程都在专门功能电路上完成这样指令的各子过程就能同时运行指令的平均执行时间也能大大减少。 问什么叫寻址方式常用的寻址方式有哪些5分 答寻址方式是指寻找指令中操作数所在地址的方法。1分 常用的寻址方式有立即寻址.直接寻址.寄存器寻址.寄存器间接寻址.变址寻址.基址加变 址.隐含寻址等。每项1分答对4项以上得4分 问什么是汇编的逻辑地址它由哪两部分组成8086 的物理地址是如何形成的 5分 答逻辑地址是将存储器分成若干个段之后而出现的一种地址形式,它由段地址和偏移地址 组成。物理地址是将逻辑地址中的段地址左移 4 个二进制位,再加上偏移地址而形成的。 问简述程序中指令和伪指令的区别。5分 答指令是能被计算机识别并执行的二进制代码它规定了计算机能完成的某一操作。伪指令是对汇编起某种控制作用的特殊命令其格式与通常的操作指令一样并可加在汇编程序的任何地方但它们并不产生机器指令。 问简化地址结构的基本途径是什么 答在指令中减少显地址的数量即使用隐地址方式给出地址指令中的地址段个数就可减少。 问减少指令中一个地址信息的位数的方法是什么 答采用寄存器寻址、寄存器间址等以寄存器为基础的寻址方式可以大大减少指令中一个地址的信息位数 问试比较超标量和超流水的异同点。 答超标量流水线值在一个处理器中针对同一种功能设置多条并存的流水线。在每个时钟周期中可向流水线发射多条同一类指令也能从流水线中流出多个处理结果。超流水线以增加流水线级数的方法来缩短机器周期使相同时间内超流水线能执行更多的机器指令。 存储 问请简述计算机系统中的三级存储体系结构模式并分析这种模式的优点和缺点。5分 **答**三级存储体系包括缓存cache、内存和外存这种模式的优点是层次体系清晰、便于设计实现也利于系统调度管理能提高存储系统性能缺点是结构复杂管理和控制都比较复杂硬件成本高。 问SRAM 和 DRAM 分别依靠什么原理存储信息需要刷新吗 答SRAM 即静态半导体存储器静态半导体存储器中的一位存储单元实际上是一个双稳态触发器靠交叉反馈存储信息。 DRAM 即动态半导体存储器则是靠电容电荷存储信息如电容上有电荷代表存放的信号1电容无电荷为存放的信号 0。 SRAM 不需要刷新而 DRAM 则需要刷新。 问主存和Cache之间的映射方式有哪几种请简述每种方式的基本思想。5分 答主要有直接映射、全相联映射和组相联系映射。 直接映射CACHE不分组而主存分组每组包含的数据块数量等于CACHE的数据块数。主存映射到CACHE时组内序号为K的数据块可映射到CACHE中序号为K的数据块位。 全相联映射CACHE和主存均不分组主存的第K个数据块可自由映射到CACHE中的任意数据块位 组相联映射CACHE和主存均分组且主存各组包含的数据块数等于CACHE分组后的组数主存某组内第K个数据块可映射到CACHE第K组任意一个块位。 总线与输入输出 问I/O接口的主要功能有哪些5分 答外设寄存器寻址数据传输和缓冲数据格式变换等产生中断及代码请求等控制逻辑功能。 问在DMA的初始化阶段中主要应完成哪些任务 答1向接口送出I/O设备的寻址信息。例如要从磁盘中读出一个文件则需送出该文件所在磁盘的驱动器号、圆柱面号、磁头号记录面号、起始扇区号或数据块号。 2向DMA控制器送出控制字主要是数据的传输方向输入主存还是从主存输出。 3向DMA控制器送出主存缓冲区首地址。数据的输入或输出往往需在主存储器中设置相应的缓冲区这是一段连续的存储区为此在初始化时送出其首地址。 4向DMA控制器送出交换量即数据的传输量。视设备的需要传输量可以是字节数、字数、数据块数。 问对 I/O 设备的编址方法有哪几种请简要解释。 答对 I/O 设备的编址方法实际上就是对 I/O 接口中有关寄存器及相应部件的编址方法有两大类型。 ① 外围设备单独编址。早期是为每台 I/O 设备分别分配一个设备码每个设备下属 n 个接口寄存器在 I/O 指令中给出设备码指明接口的哪个寄存器从而实现 CPU 对外设的访问。现在普遍采用为各 I/O 接口的每个有关寄存器分别分配一种 I/O 端口地址指令中给出端口地址也就知道 CPU 访问哪一台设备及其接口寄存器。 ② 外围设备与主存统一编址。将各 I/O 接口中的有关寄存器与主存的各编址单元统一编址为它们分配统一的总线地址。在传送指令中给出这类总线地址CPU 就可以访问相应的 I/O 设备及其接口寄存器。 问I/O 指令的设置方法有哪几种请简要解释。 答通常有三类常见的 I/O 指令设置方法。 ① 在指令系统中设置专门的 I/O 指令可对外围设备单独分配设备码或给 I/O 接口的有关寄存器分配专门的端口地址这种 I/O 指令称为显式 I/O 指令。 ② 采用通用的数据传送指令实现 I/O 操作相应地将外围设备接口的有关寄存器与主存统一编址。这种 I/O 指令是隐含在传送指令中所以又称为隐式 I/O 指令。 ③ 通过 I/O 处理器或 I/O 处理机控制 I/O 操作。这种方式下I/O 指令可分为两级CPU 调用 IOP 的指令和 IOP 本身的指令。 问I/O 指令的设置方法有哪几种请简要解释。 答通常有三类常见的 I/O 指令设置方法。 ① 在指令系统中设置专门的 I/O 指令可对外围设备单独分配设备码或给 I/O 接口的有关寄存器分配专门的端口地址这种 I/O 指令称为显式 I/O 指令。 ② 采用通用的数据传送指令实现 I/O 操作相应地将外围设备接口的有关寄存器与主存统一编址。这种 I/O 指令是隐含在传送指令中所以又称为隐式 I/O 指令。 ③ 通过 I/O 处理器或 I/O 处理机控制 I/O 操作。这种方式下I/O 指令可分为两级CPU 调用 IOP 的指令和 IOP 本身的指令。