汇编语言第3章 指令系统和寻址方式
- 格式:ppt
- 大小:722.50 KB
- 文档页数:80


【计算机组成原理】指令系统-寻址
⼀、指令和数据的寻址⽅式
操作数或指令在存储器中的地址:某个操作数或某条指令存放在某个存储单元时其存储单元的编号
在存储器中,操作数或指令字写⼊或读出的⽅式,有地址指定⽅式、相联存储⽅式和堆栈存取⽅式。
寻找⽅式:当采⽤地址指定⽅式时,形成操作数或指令地址的⽅式。
寻址⽅式分为两类:指令寻址和数据寻址。1)指令寻址:确定下⼀条预执⾏指令的指令地址
a、顺序寻址:(PC)+1->PC 程序计数器⾃动加1
b、跳跃寻址:由转移指令指出
2)数据寻址:确定本条指令的操作数地址
指令中所给出的地址码,并不⼀定是操作数的有效地址。
寻址过程就是把操作数的形式地址,变换为操作数的有效地址。
例如:⼀种单地址指令的结构如下所⽰,其中⽤X I D各字段组成该指令的操作数地址。
⼆、寻址⽅式1、隐含寻址(操作数在累加寄存器中)
在指令中不明显的给出⽽是隐含着操作数的地址
例如:单地址的指令格式,没有在地址字段指明第⼆操作数地址,⽽是规定累加寄存器AL或AX作为第⼆操作数地址,AL或AX对单
地址指令格式来说是隐含地址eg: MOV AL ,LSRC_BYTE
MUL RSRC_BYTE
ADD寻址特征A
操作数地址隐含在操作码中,(寻址特征指明寻址类型)。
另⼀个操作数隐含在ACC中
先在内存中地址为A的地⽅找到⼀个操作数,另⼀个操作数隐含在寄存器ACC⾥,从ACC⾥取出另外⼀个操作数,然后和给出的A
地址中的数相加暂存在ACC中。2、⽴即寻址
形式地址A就是操作数本⾝
OP⽴即寻址特性 #A
指令执⾏阶段不访存A的位数限制了⽴即数的范围
3、直接寻址
EA=A
直接根据读内存找到操作数,形式地址不需要经过任何处理。
执⾏阶段访问⼀次存储器A的位数决定了该指令操作数的寻址范围
MOV AX,[2222H]:将有效地址为2222H的内存单元的内容读到累加器AX中
4、间接寻址
EA=(A)
有效地址由形式地址间接提供,形式地址是操作数的地址的地址
3545233.doc 制作:江家宝
第 1 页 共 24 页 《IBM—PC汇编语言程序设计》课后作业参考答案目录
第一章: 基础知识 ........................................................................................ 2
第二章: 80×86计算机组织 ......................................................................... 2
第三章: 80×86的指令系统和寻址方式 ..................................................... 3
第四章: 汇编语言程序格式 ........................................................................ 7
第五章: 循环与分支程序设计 .................................................................... 9
第六章: 子程序结构 ................................................................................ 12
第七章: 高级汇编语言技术 .................................................................... 20
第八章: 输入输出程序设计 .................................................................... 22
第1章 进制及码元
1.进制转换
129= 81H= 10000001B=201Q
298= 12AH= 100101010B=452Q
1000= 3E8H= 1111101000B= 1750Q
5DH= 1011101 B= 135 Q= 93 D
3E8H= 1111101000 B= 1750Q= 1000 D;
357Q=11101111 B= 0EF H= 239 D
3.数据表示范围:
一字节的无符号数表示范围为0~255,有符号数(补码)表示范围为-l28—+127。一个字的无符号数表示范围为0~65535,有符号数(补码)表示范围为—32768~+32767。N位二进制数的无符号数表示范围为0~(2N-1),有符号数(补码)表示范围为-2N-1~(2N-1-1).
4.35H代表的ASCII字符为'5',代表十六进制数时等价的十进制值为53 ,代表压缩8421BCD码等价的十进制值为35 ,代表非压缩8421BCD码等价的十进制值为5。
5.FFH代表无符号数时等价的十进制值为255 ,代表补码有符号数时等价的十进制值为
一1 ,代表反码有符号数时等价的十进制值为 一0 ,代表原码有符号数时等价的十进制值为一l27。
6.--20的8位二进制补码为 ECH ,原码为 94H ,反码为 EBH 。158的16位二进制补码为009EH,原码为009EH ,反码为 009EH 。
第2章 微机硬件基础
1.计算机系统硬件的五大功能部件及其主要功能?
答:硬件系统按功能模块分为运算器、控制器、存储器、输入设备、输出设备。
运算器主要完成算术运算、逻辑运算及移位运算,其中主要包括算术逻辑运算单元Arithmetic Logic Unit,ALU)和暂存数据(原始、中间、结果)的寄存器(Register,R)。
控制器实现对计算机部件的协调调度完成指令的分析执行,其中主要有程序计数器Program Counter,PC)或叫指令指针(Instruction Pointer,IP)、指令寄存器(Instruction register,IR)、指令译码器(Instruction Decoder,ID)、微操作命令发生器、时序发生器等。
BME OF NCHU
第3章寻址方式及指令系统位操作指令、控制指令、I/O指令和串操作指令
BME OF NCHU3.3.3 位操作类指令(12条)位操作类指令以二进制位为基本单位进行数据的操作;这是一类常用的指令,都应该特别掌握注意这些指令对标志位的影响1、逻辑运算指令AND OR XOR NOT TEST2、移位指令SHL SHR SAR3、循环移位指令ROL ROR RCL RCR
BME OF NCHU3.3.3 .1逻辑运算指令1) 逻辑与指令AND对两个操作数执行逻辑与运算,结果送到目的操作数
►AND指令设置CF = OF = 0,根据结果设置SF、ZF和PF状态,而对AF未定义AND UR,N/UR/M;UR←UR∧N/UR/MAND M, N/UR;M←mem∧N/UR只有相“与”的两位都是1,结果才是1;否则,“与”的结果为0AND
BME OF NCHU3.3.3 .1逻辑运算指令2) 逻辑或指令OR对两个操作数执行逻辑或运算,结果送到目的操作数
►OR指令设置CF = OF = 0,根据结果设置SF、ZF和PF状态,而对AF未定义OR UR,N/UR/M;UR←UR ∨N/UR/MOR M, N/UR;M←M ∨N/UR只要相“或”的两位有一位是1,结果就是1;否则,结果为0OR
BME OF NCHU3.3.3 .1逻辑运算指令3) 逻辑异或指令XOR对两个操作数执行逻辑异或运算,结果送到目的操作数
►XOR指令设置CF = OF = 0,根据结果设置SF、ZF和PF状态,而对AF未定义XOR UR,N/UR/M;UR←UR ⊕N/UR/MXOR M, N/UR;M←mem⊕N/UR只有相“异或”的两位不相同,结果才是1;否则,结果为0XOR
BME OF NCHU3.3.3 .1逻辑运算指令4) 逻辑非指令NOT对一个操作数执行逻辑非运算
►NOT指令是一个单操作数指令►NOT指令不影响标志位NOT UR/M;UR/M←~UR/M