当前位置: 首页 > news >正文

焦作网站建设dw做网站基础

焦作网站建设,dw做网站基础,做网站 南京,十大app软件下载条件码#xff1a; ① OF(Overflow Flag)溢出标志#xff0c;溢出时为1#xff0c;否则置0.标明一个溢出了的计算#xff0c;如:结构和目标不匹配.② SF(Sign Flag)符号标志#xff0c;结果为负时置1#xff0c;否则置0.③ ZF(Zero Flag)零标志#xff0c;运算结果为0时…  条件码 ① OF(Overflow Flag)溢出标志溢出时为1否则置0.标明一个溢出了的计算如:结构和目标不匹配.② SF(Sign Flag)符号标志结果为负时置1否则置0.③ ZF(Zero Flag)零标志运算结果为0时置1否则置0.④ CF(Carry Flag)进位标志进位时置1否则置0.注意:Carry标志中存放计算后最右的位.⑤ AF(Auxiliary carry Flag)辅助进位标志记录运算时第3位(半个字节)产生的进位置。有进位时1否则置0.⑥ PF(Parity Flag)奇偶标志.结果操作数中1的个数为偶数时置1否则置0. 控制标志位 ⑦ DF(Direction Flag)方向标志在串处理指令中控制信息的方向。⑧ IF(Interrupt Flag)中断标志。⑨ TF(Trap Flag)陷井标志。11.1 ZF 标志 0 标志位  11.2 PF 标志 奇偶 标志位 11.3 SF 标志  结果正负标志。0 表示 正1 表示 负  https://blog.csdn.net/zhangjiuding/article/details/79133961 写出下面每条指令执行后ZF、PF、SF等标志位的值。  ZF标志是否为0  PF标志结果中是否有偶数个为 1 的 bit位。  SF标志结果是否为负仅有符号运算有用。 提示传送指令不影响标志位。至于为什么是这样我估计是因为更改标志位会费时间CPU的资源很宝贵而且转移指令的标志位并没有什么实际意义 sub al,al 结果为0有0个为1的bit位非负。mov al,1 传送指令不影响标志位。push ax 传送指令不影响标志位。pop bx 传送指令不影响标志位。add al,bl 结果为00000010B结果不为0有1个为1的bit位非负。add al,10 结果为00001100B结果不为0有2个为1的bit位非负。mul al 结果为10010000B结果不为0有2个为1的bit位非负。11.4 CF 标志  进位 标志位  11.5 OF 标志  溢出 标志位  11. 6 adc 指令 11.7 sbb 指令 11.8 cmp 指令 11.9 检测比较结果的条件转移指令 11.10 DF 标志 和 串传送指令 11.11 pushf 和 popf 题目下面的程序执行后ax的值是多少 assume cs:codesg datasg segmentdb 16 dup(0) datasg ends codesg segmentstart:mov ax,0push axpopfmov ax,0fff0hadd ax,0010hpushfpop axand al,11000101band ah,00001000bmov ax,4c00hint 21hcodesg endsend start这题是对第十一章标志寄存器的更好理解。 先上个图 本题关键在于 OF  标志的判断。另一个关键点是 and 0000 0100 1100 0101 起到了屏蔽未学习位的作用 一步一步来分析 mov ax,0 将ax置0 push ax ax 入栈 popf 将栈中的数据弹出到psw(标志寄存器)中 此时 psw 中数据为:0000 0000 0000 0000b mov ax, 0fff0h add ax, 0010h 这两句的作用是(ax) fff0h 0010h显然psw中的数据会发生改变问题是如何改变呢 CF: 假设这里是无符号运算则1111 1111 1111 0000b(fff0h) 0000 0000 0001 0000b(0010h) 1 0000 0000 0000 0000b已经发生了进位所以CF 1 PF: 结果保存在ax中ax0000h’1’的个数是0是偶数所以PF标志1 AF: AF没学先不管假设它是个不确定值AF ? ZF: 结果是0显然ZF 1 SF: 结果是0不是负数所以SF 1 TF: TF没学先不管假设它是个不确定值AF ? IF: IF没学先不管假设它是个不确定值AF ? DF: DF为方向标志位add指令不会影响DF前面已经将psw置0所以DF 0 OF: OF(溢出标志位)对初学者来说是最难的了OF记录了有符号数运算结果是否溢出。那么如何判断是否溢出呢 假设是有符合运算fff0h(1111 1111 1111 0000b)对应的原码是1000 0000 0001 000b(即十进制-16)这是如何算出来的很简单先看符号位1说明是个负数然后所有位取反再加1(即0000 0000 0001 0000b)得绝对值前面确定是负数所以符号位应该是1则原码为1000 0000 0001 000b同样0010h的源码(正数的补码和原码相同)是0000 0000 0001 0000b(即十进制的16) 显然结果是0一个正数一个负数相加结果肯定不会溢出下面给出一个tip用来快速判断运算是否溢出: tip: 正加正得负负加负得正肯定溢出 一正一负相加肯定不会溢出 (进行正加正负加负运算时可以全部转为十进制来看如果得到正加正得正负加负得负则需看他们结果是否在可表示范围内) 通过说明的tip立刻可以判断出未溢出所以OF 0 所以运行完上面两条语句后psw值为: 0000 00? 010? 0101b pushf 将psw的值入栈 pop ax 此时ax即: 0000 00? 010? 0101b and al,11000101b and ah,00001000b and 的是按位与运算法则是有0则0我们写对齐来看 0000 00?? 010 0101b 0000 1000 1100 0101b 显然 and 以后 ax 0000 0000 0100 0101b 45h 11.12 标志寄存器在 debug 中的表示 实验 11 编写子程序 示例代码 assume cs:codesgdatasg segmentdb Beginners All-purpose Symbolic Instruction Code.,0 datasg endscodesg segment begin:mov ax,datasgmov ds,axmov si,0call lettercmov ax,4c00hint 21hletterc: ;子程序部分[开始]push si s0: mov al,[si]cmp al,0je exitsubcmp al,61h ; 61h为a的ASCII码jb nextcmp al,7ah ; 7ah为z的ASCII码ja nextand al,11011111B ;或使用sub al,20hmov [si],al next: inc sijmp short s0 exitsub:pop siret ;子程序部分[结束] codesg ends end begin; 提示 ; 1.相当于将字符串中的每个字符在闭区间[a,z]内进行比较 ; 2.欲显示相关字符串可调用实验10中的显示子程序(属第十章内容),在调用时注意相关参数的传递。
http://www.huolong8.cn/news/428687/

