分享好友 最新资讯首页 最新资讯分类 切换频道
第7章逻辑运算-ppt课件
2024-12-28 03:17

1、第第7 7章章 逻辑运算逻辑运算 第第7章章 逻辑运算逻辑运算 7.1 逻辑运算指令逻辑运算指令 7.2 移位及循环移位移位及循环移位 第第7 7章章 逻辑运算逻辑运算 7.1 逻辑运算指令逻辑运算指令 一切的逻辑指令都将处置存放器或存储器中的一个字节或一个字。指令将被操作(参与运算)的字节、字的各位予以配对,并且设定CF、OF、PF、SF和ZF标志的形状,AF标志对于用户没有意义。第第7 7章章 逻辑运算逻辑运算 7.1.1 逻辑指令 1. AND 与运算 假设被配对的两个位都为1,那么其结果为1;而在其他的情况中,它的值均为0。 2. OR 或运算 假设被配对的两个位其中有一个为1,那么其

第7章逻辑运算-ppt课件

2、结果为1;假设两者都是0,那么结果为0。第第7 7章章 逻辑运算逻辑运算 3. XOR 异或运算 假设被配对的两个位其中一个为0,而另一个为1,那么结果为1;假设被配对的两个位是一样值(都为0或都为 1),其结果为0。 参与逻辑运算的操作数有两个,第一个操作数所指定的字节或字,存放在存放器或存储器单元中,其中的值是独一可改动的,由于最后的结果存放在此存放器或存储器单元中。 例如,下面的AND、OR及XOR指令,运用的操作数值是一样的。第第7 7章章 逻辑运算逻辑运算 A ND OR XOR 0101 0101 0101 0011 0011 0011结果: 0001 0111 0110第第7 7

3、章章 逻辑运算逻辑运算 例7.1 以下逻辑运算中,各标题彼此是互不相关的,假设AL的内容为11000101,BH的内容为01011100,进展以下逻辑运算后,相应的存放器被设为: (1) AND AL,BH ;将AL设为01000100 (2) OR BH,AL ;将BH设为11011101 (3) XOR AL,AL ;将AL设为00000000 (4) AND AL,00 ;将AL设为00000000 (5) AND AL,0FH ;将AL设为00000101 (6) OR CL,CL ;设定SF及ZF第第7 7章章 逻辑运算逻辑运算 例7.1中的(3)和(4)提供了一个将存放器清为0的方

4、法。(5)将AL的高4位清为0。 可以利用OR来完成下面的操作目的,也可以利用CMP指令(这样能够会更清楚)。 例7.2 OR的运用。 (1) OR CX,CX ;测试CX能否为0 JZ ;假设为0那么转移 (2) OR CX,CX ;测试CX的正负号 JS ;假设为负那么转移第第7 7章章 逻辑运算逻辑运算 4. TEST TEST的功能与AND类似,但是它只设定标志的值,不将结果存于第一个操作数的存放器或存储器单元中。 例7.3 TEST的运用。 (1) TEST BL,11110000B ;BL的高4位能否有不为0的位? JNZ 第第7 7章章 逻辑运算逻辑运算 (2) TEST AL,

5、00000001B ;AL的内容能否为奇 数? JNZ (3) TEST DX,0FFH ;DX的内容能否为0? JZ 第第7 7章章 逻辑运算逻辑运算 5. NOT NOT是另一种逻辑运算指令,它的作用是将存放器或存储器单元中的字节或字的每个位取反,即01,10。 例如,假设AL的内容为11000101,那么NOT AL指令会将AL的内容变为00111010。NOT与NEG二者并不一样,NEG是求一个数的相反数,它会将一切的位取反,然后再加1(即求补)。NEG进展的是0操作数。例如,0FFH(-1)经NEG后变为01H(+1)。 TEST与AND作用一样也是与运算,但是只设定标志,并不改动该

