周小课汇编语言程序设计.ppt

上传人:sh****n 文档编号:8742335 上传时间:2020-03-31 格式:PPT 页数:28 大小:429.36KB
返回 下载 相关 举报
周小课汇编语言程序设计.ppt_第1页
第1页 / 共28页
周小课汇编语言程序设计.ppt_第2页
第2页 / 共28页
周小课汇编语言程序设计.ppt_第3页
第3页 / 共28页
点击查看更多>>
资源描述
复习 数据传送类指令算术运算类指令逻辑操作类指令 主要内容 字符串操作指令控制转移指令处理器控制指令电地暖 包括 MOVS LODS STOS CMPS SCAS 传送 取 存 比较 搜索 共同点 源串DS SI目的串ES DI完成一次字符处理后 自动修改指针 用DF规定串处理方向 DF 0 SI DI增1 字节串 2 字串 DF 1 SI DI减1 字节串 2 字串 字符串操作类 指令格式 MOVS目的串 源串目的串 源串仅用于说明传送的是字节 字 因此可使用代替符而省去目的串 源串代替符 MOVSB MOVSW 不带操作数 B 字节W 字指令功能 将源串中一个字节或字传送到目的串中 并修改指针 指向串中的下一个元素 ES DI DS SI DI DI 1 2 SI SI 1 2 MOVS串传送指令 重复前缀REP Repeat 的功能 如果 CX 0 则完成REP操作 跳出循环 CX的值减1 执行一次串操作指令 转到第一步重复REP操作 例 将源串复制到目的串 串长为100 MOVSI offsetSOURCEMOVDI offsetDESTMOVCX 100CLDREPMOVSB MOVSI offsetSOURCEMOVDI offsetDESTMOVCX 100CLDCOPY MOVAL SI MOV DI ALINCSIINCDIDECCXJNZCOPY 等价于 MOVS和REP 指令格式 LODS源串 代替符 LODSB LODSWSTOS目的串 代替符 STOSB STOSW指令功能 LODS 将源串中一个字节 字传送到AL AX 并修改指针 AL DS SI SI SI 1 2STDS 将累加器AL AX传送到目的串中 并修改指针 ES DI AL DI DI 1 2 串元素的取存指令LODS和STOS 指令格式 CMPS目的串 源串代替符 CMPSB CMPSW指令功能 将源串和目的串中的字节 字进行CMP操作 并修改指针 DS SI ES DI 影响标志位 不保存结果 DI DI 1 2 SI SI 1 2对标志寄存器的影响 影响OF SF ZF AF PF CF CMPS串比较指令 前缀REPE REPZ的功能 当串未结尾 CX 0 且串相等 ZF 1 时继续比较 如果 CX 0 则完成REPE REPZ操作 跳出循环 CX的值减1 执行一次串操作指令 如果零标志位Z 1 则转回第一步 如果Z 0 则完成REPE REPZ操作 跳出循环 例 比较两个串是否相同 MOVSI offsetSOURCEMOVDI offsetDESTMOVCX 100REPECMPSW 重复比较JNZDIFF 如果Z 0 说明两个串中有某个字不相同 否则 两个串相同 CMPS和REPE REPZ指令 指令格式 SCAS目的串代替符 SCASB SCASW指令功能 比较AL AX与目的串中元素 字节或字 的大小 并修改指针 CMPAL AX ES DI 影响标志位 DI DI 1 2对标志寄存器的影响 影响OF SF ZF AF PF CF SCAS串搜索指令 REPNE REPNZ的功能 当串未结尾 CX 0 且串元素与累加器内容不相同 ZF 0 时继续搜索 直到CX 0或ZF 1才执行下一条指令 如果 CX 0 则完成REPNE REPNZ操作 跳出循环 CX的值减1 执行一次串操作指令 如果零标志位Z 0 则转回第一步 如果Z 1 则完成REPNE REPNZ操作 跳出循环 例 查找串中是否含有元素0FFH MOVDI offsetDESTMOVCX 100 串长为100MOVAL 0FFH 搜索的元素REPNESCASB 不相等时继续搜索下一个字节JNEERR 如果找不到 AL 则进行出错处理 已找到 AL SCAS和REPE REPZ指令 SCAS指令举例 例 搜索某一数据块BLOCK中是否有关键字KEY 若有 把搜索次数记下来 若次数为0 表示未搜索到关键字 且记录下存放关键字的地址 设BLOCK在附加段 MOVDI offsetBLOCK 设定数据块的地址指针MOVCX COUNT 数据块长度设在CX中MOVAL KEY 将关键字送入ALCLD 设置方向标志DF 0REPNESCASB ZF 0继续搜索 ZF 1搜索到了JZFOUNDMOVDI 0 串结束且不相等 即找不到KEY 0 DIJMPDONEFOUND DECDI DI 1MOVPOINTR DI 保存关键字地址到POINTR单元MOVBX offsetBLOCKSUBDI BXINCDI 找到KEY DI中为搜索次数DONE HLT 停机 转移指令 无条件转移指令 条件转移指令循环指令 LOOP LOOPE LOOPZ LOOPNE LOOPNZ调用返回指令 CALL RET中断指令 INT INTO IRET 控制转移类 JMP指令格式 直接转移方式 JMP目标标号指令功能 控制程序无条件地转移到目标单元指令用法 段内转移方式段间转移方式 转移指令 指令格式 Jcc目标标号cc 转移条件目标标号 8086 只能是短程转移 转移位移量 128 127指令功能 根据当前标志寄存器或计数寄存器器CX的状态 决定是否转移对标志寄存器的影响 条件转移指令对标志寄存器不产生影响 条件转移指令 无符号数比较大小 时转移 JA JNBE转移条件 C 0且Z 0 时转移 JAE JNB JNC转移条件 C 0 时转移 JB JNAE JC转移条件 C 1 时转移 JBE JNA转移条件 C 1或Z 1A Above 大 B Below 小 E Equal 等 N Not 非对无符号数 CF 0 说明 1 说明 条件转移指令 有符号数比较大小 时转移 JG JNLE 时转移 JGE JNL 时转移 JL JNGE 时转移 JLE JNG指令中 G Greater 大 L Less 小 E Equal 等 N Not 非 条件转移指令 判断是否相等 时转移 JE JZ 转移条件 ZF 1 时转移 JNE JNZ 转移条件 ZF 0 判断是否溢出溢出时转移 JO 转移条件 OF 1 不溢出时转移 JNO 转移条件 OF 0 判断奇偶状态偶状态时转移 JP JPE 转移条件 PF 1 奇状态时转移 JNP JPO 转移条件 PF 0 条件转移指令 判断符号位符号位为1时转移 JS 转移条件 S 1 符号位为0时转移 JNS 转移条件 S 0 判断CX ECX是否为0CX 0时转移 JCXZ转移条件 CX 0 条件转移指令 LOOP指令格式 LOOP标号指令功能 控制循环 以CX为递减计数器 CX的值减1CX 0吗 若CX 0 结束循环 执行下一条指令若CX 0 跳转到标号处LOOPAGAINDECCXJNZAGAIN 等价 循环指令 循环指令举例 例 用循环实现软件延时MOVCX 0F000H 置循环初值NEXT NOP 空操作F000H次 产生延时LOOPNEXTLOOPE LOOPZ指令 使CX自减1 若CX 0且ZF 1 则循环转移至目标标号 LOOPNE LOOPNZ指令 使CX自减1 若CX 0且ZF 0 则循环转移至目标标号 指令功能 CALL 过程调用指令格式 CALL子程序名 目标地址RET 过程返回指令格式 RET若是段内调用 只需将断点处IP的值放在堆栈中保存 若是段间调用 则需将断点处CS和IP的值都放入堆栈中保存 调用 返回指令 指令格式 INTn n为8位中断类型号指令功能 引起中断类型号为n的中断 PUSHF 清除标志寄存器中的中断允许标志IF和追踪标志TF 以屏蔽中断 禁止追踪方式 把当前的CS IP先后压入栈中 SP减4 以保留断点 以段间间接调用的方式调用中断程序 即 n 4 IP n 4 2 CSINTO为溢出中断指令 是INT的特例 中断指令INT Interrupt 指令格式 IRET指令功能 用在中断程序的最后 用于返回主程序 IP出栈 SP 2 CS出栈 SP再 2 标志寄存器FLAGS出栈 SP再 2 中断返回指令 标志操作指令 CLC STC CMC CLD STD CLI STI其他处理器控制指令 NOP HLT 处理器控制类 指令功能 修改进位标志CF 方向标志DF或中断允许标志IF 修改进位标志CFCLC CF 0STC CF 1CMC CF取反修改方向标志DFCLD DF 0STD DF 1修改中断允许标志IFCLI IF 0STI IF 1 标志位操作指令 1 NOP NoOperation 空操作指令 用于插入短暂的延时 2 HLT Halt 处理器暂停指令 使CPU进入暂停状态脱离暂停状态 RESET线上有复位信号NMI线上有请求信号中断允许情况下INTR线上有请求信号 其他处理器控制指令 思考题 编写一段汇编程序 实现从内存单元DS 0100H开始100个字节的数据复制到内存单元DS 0500H开始的100个单元中 预习 汇编程序的编译 连接 执行
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!