相关文章:

  • 温州市微网站制作电话把网站提交谷歌
  • 住房城乡建设干部学院网站如何做内部优惠券网站
  • 设计学校网站模板免费下载网站关键词数量多少好
  • 哈尔滨seo和网络推广抖音搜索优化
  • 网站建站哪个好wordpress怎么改导航
  • 做网站需要备案几次怎么做网站呀
  • 网站策划图四川网站建设企业网站制作
  • 太原公司网站建立wordpress数据库密码解密
  • 深圳出名的设计公司怎么查看竞争网站怎么做的seo
  • 网站被做跳转怎么办税企互动平台
  • 湖南建设门户网站打折网站运营思路
  • 成都网站建设门户聊城城乡建设局网站
  • 哈尔滨网站建设好网店代运营销售
  • wordpress没有安装主题长沙网站seo推广公司哪家好
  • 深圳网站的优化公司秦皇岛网站制作源码
  • 网站建设公司crm系统类似于wordpress的软件
  • 网站制作400哪家好网站创意装修公司
  • 韩国风格网站模板苏州网站建设公司排名
  • 长春火车站照片数据分析师需要考哪些证书
  • 电子商务网站建设费用预算网上购物商城毕业设计
  • 搜讯网站建设网页加速器有哪些
  • 网站主关键词如何优化对招聘网站页面设计做建议
  • 专门做衣服的网站精品网站建设平台
  • 做英文网站用目录还是子域名淄博个人网站建设
  • 陕西省建设厅三类人员报名网站建设网站的获客渠道
  • 页面紧急情况访问升级跳拿笔记无锡seo网站管理
  • 宿迁城乡建设监督网站公众号怎么建立
  • 网站建设方案华为帮别人做网站开价
  • 百度收录好的网站排名wordpress 如何登录地址
  • 免费家装设计网站网页制作素材是什么