日本有社畜一说,很多时候真的感觉很贴切,之前听一个朋友说,他有个朋友在日企工作,所有的操作都必须符合规定,一份设计图放到你的手上,你的全部任务就是将这份设计图尽可能地完美还原,不需要让这份设计图在你的手上实现任何的升华,你所做出的任何创新都将面临谴责,无论创新愚蠢与否,所以日本的产品才让人放心,因为基本不会出错。

嘛嘛,家家都有难念的经,不是吗?日本有日本的烦恼,日本有日本的优越感,我天朝有天朝的优势。

之前一直说要写的demo,因为各种各种原因一直放置play,都拖的有点内疚了,今天尝试来做做,界面什么的都很简单,也不涉及什么算法。还记得我以前写的一篇博客是希望对于所有的视图,界面绘制,界面操作,界面逻辑都可替换。

今天花了两个小时,也就仅仅把demo写完了,但是具体实现可能还需要明天补全。先给出当前已经编完的代码吧,以免明天忘了。https://github.com/FrancisYuric/InfiniteFoldingView

基本程序执行寄存器
寄存器是直接位于CPU内的告诉储存位置,其设计访问速度远高于传统储存器。例如,当一个循环处理为了速度进行优化时,其循环计数会保留在寄存器中而不是变量中。
通用寄存器

通用寄存器主要用于算数运算和数据传输。

一些寄存器的组成部分可以处理8位的值。EAX,EBX,ECX,EDX

特殊用法,某些寄存器有特殊用法:

  1. 乘除指令默认使用EAX。它常常被称为扩展累加器(extended accumulator)寄存器。

  2. CPU默认使用ECX为循环计数器。

  3. ESP用于寻址堆栈(一种系统内存结构)数据。它极少用于一般算数运算和数据传输。

  4. ESI和EDI用于高速存储器传输指令,有时也被称为扩展源变址(extended source index)寄存器和扩展目的变址(extended destination index)寄存器。

  5. 高级语言通过EBP来引用堆栈中的函数参数和局部变量。除了高级编程,它不用于一般算数运算和数据传输。它常常被称为扩展帧指针(extended frame pointer)寄存器。

段寄存器

实地址模式中,16位寄存器表示的是预先分配的内存区域的基址,这个内存区域被称为段。保护模式中,段寄存器中存放的是段描述符表指针。一些段中的存放程序指令(代码),其他段存放变量(数据),还有一个堆栈段存放的是段描述符表指针。

指令指针

指令指针寄存器中包含下一条将要执行指令的地址。

EFLAGS寄存器

包含了独立的二进制位,用于控制CPU的操作,或是反应一些CPU操作的结果。

