计算机组成和结构第4章指令系统.pptVIP

  • 25
  • 0
  • 约1.22万字
  • 约 82页
  • 2017-06-08 发布于湖北
  • 举报
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 例题:阅读下列源程序,指出其完成什么功能? MOV R8,1111 ;被加数(高位) MOV R9,2222 ;被加数(低位) MOV R10,3333;加数(高位) MOV R11,4444:加数(低位) ADD R9,R11 ;低位和 ADC R8,R10 ;高位和 RET ;返回 * I/O指令(2条) 输入 IN PORT ;R0 ←( PORT) 输出 OUT PORT ;PORT ←(R0) OP XX I/O PORT * 转移指令(9条) 无条件绝对转移 JP SR ;PC←(SR) 条件绝对转移 JP CND,SR ;条件满足(0或1)PC←(SR), 否则 PC←(IP)+1 OP CND/XX XXXX SR * 无条件绝对转移 JP ADR ;PC←ADR 条件绝对转移 JP CND,ADR ;条件满足(0或1)PC←ADR, 否则 PC←(IP)+1 OP CND/XX XXXX XXXX 绝对地址ADR * 无条件相对转移 JR OBJ ;PC←(IP)+位移量DISP 条件相对转移 JR CND,OBJ ;条件满足(0或1)PC←(IP)+位移量DISP, 否则 PC←(IP)+1 OP CND/XX 相对转移位移量DISP * 例题:阅读下列源程序,指出其完成什么功能? MOV R1,0 ;置累加器初值为0 MOV R2,0A ;最大加数 MOV R3,0 ;加数初值 OBJ: INC R3 ;加数 ADD R1,R3 ;累加 CMP R3,R2 ;判断是否累加完 JR NZ,OBJ RET ;若完成,返回 * 子程序调用指令(2条) OP XX XXXX SR 调用 CALL SR ;SP←(SP)-1,(SP)←(PC), PC←(SR) OP XX XXXX XXXX 绝对地址ADR 调用 CALL ADR ;SP←(SP)-1,(SP)←(PC), PC←ADR * 4.5.2 Pentium指令系统 1)程序员所能见到的寄存器 (1)通用寄存器 EAX、EBX、ECX、EDX ESP、 EBP、 ESI、EDI (2)6个16位的段寄存器 CS、SS、DS、ES、FS、GS (3)指令指针和标志寄存器 EIP、EFLAGS(32位) * 2)Pentium在实模式下32位地址的形成 段寄存器(CS、DS、ES、FS、GS、SS) 基址寄存器(EAX、EBX、ECX、EDX、ESP、EBP、ESI、EDI) 变址寄存器(EAX、EBX、ECX、EDX、EBP、ESI、EDI) 放大因子1/2/4/8 位移量disp(0/8/32) 16 * 3) Pentium的指令格式 指令由:0到4个可选指令前缀、1或2字节的操作码、一个可选的地址指示器、一个可选的位移量、一个可选的立即数字段组成。 (1)前缀 0或1 0或1 0或1 0或1 指令 段取代 操作数 大小取代 地址 大小取代 Lock或重复指令前缀 显式指出段寄存器 32、16位地址切换 32、16位数据切换 * (2)指令 1或2 0或1 0或1 0,1,2或4 0,1,2或4 OP MOD/RM SIB Disp Imm Mod Reg/op R/M 7 6 5 4 3 2 1 0 SS 变址 基址 7 6 5 4 3 2 1 0 * 4.5.3 SPARC指令系统 1)指令类型 (1)算术运算/逻辑运算/移位指令 (2)LOAD/STORE指令 (3)控制转移指令 (4)读/写专用寄存器指令 (5)浮点运算指令 (6)协处理器指令 * 2) SPARC的指令格式 SPARC采用等长指令字结构,所有指令均是32位,在存储器中是字地址对准的。 SPARC的基本指令格式有三种: 格式1 CALL OP disp

文档评论(0)

1亿VIP精品文档

相关文档