51单片机汇编溢出标志OV和进位标志位CY

ORG 0000H

MOV A,  #1
MOV R0,#126
ADD A, R0

NOP
END

A R0 A结果 CY A(s) R0(s) A结果(s) OV
1 126 127 0 1 126 127 0
1 127 128 0 1 127 -128 1
1 128 129 0 1 -128 -127 0
1 254 255 0 1 -2 -1 0
1 255 0 1 1 -1 0 0
5 255 4 1 5 -1 4 0
176 176 96 1 -80 -80 96 1
126 1 127 0 126 1 127 0
127 1 128 0 127 1 -128 1
128 1 129 0 -128 1 -127 0
254 1 255 0 -2 1 -1 0
255 1 0 1 -1 1 0 0
255 5 4 1 -1 5 4 0

说明:(s)表示是符号数

总结几点

一、无符号数转换为符号数
1 <2^7 结果=原数
2 >=2^7 结果=2^8-原数

二、无符号数大于2^8
结果=原数-2^8
CY=1

三、有符号数超出(-2^7)~(2^7-1)范围
1 >2^7-1 结果=原数-2^8
2 <-2^7 结果=原数+2^8
OV=1

个人的一点见解,如有错误欢迎指正

时间: 2024-08-29 04:09:02

51单片机汇编溢出标志OV和进位标志位CY的相关文章

Windows 通用应用尝试开发 “51单片机汇编”总结

一.前言 终于完成windows通用应用“51单片机汇编”,半年前开始玩WindowsPhone开发的第一个真正意义上的App(还很多缺点=_=).开发从1月中旬考完试到今天,期间实习了半个月,玩了几天,算起来基本弄了3个多星期吧.不多说,总结总结. 二.开发数据准备 应用中主要的数据是单片机的汇编指令,我主要用XML文件来储存数据,没有使用SQLLite数据库,数据格式如下图: xml文件的数据是我手输入的,所以这是比较烦的.(可能有更简洁的办法获取数据). 而xml文件每个每个节点对应实例,

Windows 通用应用尝试开发 “51单片机汇编”第二次更新总结

一.前言 昨天更新了10天前上架到windows8.1平台和windowsphone平台的通用应用“51单片机汇编”,总要是添加了动态磁贴以及ListView的Groupstyle应用.下面主要主要复习下如何利用后台任务添加动态磁贴 二.动态磁贴 动态磁贴也是前几天才掌握的,基本内容可以查看我之前的有关动态磁贴博文.在这里我理顺在我的应用中,利用backgroudtask动态更新磁贴. step1:首先先添加backgroutask组件.如图一.二 step2: 将backgroundtask引

51单片机汇编实现冒泡排序

今天为了复习课本上面的程序,就实地检验了下这个程序,当年可是学过微机原理里的冒泡排序的,结果移植平台后又是如此麻烦,呵呵,网上贴吧,论坛,知道,文库上面拜托你们的程序能不能靠谱点!!! 第一种常见的错误就是程序写的一团糟,天马行空,弄了几个位地址和中间变量,外加两个循环,程序早飞了,真是让我们程序员惭愧啊 第二种错误是由于大多参考课本上题目:将以40H为首地址的N个数据进行排序,然后几十行代码,我怎么能很快知道程序对不呢 ................. 鉴于此,特在我们这个绿色空间下贴上两种

51单片机指令详解

                                                            数据传递类指令 以累加器为目的操作数的指令  MOV A,Rn MOV A,direct MOV A,@Ri  MOV A,#data  第一条指令中,Rn代表的是R0-R7.第二条指令中,direct就是指的直接地址,而第三条指令中,就是我们刚才讲过的.第四条指令是将立即数data送到A中. 下面我们通过一些例子加以说明: MOV A,R1 :将工作寄存器R1中的值送入A,R

51单片机

STARTUP.A51//启动文件. 清理RAM.设置堆栈等.即执行完start.a51后跳转到.c文件的main函数 <reg51.h>  //特殊寄存器的字节地址和位地址,sfr定义字节变量.sbit定义位变量,用通俗名作为变量名,并赋地址值,从而用名称来使用这些特殊寄存器. <intrins.h> //定义了一些外部函数,在C51单片机编程中,头文件INTRINS.H的函数使用起来,就会让你像在用汇编时一样简便. /*-----------------------------

单片机(simple chip microcomputer)概论、51单片机、MCS-51单片机、STM32、ARM

catalogue 1. 单片机概论 2. 51单片机 3. MCS-51单片机 4. QX-MINI51开发板(STC89C52芯片) 5. STM32单片机 6. stm32f103zet6开发板实验 1. 单片机概论 0x1: 仿真器 单片机应用系统的软硬件调试需要专门的开发工具,称为"单片机开发系统"或"仿真机".常用的开发方式是把开发系统(例如PC)中的CPU和RAM暂时出借给用户系统,利用开发系统对用户系统的软硬件进行调试(又称仿真),然后将调试好的程序

51单片机常见缩写释义

51内部寄存器 SFR    special funtion register    特殊功能寄存器 ACC    accumulate    累加器 PSW    progammer status word    程序状态字 CY   (PSW.7)    carry    进位标志位 AC   (PSW.6)    assistant carry    辅助进位标志位 OV   (PSW.2)    overflow    溢出标志位 PC    progammer counter    程

[学习笔记]15个QA让你快速入门51单片机开发

一.C语言相关... 1 Q1:sbit与sfr代表是什么?有什么作用?... 1 Q2:#define OSC_FREQ  22118400L这句宏命令里的“L”是什么意思?... 1 Q3:我粘贴了别人的代码,怎么发现没有unit这个类型?... 1 Q4:为什么好多变量都是char类型?它不是字符类型吗?怎么可以用来计数?    1 Q4.1:51单片机中的char,int,long,float,double各占多少个字节,取值范围多大?    1 Q5:unsigned char dat

51单片机中断机制(定时器/计数器)

单片机中断简介 52单片机一共有6个中断源,它们的符号,名称以及各产生的条件分别如下: INT0 - 外部中断0,由P3.2端口线引入,低电平或下降沿引起 INT1 - 外部中断1,由P3.3端口线引入,低电平或下降沿引起 T0    - 定时器/计数器0中断, 由T0计数器计满回零引起 T1    - 定时器/计数器1中断, 由T1计数器计满回零引起 T2    - 定时器/计数器2中断, 由T2计数器计满回零引起 TI/RI - 串行口中断,串行端口完成一帧字符发送/接收后引起 其中T2是5