6、位的值。 第第7 7章章 逻辑运算逻辑运算 7.1.2 将小写转换为大写 例7.4 将小写转换成大写。 在许多情况下,需求将大写与小写字母进展转换。例如,他能够接纳到一个文件,里面的内容是由大写字母所组成的,或者一个程序,允许运用者以大写或小写回答命令(例如YES或yes),他需求将它们转换后再进展测试。第第7 7章章 逻辑运算逻辑运算 大写字母AZ,以十六进制的ASCII码表示即41H5AH;而小写字母az的ASCII码是61H7AH。二者独一不同之处是,大写的b5位是0,而小写的b5位是1,如下所示: 位:7 6 5 4 3 2 1 0 位: 7 6 5 4 3 2 1 0字母A:0 1

7、0 0 0 0 0 1 字母Z: 0 1 0 1 1 0 1 0字母 a:0 1 1 0 0 0 0 1 字母 z: 0 1 1 1 1 0 1 0第第7 7章章 逻辑运算逻辑运算 例7.4的程序清单(L74.LST)如下: ; filename:L74.ASM0000CODE SEGMENT PARA CODE A S S U M E CS:CODE,DS:CODE,SS:CODE 0100 ORG 100H 0100 EB 1C 90BEGIN:JMP MAIN ; 第第7 7章章 逻辑运算逻辑运算 43 68 61 6E 67 65 20TITLEX DB Change to upper

8、case letters 74 6F 20 75 70 70 65 72 63 61 73 65 20 6C 65 74 74 65 72 73; 011EMAIN PROC NEAR 011E 8D 1E 0104 R LEA BX,TITLEX+1 ;被转换字母开场地址 第第7 7章章 逻辑运算逻辑运算 B9 001A MOV CX,26 ;被转换字母数 0125B20: 8A 27 MOV AH,BX ;从TITLEX栏取字母 80 FC 61 CMP AH,61H ;假设字母小于a 第第7 7章章 逻辑运算逻辑运算 012A 72 0AJB B30 ;假设字母大于z 012C 80 F

9、C 7A CMP AH,7AH ;那么 012F 77 05 JA B30 ;转B30 80 E4 DF AND AH,11011111B ;假设字母是小写转换成大写 第第7 7章章 逻辑运算逻辑运算 88 27 MOV BX,AH ;转换结果仍存入TITLEX 0B30: 43 INC BX ;指向下一个字母 0 E2 ECLOOP B20 0 C3 RET 013AMAIN ENDP 013ACODE ENDS END BEGIN 第第7 7章章 逻辑运算逻辑运算 例7.4的程序,从TITLEX+1的偏移地址开场,将TITLEX字符串的字母从小写转换为大写,此程序设定BX的初值为TITLE

10、X+1的偏移地址,然后利用此地址,把从TITLEX+1开场的字节一一传送给AH。假设,字节的值是在61H到7AH的范围内,那么AND指令将会把b5位设为0: AND AH,11011111B 一切不是az的字节,那么不会改动其内容。这个程序同时把被转换后的字节再送回TITLEX,并且添加BX的值,以便处置下一个字节。第第7 7章章 逻辑运算逻辑运算 7.2 移位及循环移位移位及循环移位 移位和循环移位指令是CPU逻辑处置才干的一部分。它们具有以下几项功能。 (1) 可以作用在一个字节或字上; (2) 可以作用在存放器或存储器上; (3) 可以向左或向右移位/循环移位; (4) 假设作用的是字节

11、,那么最多可以移位/循环移位8位;假设是字,那么可以到达16位;第第7 7章章 逻辑运算逻辑运算 (5) 可分为逻辑(不带正负号)或算术(带有正负号)的移位; (6) 假设移位的位是1位,那么可以直接写成操作数1;假设,移位的位数大于1位,那么就要将此值传送给CL存放器。 7.2.1 移位 被移出的位将置入CF标志中。图7-1是移位指令的助记符和图形阐明。第第7 7章章 逻辑运算逻辑运算 SHR不带正负号的向右移位字或字节CF 0 SHL不带正负号的向左移位CF0SAR向右算术移位CFSAL向左算术移位CF0图7-1 移位指令的助记符和图形阐明第第7 7章章 逻辑运算逻辑运算 例如,SHR的运

