数据结构-第七章.ppt

数据结构-第七章.ppt

ID:61916161

大小:1012.50 KB

页数:55页

时间:2021-03-29

数据结构-第七章.ppt_第1页
数据结构-第七章.ppt_第2页
数据结构-第七章.ppt_第3页
数据结构-第七章.ppt_第4页
数据结构-第七章.ppt_第5页
资源描述:

《数据结构-第七章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第七章位操作类指令IA—32处理器的基本指令系统5.4逻辑运算指令7.1移位指令7.27.1逻辑运算指令逻辑与指令AND逻辑或指令OR逻辑非指令NOT逻辑异或指令XOR测试指令TEST图7-1逻辑与的真值表和门电路符号输入输出ABT000010100111示例010001010011000100000001真值表ABT与门电路逻辑表达式T=A·B7.1.1逻辑与指令AND逻辑与指令AND将两个操作数按位进行逻辑与运算,结果返回目的操作数,格式如下:andsrc,dest#逻辑与:dest=destsrcand指令支持的目的操作数是寄存器和存储单元,源操作数是立即

2、数、寄存器和存储单元,但不能都是存储器操作数。它设置标志CF=OF=0,根据结果按定义影响SF、ZF和PF。续上页例:movb$0x45,%alandb$0x31,%al#al=0x01,CF=OF=0,ZF=0,PF=0,SF=0显然and指令可用于复位(即复“0”)一些位,但不影响其他位。这时只需要将要复0的位同“0”与即可,而维持不变的位同“1”与就可以了。续上页例:将bl中的D7位和D4位进行清零,其他位不变。andb$0b01101111,%bl利用and指令的复位某些位的特点,可以实现某些编码的转换。续上页例:将al中的小写字母转换为大写字母。andb$

3、0b11011111,%alal中原来是小写字母的ASCII码,执行与操作后D5位清零,变成大写字母的ASCII码。小写字母的ASCII码和大写字母的ASCII码有一个区别:小写字母的ASCII码的D5位是1,而大写字母的ASCII码的D5位是0。7.1.2逻辑或指令OR逻辑或运算规则是:进行逻辑或运算的两位都是逻辑0,则结果是0;否则,结果是1。在逻辑代数中常采用加法的运算符号“+”表示逻辑或,一般则使用“”表示逻辑或。图7-2逻辑或的真值表和门电路符号输入输出ABT000011101111示例010001010011000101110101真值表逻辑表达式T

4、=A+B或门电路ABT续上页逻辑或指令or将两个操作数按位进行逻辑或运算,结果返回目的操作数,格式如下:orsrc,dest#逻辑或:dest=destsrcor指令支持目的操作数是寄存器和存储单元,源操作数是立即数、寄存器和存储单元,但不能都是存储器操作数。它设置标志CF=OF=0,根据结果按定义影响SF、ZF和PF。[例题7.1]使用OR指令的操作movl$0x12345678,%eax#eax=0x12345678or$0x0000ffff,%eax#0x12345678∨0x0000ffff=0x1234ffff上述两条指令执行后:eax=0x1234ff

5、ff,CF=OF=0;SF=0;ZF=0;PF=1。OR指令可用于置位某些位,而不影响其他位。这时只需将要置1的位同“1”或,维持不变的位同“0”或即可。[例题7.2]使用OR指令的操作,将BL中D0和D3置1,其余位不变。or$0b00001001,%bl利用OR指令可以置位某些位的特点,可以实现一些编码转换的功能[例题7.3]使用OR指令的操作,大写字母转换为小写字母。or$0b00100000,%al#将D5位置1AL中原来是大写字母ASCII码,执行或操作后D5位置1,变成小写字母ASCII码。[例题7.4]使用OR指令的操作,一位十进制数0~9转换为数字字

6、符0~9的ASCII码。movl$9,%al#al=一位十进制数,al=9or$0x30,%al#也可以用指令addb$0x30,%al实现相同的功能图7-3逻辑非的真值表和门电路符号输入输出AT0110示例~0100010110111010真值表逻辑表达式T=A非门电路AT逻辑非运算在逻辑代数中常采用加上划线“-”表示对其进行求反,一般则使用“~”表示逻辑非。7.1.3逻辑非指令NOT逻辑非指令NOT是单操作数指令,按位进行逻辑非运算,结果返回,格式如下:notreg/mem#逻辑非:reg/mem=~reg/memnot指令支持的操作数是寄存器和存储单元,不影响

7、标志位。[例题7.5]使用NOT指令的操作,将0x45按位取反。movb$0x45,%al#al=0b01000101not%al#al=0b10111010,且所有标志位都不变7.1.4逻辑异或指令XOR逻辑异或运算规则是:进行逻辑异或运算的两位相同,则结果是0;否则,结果是1。在逻辑代数中常采用“”表示逻辑异或。图7-4逻辑异或的真值表和门电路符输入输出ABT000011101110示例010001010011000101110100真值表逻辑表达式T=AB异或门电路ABT逻辑运算指令逻辑异或指令XOR将两个操作数按位进行逻辑异或运算,结果返回目的操作数

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。