开发日记-20190505 关键词 汇编语言(四) 自定义分级视图demo相关推荐

  1. 开发日记-20190513 关键词 汇编语言(六)

    其实,每次当我写一篇开发日记,并且这篇开发日记并没有关键词,或者我并没有和你扯东扯西的情况下... 这意味着我这天偷懒了= = ;AddTwo.asm --两个32位整数相加.386.model fl ...

  2. 开发日记-20190914 关键词 汇编语言王爽版 第四章

    第四章 第一个程序 4.1 一个源程序从写出到执行的过程 第一步:编写汇编源程序 使用文本编辑器,用汇编语言编写汇编源程序 这一步工作的结果是产生一个储存源程序的文本文件. 第二步:对源程序进行编译程 ...

  3. 开发日记-20190915 关键词 汇编语言王爽版 第十章

    第十章 CALL和RET指令 call 和ret指令都是转移指令,他们都修改IP,或同时修改CS和IP.他们经常被共同用来实现子程序的设计. 10.1 ret和retf ret指令用栈中的数据,修改I ...

  4. 开发日记-20190515 关键词 汇编语言(八) MVVM

    PART 杂谈 现在是晚上8点14分,刚刚下班,最近刚刚一个项目完成了,其实很多时候,我真的感觉我们的项目缺乏挑战性,所以现在很多时候我仅仅是把自己当成一个成长中的代码美容师比较贴切一些. 最近其实真 ...

  5. 开发日记-20190514 关键词 汇编语言(七)

    常常有这种冲动,想花钱= =,但是总感觉充游戏这类的毒品性消费又太过于无趣了,因为我还是很喜欢物质的那种存在感,所以还是喜欢买书.最近发现一个很令人无语的事实,就是貌似我读书的速度大概是我买书的速度的 ...

  6. 开发日记-20190501 关键词 汇编语言(启动) 基于x86处理器

    我不太喜欢我的大学生活,因为最后并没有按照我的想法继续发展下去,不过,事情都已经过去了,再去懊恼不是仅仅给自己徒增烦恼和给未来形成阻碍吗? 我仍记得大学有一门噩梦般的课程,为什么称之为噩梦,因为那时候 ...

  7. 开发日记-20190915 关键词 汇编语言王爽版 第十三章

    第十二章 内中断 任何一个通用的CPU,比如8086,都具备一种能力,可以在执行完当前正在执行的指令之后,检测到从CPU外部传送过来或内部产生的一种特殊信息,并且可以立即对所接收的信息进行处理.这种特 ...

  8. 开发日记-20190915 关键词 汇编语言王爽版 第十二章

    第十二章 内中断 任何一个通用的CPU,比如8086,都具备一种能力,可以在执行完当前正在执行的指令之后,检测到从CPU外部传送过来或内部产生的一种特殊信息,并且可以立即对所接收的信息进行处理.这种特 ...

  9. 开发日记-20190915 关键词 汇编语言王爽版 第十一章

    第十一章 标志寄存器 CPU内部的寄存器中,有一种特殊的寄存器(对于不同的处理器,个数和结构都可能不同)具有以下三种作用. (1)用来存储相关的指令的某些执行结果 (2)用来为CPU执行相关的指令提供 ...

最新文章

  1. distinct 多列问题 group by 解决
  2. leetcode算法题--不同的二叉搜索树
  3. 计算机视觉研究群体及专家主页汇总
  4. 深入php-fpm的两种进程管理模式详解
  5. Python中文全攻略
  6. 你愿意一辈子当一个打工的吗
  7. 【转】XP远程桌面连接2008提示:远程计算机需要网络级别身份验证,而您的计算机不支持该验证 ....
  8. IntelliJ IDEA集成Git
  9. 生活广场远程预付费电能管理系统的设计与应用
  10. Python-openvn的初步理解(1)
  11. 5款精美APP原型设计模板,触手可得
  12. 基于PHP的超市库存管理系统
  13. 许鹏:从零开始学习,Apache Spark源码走读(三)
  14. Vue单文件不兼容IE解决方法
  15. 简单三个步骤网站建设
  16. 长沙学院计算机二级报名,湖南计算机等级考试报名地点
  17. windows关机命令
  18. 移动安全-adb使用和提取apk文件
  19. linux 中 awk sed cut sort 常规操作
  20. jquery对象级别的插件开发

热门文章

  1. fiddler使用AutoResponder更改请求的返回结果
  2. linux系统启动报错:[contains a file system with errors, check forced]的解决方法参考
  3. 分区供水条件口诀_口诀+总结!耐火等级要求及调整原则及记忆方式
  4. 怎样在计算机页面加密,怎么给文件加密并加密后隐藏起来?
  5. matlab求adc信号的信噪比,关于ADC的信噪比 - pengyouxiaohui的日志 - EETOP 创芯网论坛 (原名:电子顶级开发网) -...
  6. java 对象 jvm生命_JVM对象的生命周期
  7. java replaceall lt_static lt;Tgt; boolean replaceAll(Listlt;Tgt; list, T oldVal, T newVal)_Java...
  8. python是什么系统_最齐全、最系统的python教程
  9. mysql 调用webservice_C#调用Webservice的代码实现方式汇总
  10. mvc4.0 html.actionlink comfired,未触发MVC 5远程验证