12、用(下面的指令是延续的)。 MOV CL,03 (AL) MOV AL,10110111B ;10110111 SHR AL,1 ;01011011 向右移1位 SHR AL,CL ;00001011 向右移3位 第一条SHR将AL的内容向右移1位。被移出的位放在CF标志中,CF为1;并在AL的最左(最高)位移入0。第二条SHR将AL向右移3位。CF标志的内容依序变化为1、1及0,并且在AL的最左边三个位补0。 第第7 7章章 逻辑运算逻辑运算 例如,利用SAR向右算术移位的情况。 MOV CL,03 (AL) MOV AL,10110111B ;10110111 SAR AL,1 ;1101

13、1011 向右移1位 SAR AL,CL ;11111011 向右移3位 SAR与SHR有一重要的不同点,即SAR利用正负号位去填补最左边(最高位)空出的位,即最高位坚持不变。利用这种方法,正值与负值都坚持它们原来的正负号。上面的例子正负号位的值为1。第第7 7章章 逻辑运算逻辑运算 向左移位是在右边的位置上补0。因此,SHL及SAL的作用就完全一样了。向左移位可以使移位的值乘以2,向右移位可以使移位的值除以2。这是一种非常有用的方法,并且二者都比用乘除指令更快速。 奇数(例如,5和7)在除以2时,所得的值会比真正的值小(分别是2和3),并且CF被设定为1。假设要挪动两个位,可以延续运用两条移

最新文章
RabbitMQ详解
学习目标1.1 节 什么是MQ MQ(Message Queue)消息队列,是基础数据结构中“先进先出”的一种数据结构。指把
Vega AI创作平台
Vega ai是一款强大的在线创作工具,一款能够文字生成图片、根据图片+文字进行生成图片、条件生成图片 、根据多张图片训练出自己
[ComfyUI]最好用的图像提示词反推工具发布 2.0 版本啦!更好用了!
图像提示词反推工具我也介绍了好一些了,但是架不住技术一直在迭代啊!过一段时间就出一个新的,或者是升级版
《永劫无间》4月11日更新公告
《永劫无间》服务器将于4月11日早7:00-11:00进行停服维护,建议所有玩家提前退出游戏,待更新完成后重新登录。具体更新内容如
「百度开发者」 代发寄生虫收录排名
代发寄生虫收录排名▉▉▉【一一q1O
【文职政策】全面加强新时代文职人员队伍建设
问:请介绍一下颁布出台新的文职人员制度的时代背景和重大意义。答:随着国家和军队改革进程深入推进,文职人员队伍建设面临许多
tkinter的可视化拖拽工具_简单好用的大数据可视化分析推荐
数据可视化是指将大型数据集中的数据以图形图像形式表示,并利用数据分析和开发工具发现其中未知信息的处理过程。数据可视
一键生成ai歌曲的软件
以下是一键生成歌曲的几款软件介绍:1. Suno V3.5:这是一款功能强大的音乐创作软件使用者可轻松生成4分右时长的歌曲。它优化了
一首歌在 Cubase 里到底是怎么做出来的?原来这么简单!
很多我的粉丝问我音乐是怎么做出来的,就给大家做了一个视频来大概介绍一下我制作音乐到发表歌曲的过程,现在分享给大家。想要写
NBA现役巨星实力排行:库里第三,第一毋庸置疑!
NBA现役巨星实力排行:5,科怀·伦纳德:他的防守很恐怖,在进攻上也越来越好。他的三分投射能力真的非常非常好。他非常强,可以