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

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

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
西安电子科技大学考研复试科目-微机原理和接口技术chap03_02

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

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档