5-86系列微型计算机指令系统.pptVIP

  • 0
  • 0
  • 约6.99千字
  • 约 79页
  • 2019-08-10 发布于广东
  • 举报
5.2.1 通用数据传送指令 换码指令 XLAT 实现查表功能, BX指向表的首地址(相当于数组首址), AL为表格中某一项与表格首地址的偏移量 (相当于数组下标) 执行指令后将表格项的值传送至AL 例如 MOV BX,2000H MOV AL,3 XLAT 5.2.1 通用数据传送指令 5.2.2 目标地址传送指令 取有效地址指令 功能:将存储器地址送到一个16位寄存器 格式:LEA 寄存器,地址 例如: LEA AX,【2728】; 执行后AX中为2728 LEA BX,【BP+SI】; 执行后BX内容位BP+SI的值 5.2.2 目标地址传送指令 将地址指针装到DS和另一个寄存器的指令 功能:将4字节的地址指针(段基址+偏移量) 分别传送至DS和一个16位寄存器 格式:LDS 寄存器,地址 例如: LDS DI,【2720】 将2720H,2721H的内容送入DI 将2722H,2723H的内容送入DS 5.2.2 目标地址传送指令 将地址指针装到ES和另一个寄存器的指令 功能:将4字节的地址指针(段基址+偏移量) 分别传送至ES和一个16位寄存器 格式:LES 寄存器,地址 例如: LES DI,【2720】 将2720H,2721H的内容送入DI 将2722H,2723H的内容送入ES 5.2.3 标志位传送指令 读取标志指令 LAHF:将标志寄存器的低8位传送到AH中 设置标志指令 SAFH:将AH寄存器的相应位传送至标志寄存器 标志寄存器入栈指令 PUSHF:将标志寄存器(16位)压入堆栈 POPF:从栈顶弹出一个字到标志寄存器 5.2.4 输入/输出数据传送指令 功能:完成累加器与IO端口的数据传送 格式: IN 累加器,端口地址 OUT 端口地址,累加器 例如: IN AL,50H IN AX,DX OUT 44H,AL OUT DX,AX 5.3.1 算术运算类指令 加法指令 不带进位的加法:ADD 功能:目的操作数=源操作数+目的操作数 操作数类型: 源:通用寄存器、存储器、立即数 目的:通用寄存器、存储器 例如: ADD AL,50H ADD 【BX+DI】,AX 5.3.1 算术运算类指令 加法指令 带进位的加法:ADC 功能:目的操作数=源操作数+目的操作数+进位标志 操作数类型: 源:通用寄存器、存储器、立即数 目的:通用寄存器、存储器 例如: ADC AL,50H ADC 【BX+DI】,AX 5.3.1 算术运算类指令 利用ADC实现多字节加法 两个4字节无符号数分别存放在2000H和3000H起始的内存单元中(低位在前,高位在后),求和,并将和存储在2000H开始的内存单元中 CLC ;清进位标志 MOV SI,2000H ;第一个数的首址 MOV DI,3000H ;第二个数的首址 MOV AX,[SI] ;第一个数的低16位取到AX ADD AX,[DI] ;两个数的低16位相加 MOV [SI],AX ;低16位相加的结果送到2000H字单元 MOV AX,[SI+2] ;取第一个数的高16位到AX中 ADC AX,[DI+2] ;两个高16位数相加,再加CF MOV [SI+2],AX ;高16位的结果送到2002H和2003H单元 5.3.1 算术运算类指令 加法指令 增量指令(增1指令):INC 功能:操作数=操作数+1 操作数类型:通用寄存器、存储器 例如: INC AL INC BYTE PTR【BX+DI+500】 不影响进位标志CF 5.3.1 算术运算类指令 减法指令 不带借位的减法:SUB 功能:目的操作数=目的操作数-源操作数 操作数类型: 源:通用寄存器、存储器、立即数 目的:通用寄存器、存储器 例如: SUB AL,50H SUB WORD PTR【DI】,1000H 5.3.1 算术运算类指令 减法指令 带借位的减法:SBB 功能:目的操作数=目的操作数-源操作数-进位标志 操作数类型: 源:通用寄存器、存储器、立即数 目的:通用寄存器、存储器 例如: SBB AX,5000H SBB 【BX+DI】,AX 5.3.1 算术运算类指令 减法指令 减量指令(减1指令):DEC 功能:操作数=操作数-1 操作数类型:通用寄存器、存储器 例如: DEC AL DEC BYTE PTR【DI+2】 不影响进位标志CF 5.3.1 算术运算类指令 减法指令 取补指令:NEG 功能:操作数=操作数的补码 操作数类型:通用寄

文档评论(0)

1亿VIP精品文档

相关文档