西安电子科技大学考研复试科目-微机原理与接口技术chap03_02.ppt

西安电子科技大学考研复试科目-微机原理与接口技术chap03_02.ppt

  1. 1、本文档共114页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
西安电子科技大学考研复试科目-微机原理与接口技术chap03_02

微机原理及接口技术 第3章 Intel处理器指令系统及汇编语言 本节要点 布尔和比较指令 条件跳转 条件循环指令 条件结构 (一)简介 在汇编语言中如何写一条 IF 语句? 编译器是如何将嵌套的 IF 语句翻译成机器语言的? 如何设置和清除二进制数字中的单个位? 如何对数据进行简单的二进制加密? 如何通知计算机正在比较的是有符号数字还是无符号数字? (二)布尔和比较指令 1. AND 指令 功能:在操作数的对应数据位之间执行布尔(位)“与”操作,并将结果保存在目的操作数中。 格式: AND 目的操作数,源操作数 允许的操作数形式: AND reg,reg AND reg,mem AND mem,reg AND reg,imm AND mem,imm 两个操作数可以是8、16 或 32位的,但它们的尺寸必须相同。 (二)布尔和比较指令 1. AND 指令 影响的标志位: 总是清除 OF 和 CF; 根据结果修改 SF、ZF、PF。 主要用途:对特定的位清“0”,同时保留其它的位。 例: mov al and al (二)布尔和比较指令 1. AND 指令 大写字母与小写字母的 ASCII 码之间的关系: a:61h,A:41h,例:将字符转换位大写形式: (二)布尔和比较指令 2. OR 指令 功能:按位取“或”。 格式:与 AND 指令相同。 主要用途:对特定的位置“1”,并保留其它位。 例: mov al or al (二)布尔和比较指令 2. OR 指令 【例】将0到9之间的整数转换成对应的ASCII码数字。 方法:将位4和位5设置为1。 mov dl,5 ; 二进制值 or dl,30h ; 转换到 ASCII 码 (二)布尔和比较指令 3. XOR 指令 功能:按位取“异或”。 格式:与 AND 及 OR 指令相同。 XOR指令的用途: 对某些位取反,同时不影响其它的位。 判断16位或32位值的奇偶性。 mov ax,64C1h ; 0110 0100 1100 0001 xor ah,al ; PE,奇偶标志被设置 简单数据加密。 将某个操作数与同样的操作数执行两次异或运算后,其值保持不变。 (二)布尔和比较指令 4. NOT 指令 功能:将操作数所有数据位取反,结果为反码。 格式: NOT reg NOT mem 例: mov al not al ; AL = NOT指令不影响任何状态标志。 (二)布尔和比较指令 5. TEST 指令 功能:两操作数按位“与”,根据结果设置标志位,但不回送结果(不修改目的操作数)。 格式:与 AND 指令相同。 用途:测试操作数的某一位是“0”还是“1”。 例子:测试多个位 想知道AL中第0位、第3位是否同时为“0”。 test al ;test bits 0 and 3 判断ZF是否等于1 影响的标志:清除 OF、CF;修改 SF、ZF、PF。 (二)布尔和比较指令 6. CMP 指令 格式:与 AND 指令相同。 cmp 目的操作数,源操作数 功能:与减法指令一样执行减法操作,即 目的操作数-源操作数, 但不回送结果,只影响标志位。 影响的标志:根据相减结果修改 OF、SF、ZF、CF、AF、PF。 无符号操作数的比较: (二)布尔和比较指令 6. CMP 指令 有符号操作数的比较: (二)布尔和比较指令 7. 设置和清除单个CPU标志 例: (三)条件跳转 1. 条件结构 条件分支的实现: 使用 CMP、AND、SUB 之类的指令修改 CPU 标志; 使用条件跳转指令测试标志值,以决定是否向新的分支转移。 例子: (三)条件跳转 2. Jcond指令 功能: 条件标志为真:分支转移到新的目的标号处; 条件标志为假:执行紧跟在条件跳转指令之后的指令。 格式: Jcond 目标地址 例: 限制: 默认情况下,跳转目标应在当前过程之内。可声明全局变量(变量后面跟“::”)来突破这种限制。 跳转目标和跳转指令的下一条指令之间的偏移地址必须在-128到+127字节范围之内。 (三)条件跳转 3. 条件跳转指令的类型 条件转移指令有很多(下面将要介绍30条)。一些指令是冗余的,仅是已存指令的别名。 按照以下条件可将跳转指令分成4组: 根据特定的标志值。 根据操作数之间是否相等,或根据(E)CX的值。

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档