微机原理及应用 查表指令例 数据段中存放有 张ASCT码转换表, 42000H+0 0 设首地址为2000H 31 现欲查出表中第11 个代码的ASCI码 (设DS=4000H) 39 9 如下指令实现: A MOV BX. 2000H 42000H+11 42 B MOV AL OBH XALT 45 E 执行后得到AL值??
微机原理及应用 1 查表指令例 数据段中存放有一 张ASCII 码转换表 , 设首地址为2000 H , 现欲查出表中第11 个代码的ASCII 码 ( 设DS=4000 H ) 30 31 32 ... 39 41 42 ... 45 46 ... 42000H+0 42000H+11 ‘0’ ‘1’ ‘2’ ‘9’ ‘A’ ‘B’ ‘E’ ‘F’ 如下指令实现: MOV BX ,2000H MOV AL ,0BH XALT 执行后得到AL值??
微机原理及应用 2 查表指令例 可用如下指令实现: MOV BX,2000H;(BX)←表首 地址 MOV AL OBH (AL)←序号 XALT ;查表转换 执行后得到:(AL)=42H
微机原理及应用 2 查表指令例 可用如下指令实现: MOV BX,2000H ;(BX)←表首 地址 MOV AL,0BH ;(AL)←序号 XALT ; 查表转换 执行后得到:(AL)=42H
微机原理及应用 3 8086指令系统 ☆传送类指令 ☆数据操作类指令 ☆串操作指令 ☆控制类指令 本章要求
微机原理及应用 3 8086指令系统 传送类指令 数据操作类指令 串操作指令 控制类指令 本章要求
微机原理及应用 数据操作类指令 此类指令主要包括以下三种: 算术运算类指令 逻辑运篁指令 三、移位指令 四、小结 返回
微机原理及应用 4 数据操作类指令 此类指令主要包括以下三种: 一、算术运算类指令 二、逻辑运算指令 三、移位指令 四、小结 返 回
微机原理及应用 5 算术运算类指令 8086/8088指令系统中,具有完备的加、减、 乘、除算术运算指令,可处理不带符号或带符 号的8/16位二进制整数,以及不带符号的装配 型/拆开型十进制整数。 一、加法指令 减法指令算术运算指令的执行大多 三、乘法指令对状态标志位会产生影响 四、除法指令 五、BCD码运算指令 返回
微机原理及应用 5 算术运算类指令 • 8086/8088指令系统中,具有完备的加、减、 乘、除算术运算指令,可处理不带符号或带符 号的8/16位二进制整数,以及不带符号的装配 型/拆开型十进制整数。 一、加法指令 二、减法指令 三、乘法指令 四、除法指令 五、BCD码运算指令 返 回 算术运算指令的执行大多 对状态标志位会产生影响
微机原理及应用 加法指令 加法指令有以下三条: 不带进位位的加法指令ADD 、带进位位的加法指令ADc 三、增量指令INC 指令说明 返回
微机原理及应用 6 加 法 指 令 • 加法指令有以下三条: 一、不带进位位的加法指令ADD 二、带进位位的加法指令ADC 三、增量指令INC 指令说明… 返回
微机原理及应用 不带进位位的加法指令 指令格式: ADD DST SRO;(DST)DST+(SRC) 指令功能:用来执行2个字或2个字节的相加操作,结果放 在原来存放的目的操作数的地方。 例如: ADD AL,50H;AL和50H相加,结果放在AL中 ADD AX,[BX+2000H];BX+2000H和BX+2001H所 指 ;的两单元的内容和AX的内容 注意:ADD指行悬个恋标志位都产生影 嘛例 返
微机原理及应用 7 不带进位位的加法指令 • 指令格式:ADD DST, SRC ; (DST) (DST)+(SRC) • 指令功能:用来执行2个字或2个字节的相加操作,结果放 在原来存放的目的操作数的地方。 例如: ADD AL, 50H ; AL和50H相加,结果放在AL中 ADD AX, [BX+2000H] ; BX+2000H和BX+2001H所 指 ;的两单元的内容和AX的内容 ;相加,结果放在AX中。 返 回 示例 注意:ADD指令的执行对全部6个状态标志位都产生影 响
微机原理及应用 8 带进位位的加法指令 指令格式 ADC DST, SRC DST)(DST)+ SRC+CF 指令功能: 。指令格式、对操作数的要求、对标志位的影响 与ADD指令完全一样,指令执行时,将进位标 志CF的值加在和中。 ADc指令多用于多字节数相加,使用前要先将 CF清零。 示例 返回
微机原理及应用 8 带进位位的加法指令 • 指令格式: • ADC DST, SRC ;(DST) (DST)+(SRC)+CF • 指令功能: • 指令格式、对操作数的要求、对标志位的影响 与ADD指令完全一样,指令执行时,将进位标 志CF的值加在和中。 • ADC指令多用于多字节数相加,使用前要先将 CF清零。 示例 返回
微机原理及应用 9 ADC和ADD指令示例 例:有两个四字节的无符号数相加,这两个数分别放在 2000H和3000H开始的存储单元中,低位在前,高位 在后,和放在2000H开始的存储单元中: MOV SI 2000H MOV AX,[S耵; MOV DI 3000H: ADD AX, DI MOV SI, AX; MOV AX,SI+2: ADC AX, DI+2; MOV SI+2, AX;
微机原理及应用 9 ADC和ADD指令示例 例:有两个四字节的无符号数相加,这两个数分别放在 2000H和3000H开始的存储单元中,低位在前,高位 在后,和放在2000H开始的存储单元中: MOV SI, 2000H; MOV AX, [SI]; MOV DI, 3000H; ADD AX, [DI]; MOV [SI], AX; MOV AX, [SI+2]; ADC AX, [DI+2]; MOV [SI+2], AX;
微机原理及应用 10 ADD指令例 例题: MOV AL,78H ADD AL 99H 指令执行后6个状态标志位的状态 01111000 +10011001 100010001 标志位状态:CF SF AF= ZF= PF= OF= 返回
微机原理及应用 10 ADD指令例 例题: MOV AL,78H ADD AL,99H 指令执行后6个状态标志位的状态 标志位状态: CF= SF= AF= ZF= PF= OF= 01111000 + 10011001 1 00010001 返回