汇编学习(六)——代码转换程序
2023-09-14 09:11:25 时间
(一)逻辑运算指令
一、双操作数逻辑运算指令
1、指令格式:
AND dst,src ; “与”运算,
OR dst,src ; “或”运算
XOR dst,src ; “异或“运算。当src = 1是,dst = !dst;当src = 0时,dst = dst
TEST dst,src ; “与”运算,但是这个不返回结果,只是改变标志位
;以上四个操作符,都会改变ZF SF 和PF三个标志位
;经常使用TEST配合ZF来判断是否为0
二、单操作数逻辑运算指令
1、指令格式
NOT dst ; dst<—!dst
NEG dst ; 取补码
(二)移位指令
一、逻辑移位指令
SHR dst,cnt
SHL dst,cnt
二、算数移位指令
SAR dst,cnt
SAL dst,cnt
PS:注意点
1、cnt 是移位的位数,只能为1或者寄存器CL,也就是不是移1位的话,一定要使用寄存器CL
2、会影响OF、ZF、PF和SF标志位,其中OF为1:表示最高位发生变化,OF = 0,最高位没有发生变化
3、算术右移不会改变符号位
三、循环位移指令
ROR dst,cnt
ROL dst,cnt
四、带CF循环位移指令
RCR dst,cnt
RCL dst,cnt
PS:注意点
1、只影响OF标志位,其中OF为1:表示最高位发生变化,OF = 0,最高位没有发生变化
五、图示表示四个指令的区别
(三)十六进制转换为BCD码
一、除0AH取余法
所以十六进制数除以0AH的余数就是得到D0,再除就是得到D1,一次类推……
使用的除法指令要是32位除以16位的,因为商会超过8位。
二、除幂取商法
所以十六进制除以10000的商就是D4,再除以1000就是D3,依次类推……
三、连二乘法:
(四)除0AH取余法程序
一、程序流图:
相关文章
- 思维转换 - 更好的认识世界
- Python学习笔记(15)-Python代码转换为exe可执行程序详解
- babel转换es6_ideamaven依赖配置
- java输出日期格式_java时区转换
- 「 [学习记录] JS 类型转换 - 隐式转换 」
- 32. Groovy 语法 promotion提升和coercion强制转换学习
- RDD转换为DataFrame
- QMake 工程 转换为CMake 工程
- QRExfiltrate:一款基于二维码图像的数据转换与提取工具
- Spring Cloud Stream 高级特性-消息转换和序列化
- Java工具类:全角半角相互转换详解编程语言
- Oracle数据库中空值转换技术(oracle空值转换)
- MySQL中的时间转换技术(mysql时间转换)
- 如何在 MSSQL 中轻松转换字符串为数字?(mssql字符串转数字)
- js中将具有数字属性名的对象转换为数组
- php学习之数据类型之间的转换代码
- php中英文语言转换类
- NSString与C字符串之间的相互转换
- 把时间戳转换为日期格式的js代码
- PHP学习笔记之字符串编码的转换和判断