Q&A12
Y86-64CPU的状态存储部件主要有哪些?
RF:程序寄存器 15个64位 %rax,%rcx,%rdx.%rbx,%rsp,%rbp,%rsi,%rdi,%r8到%r14
CC:条件码 3个1位 ZF SF OF
Stat:程序状态
PC:程序计数器
DMEM:内存
Y86-64的寻址方式有哪几种?
指令寻址方式:
顺序寻址方式 PC
跳跃寻址方式 jXX指令
操作数寻址方式:
寄存器寻址
立即寻址
间接寻址
基址寻址
Y86-64指令系统的算逻操作的操作数与X86-64有什么区别?
Y86-64仅允许在寄存器数据中应用算逻操作
X86-64则允许立即数,寄存器和内存
Y86-64的Jxx跳转指令,寻址方式与X86-64(短/近)有什么区别?
对目的地址进行完整编码
和x86-64中的PC相对地址编码不一样
rrmovq rax,rbx的机器指令是?
2005
0010 0000 0000 0101
Y86-64支持过程调用的指令有哪几个?
call
ret
Y86-64标志位怎么改变-副作用,怎么利用?
算数和逻辑操作OPq设置条件码作为指令执行的副作用
条件传送指令,条件跳转指令以条件码的值为依据
状态码是怎么产生的?X86为什么看起来没有呢?
AOK(1)-正常操作
HLT(2)-执行Halt
ADR(3)-错误的指令或数据地址
INS(4)-无效指令
对于Y86-64,当遇到这些异常的时候,我们就简单地让处理器停止执行指令。在更完整的设计中,处理器通常会调用一个异常处理程序,这个过程被指定用来处理遇到的某种类型的异常。就像在第8章中讲述的,异常处理程序可以被配置成不同的结果,例如,中止程序或者调用一个用户自定义的信号处理程序。