第04讲 8086指令系统.pptVIP

  • 7
  • 0
  • 约4.11千字
  • 约 47页
  • 2018-06-24 发布于河南
  • 举报
第04讲 8086指令系统

04300H SI DS 04000H 0100H 0200H + 04300H DSx16 BX SI 指令格式: LES r16,mem 指令功能:将4个字节地址指针从源操作数指定的4个单元取出。其中,前2个字节送目的操作数,后2个字节送ES段寄存器。 说明: 指令中“r16”常用的寄存器是DI ③ LES 将双字指针送到寄存器和ES指令 4. 标志传送指令 ① LAHF 标志送到AH指令 ② SAHF AH送标志寄存器 ③ PUSHF 标志入栈指令 ④ POPF 标志出栈指令 可处理4种类型的数: 无符号二进制整数 带符号二进制整数 无符号压缩十进制整数 无符号非压缩十进制整数 二、算术运算类 1 加法指令 ① ADD 加法指令 指令格式: ADC 目的,源 指令功能:目的← 源 + 目的 + CF ② ADC 带进位的加法指令 指令格式: ADD 目的,源 指令功能:目的← 源 + 目的 运算类指令图示 ①ADD和ADC指令对所有的6个状态标志都有影响。 ②源和目的操作数不能同为存储器,且类型要一致。 ADD AL,25H 例: ADC BL,CL ADC AX,DX ADD AL,COST[BX] ADD COST[BX],BL 例: 用加法指令对两个8位16进制数5EH和3CH求和,并分析加法运算指令执行后对标志位的影响。 MOV AL,5EH MOV BL,3CH ADD AL,BL 思考:对标志位的影响? ③ INC 增量指令 指令格式:INC 目的 指令功能:目的← 目的 + 1 影响除CF外所有标志。 例: INC BL INC CX INC BYTE PTR [BX] INC WORD PTR [BX] * 第04讲 8086指令系统 1 数据传送指令 3 逻辑运算和移位指令 4 字符串处理指令 6 处理器控制指令 2 算术运算指令 5 控制转移指令 99条指令 一、数据传送指令 通用数据传送指令 目标地址传送指令 标志位传送指令 输入输出指令 ① MOV 传送指令 1. 通用数据传送指令 指令格式:MOV OP1,OP2 指令功能:0P1-OP2 功能描述:MOV指令的功能是把OP2的内容传送到OP1中。OPl和0P2是字节、字,指令中至少有一项明确说明传送的是字节还是字。 MOV指令允许传送数据的路径 4Rs代表4个段寄存器CS、SS、DS和ES; Rg代表8个通用寄存器 AX、BX、CX、DX、BP、SP、SI、DI。 助记口诀: 六个方格两个框,三横两叉不相撞; 两框加虚线,沿着虚线走; 三类操作数,两边正相反。 ①源和目的操作数不能同为存储器。 ②CS和立即数只能作源操作数,不能作为目的操作数。 ③不能将立即数直接赋值给DS、SS、ES ④指令不影响状态标志。 说明: 例:MOV AL,’B’ MOV BX,0AAC0H MOV [DI],AX MOV SI,ES:[BP] MOV WORD PTR [SI],70H MOV AX,2050H / MOV CL,58H 例:BX=2000H,DI=0100H,SI=0200H,BP=0300H MOV BYTE PTR [BX],55H MOV BYTE PTR [SI+05],55H MOV BYTE PTR [BP+DI],55H MOV BYTE PTR [BX+DI+2000H],55H MOV BYTE PTR [4050H],55H MOV WORD PTR [BX],55H DS=1000H,SS=2000H MOV 55H,AL MOV [BX],5 MOV DS,2000H MOV CS,AX MOV AX,IP MOV [BX],[2050H] 例:以下指令是否正确? ② PUSH 进栈指令 OP作为源操作数,堆栈的存储单元作为目的操作数 ①SP←SP-2 ②SS:[SP]←低8位,SS:[SP+1]←高8位 例:PUSH [BX] 指令格式:PUSH OP PUSH命令图示 能够实现“后进先出(先进后出)的存储器组织(或存储器块)称为堆栈。 引入堆栈:以三层子程序嵌套为例,逐级调用子程序时,A、B、C三点都有断点和现场需要保护,顺序为A→B→C;当子程序sub3执行结束,逐级返回时: A B C main sub1 sub2 sub3 最后被保护的C点现场应最先恢复,最先保护的A点现场应最后恢复。 8086使用段寄存器SS和指针寄存器SP管理堆栈

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档