如何只修改EFLAGS寄存器中一个标志位的值?
2024-10-19 23:29:58
版权声明:本文为博主原创文章,2019-08-23,22:21:42转载请附上原文出处链接和本声明。
作者By-----溺心与沉浮----博客园
1、写汇编指令只影响CF位的值(不能影响其他标志位
MOV AX,0xFF00
ADD AX,0x0101
2、写汇编指令只影响PF位的值(不能影响其他标志位)
MOV AX,0x3
ADD AX,0xC
3、写汇编指令只影响AF位的值(不能影响其他标志位)
MOV AX,0xF0
ADD AX,0x10
版权声明:本文为博主原创文章,2019-08-23,22:21:42转载请附上原文出处链接和本声明。
作者By-----溺心与沉浮----博客园
4、写汇编指令只影响SF位的值(不能影响其他标志位)
MOV AX,0x8000
ADD AX,0x1
6、写汇编指令只影响OF位的值(不能影响其他标志位)
O位,想一想,如果采用两个正数相加(即0x00 ~ 0x7f之间的数),使得它变为一个负数,那么这两个数相加的值必然要越过0x7F这条线,必然会导致Sign Flag发生改变,AF位也会发生字节的进位,使得AF位会发生改变,很显然,让两个正数(即0x00 ~ 0x7f)之间的数相加不行,换个角度思考,那么两个负数相加的情况呢(0x80 ~ 0xFF)它是不是会使得C位发生溢出呢,是的吧,那么怎么解决这个问题,计算机我们可以用大一点的负数,减去一个正数。
MOV AL,0x80
SUB AL,0x10
版权声明:本文为博主原创文章,2019-08-23,22:21:42转载请附上原文出处链接和本声明。
作者By-----溺心与沉浮----博客园
最新文章
- ConcurrentHashMap内存泄漏问题
- JavaScript——理解闭包及作用
- [转]在 Web 项目中应用 Apache Shiro
- 开启GZIP(转)
- windbg定位死锁
- ios 动态测定字符串frame : boundingRectWithSize函数
- C++ Windows 上简单的非阻塞Select模型
- thinkphp分页显示
- IAR EWARM Argument variables $PROJ_DIR$ $TOOLKIT_DIR$
- (poj)1679 The Unique MST 求最小生成树是否唯一 (求次小生成树与最小生成树是否一样)
- 10个加速Table Views开发的Tips(转)
- 写给C语言新手的话
- MongoDB入门学习笔记之简介与安装配置
- 前端自动化构建工具Gulp简单入门
- 本周新学的 GUI绘图技术
- Jenkins~配合Docker及dotnetCore进行生产和测试环境的灵活部署
- mysql innodb 唯一键里的字段为什么不能为NULL
- PPIO 分布式存储在数据分发上有哪些优势?
- 【CF891C】Envy(最小生成树)
- -bash: start-all.sh: 未找到命令