▶ 书中第九章的程序,主要讲了字符串相关的输入.输出,以及冒泡排序.二分搜索 ● 代码,Irvine32 中的字符串库函数代码范例 INCLUDE Irvine32.inc .data str1 BYTE str2 BYTE msg0 BYTE msg1 BYTE msg2 BYTE msg3 BYTE msg4 BYTE msg5 BYTE .code main PROC mov edx, OFFSET str1 call WriteString call crlf call trim_str…
▶ 书中第六章的程序,使用了条件判断和跳转来实现一些功能 ● 代码,查找数组首个非零值 INCLUDE Irvine32.inc .data intArray SWORD , , , , , , , -, , , ; 测试用的数组 ;intArray SWORD 1, 0, 0, 0 ;intArray SWORD 0, 0, 0, 0 ;intArray SWORD 0, 0, 0, 1 noneMsg BYTE .code main PROC mov ebx, OFFSET intArray…
▶ 书中第十三章的程序,主要讲了汇编语言和 C/++ 相互调用的方法 ● 代码,汇编中调用 C++ 函数 ; subr.asm INCLUDE Irvine32.inc askForInteger PROTO C showInt PROTO C, value:SDWORD, outWidth:DWORD OUTPUT_WIDTH = MAX_POWER = .data intVal DWORD ? .code SetTextOutColor PROC C, color:DWORD mov eax…
▶ 书中第十一章的程序,主要讲了 Windows 接口,在小黑框中进行程序交互 ● 在屏幕指定位置输出带自定义属性的文字 INCLUDE Irvine32.inc .data outHandle HANDLE ? cellsWritten DWORD ? ; 输出计数(输出参数) xyPos COORD <,> ; 输出坐标 buffer BYTE 41h,42h,43h,44h,45h,46h,47h,48h,49h,4Ah,4Bh,4Ch,4Dh,4Eh,4Fh,50h,51h,52h,5…
▶ 书中第十二章的程序,主要讲了 FPU 的指令和浮点数计算的过程 ● 代码,简单的 32 为浮点数测试 INCLUDE Irvine32.inc INCLUDE macros.inc .data first REAL8 . second REAL8 . third REAL8 ? .code main PROC finit ; 初始化 FPU fld first fld second call ShowFPUStack ; 展示栈中的浮点数 mWrite "Please enter a rea…
▶ 书中第七章的程序,使用各种位移运算,加深了对内存.寄存器中整数类型变量存储的认识 ● 代码,双字数组右移 4 位 INCLUDE Irvine32.inc COUNT = ; 右移位数 .data array DWORD 148B2165h, 8C943A29h, 6DFA4B86h, 91F76C04h, 8BAF9857h .code main PROC mov esi, OFFSET array ; 移之前的情况 mov ecx, LENGTHOF array mov ebx, TYP…
▶ 书中前五章的几个小程序,基本的运算操作,使用了作者的库 Irvine32 和 Irvine64(一开始以为作者网站过期了,各网站上找到的文件大小都不一样,最后发现是要搭梯子 Orz,顺利下载).注意编译前将相关的库文件放到 “项目属性 → 链接器 → 输入 → 附加依赖项” 中. ● 代码,整数数组求和 . .model flat,stdcall .stack ExitProcess PROTO, dwExitCode: dword .data array DWORD 10000h, 200…
▶ 书上第 10 章,主要讲了宏,引用了一个 16 位实地址的程序,从代码开始到运行 ● 代码 ; main.asm INCLUDE Macros.inc IF IsDefined( RealMode ) INCLUDE Irvine16.inc ELSE INCLUDE Irvine32.inc ENDIF .code main PROC Startup IF IsDefined( RealMode ) mWrite <"The program is running in 16-bit…
▶ 书中第十章的程序,主要讲了结构与宏的使用 ● 代码,使用结构,对比是否对齐的性能差距 INCLUDE Irvine32.inc INCLUDE macros.inc structN STRUCT ; 非对齐的结构 Lastname BYTE DUP() Years WORD SalaryHistory DWORD , , , structN ENDS ; 48 Byte structA STRUCT ; 对齐的结构 Lastname BYTE DUP() ALIGN WORD ; +2 Ye…
▶ 输入 Count 个 32 位有符号整数,计算他们的和 ● 代码,使用堆栈传参 ;// Sum_main.asm,主过程 INCLUDE Irvine32.inc EXTERN PromptForIntegers@0:PROC ; 外部链接声明需要的函数 EXTERN ArraySum@0:PROC, DisplaySum@0:PROC ArraySum EQU ArraySum@0 ; 外部链接声明需要的变量 PromptForIntegers EQU PromptForIntegers@…
条件处理 本章要点 1.简介 2.布尔和比较指令 3.条件跳转 4.条件循环指令 5.条件结构 6.应用:有限状态机 7.决策伪指令 6.1  简介 本章,读者将看到高级条件分支如何翻译成底层的实现代码. 处理硬件设备的程序必须能够操控数字中的单个数据位,应该能够测试清楚和设置数据位.数据加密和压缩也依赖于位操作. 本章试图解答如下基本问题: 1.如何使用1章中介绍的布尔运算符(AND,OR和NOT)? 2.在汇编语言中如何写一条IF语句? 3.编译器是如何将嵌套的IF语句翻译成机器语言的? 4…
6.3  条件跳转 6.3.1  条件结构 在IA-32指令集中没有高级的逻辑结构,但无论多么复杂的结构,都可以使用比较和跳转指令组合来实现.执行条件语句包括两个步骤:首先,使用CMP,AND,SUB之类的指令修改CPU标志六七次,使用条件跳转指令测试并导致向新地址的分支转移. 例子1:使用CMP指令比较AL和0,如果CPU指令设置了零标志,那么JZ(为0则跳转)指令就跳转到标号L1处: cmp al ,0 jz L1 . . L1: 6.3.2  条件跳转(Jcond)指令 条件跳转指令在标志…
6.6  应用:有限状态机 这个东西说了半天,感觉就是把逻辑弄得跟有向图一样,没看出来什么高端的东西,下面就整理下书上说的概念: 有限状态机(FSM,Finite-State Machine)是依据输入改变状态机器或程序.使用图来表示一个有限状态机是非常简单的,图种方块(或原)称为节点,节点之间带箭头的线称为边(edge)或弧(arc). 6.6.1  输入字符串的验证 读取输入流程的程序通常必须执行一定的错误检查步骤以验证输入.比如我们定义如下几条规则: 1.字符串必须以字母x开始,以字母z结…
★PART1:32位的x86处理器执行方式和架构 1. 寄存器的拓展(IA-32) 从80386开始,处理器内的寄存器从16位拓展到32位,命名其实就是在前面加上e(Extend)就好了,8个通用寄存器被命名为EAX,EBX,ECX,EDX,ESI,EDI,ESP和EBP,同样的,操作的时候必须要和寄存器的长匹配,比如下面的操作就是错的. 32位通用寄存器的高16位不可以单独使用,但是他们的低16位依然可以按照8086的使用方法一样使用.处理器在32位保护模式下可以使用全部的32条地址线,访问4…
第六章 存储器层次结构 在简单模型中,存储器系统是一个线性的字节数组,CPU能够在一个常数访问每个存储器位置. 虽然是一个行之有效的模型,但没有反应现代系统实际工作方式. 实际上,存储器系统(memory system)是一个具有不同容量,成本和访问时间的存储设备的层次结构. CPU寄存器保存着最常用的数据.(0周期) 靠近CPU的小的,快速的高速缓存存储器(cache memory)作为一部分存储在相对慢速的主储存器(main memory,简称主存)中的数据和指令的缓冲区.(1~30周期)…
 摘要 游戏开发者知道 Android 中蕴藏着巨大的机遇. 在 Google Play 商店的前 100 款应用中,约一半是游戏应用(在利润最高的前 100 款应用中.它们所占的比例超过 90%). 如要跻身该市场,开发速度很关键. 一些刚起步的独立开发者更愿意从零開始来开发自己的全部代码:可是为了达到更高的质量而不用花费数年的时间进行开发.其它人可能会选择已有的游戏引擎.上章研究了英特尔 Android* 开发者指南上的对等应用具体解释,在选择引擎时,你能够考虑下面几个因素: 成本 -…
本文翻译自The Flask Mega-Tutorial Part XVI: Full-Text Search 这是Flask Mega-Tutorial系列的第十六部分,我将在其中为Microblog添加全文搜索功能. 本章的目标是为Microblog实现搜索功能,以便用户可以使用自然语言查找有趣的用户动态内容.许多不同类型的网站,都可以使用Google,Bing等搜索引擎来索引所有内容,并通过其搜索API提供搜索结果. 这这方法适用于静态页面较多的的大部分网站,比如论坛. 但在我的应用中,基…
记录自己学习C Primer Plus的学习笔记 第一章 C语言高效在于C语言通常是汇编语言才具有的微调控能力设计的一系列内部指令 C不是面向对象编程 编译器把源代码转化成中间代码,链接器把中间代码和其他代码合并,生成可执行文件 第二章 main函数总是第一个被调用的函数 include预处理器指令 声明,所有变量都必须先声明才能使用,最初的规则规则变量声明需在块的顶部 C语言通过赋值运算符而不是赋值语句来完成赋值操作,听起来很别扭,赋值语句其实就是赋值表达式+分号 第三章 由于现在16位机已经…
精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第六章:使用定性数据解答"为什么"的谜团 当我走进一家超市,我不希望员工会认出我或重新为我布置商店. 然而,当我访问一个在线超市,我很郁闷的是在我第三次访问时,他们仍然不知道我住在加利福尼亚州,他们没有给我介绍在我的本地商店有售的商品. 当人们在网上购物时,他们会有不同的一些期待. 因此,您的Web Analytics 2.0策略必须包括至少几个积极地倾听客户的声音的方法. 通过这种方式,您站在了他们的期望顶端,您…
无论何时使用组件绑定或自定义元素注入组件,Knockout都将使用一个或多个组件装载器获取该组件的模板和视图模型. 组件加载器的任务是异步提供任何给定组件名称的模板/视图模型对. 本节目录 默认组件加载器 组件加载器实用函数 实现自定义组件加载器 可以实现的功能 getConfig(name, callback) loadComponent(name, componentConfig, callback) loadTemplate(name, templateConfig, callback)…
第六章 方法 6.2 定义方法 1.方法的定义由方法名称.参数.返回值类型以及方法体组成. 2.定义在方法头中的变量称为形式参数(formal parameter)或者简称为形参(parameter).参数就像占位符.当调用方法时,就给参数传递一个值,这个值称为实际参数(actual parameter)或实参(argument).参数列表(parameter list)指明方法中参数的类型.顺序和个数.方法名和参数列表一起构成方法签名(method signature).参数是可选的,也就是说…
第六章 避免使用全局变量 JavaScript执行环境在很多方面都有其独特之处,全局变量就是其中之一.“全局变量”是一个神秘的对象,它表示了脚本的最外层上下文. 在浏览器中,windows对象往往重载并等同于全局对象,因此任何在全局作用域声明的变量和函数都是windows对象的属性. 6.1 全局变量带来的问题 这个就不用照着书详谈了,当我们进入团队合作编写代码时,若大家自定义的变量都是直接挂载在windows对象上(也就是全局变量),很容易发生命名冲突.像这样: function sayCol…
简单的实体关系图 简单数据字典 用户(sys_user) 名称 类型 长度 描述 id bigint 编号 主键 username varchar 100 用户名 password varchar 100 密码 salt varchar 50 盐 role_ids varchar 100 角色列表 locked bool 账户是否锁定 组织机构(sys_organization) 名称 类型 长度 描述 id bigint 编号 主键 name varchar 100 组织机构名 priorit…
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4255663.html 第六章      枚举和注解 30.      用enum代替int常量 枚举类型是指由一组固定的常量组成合法值的类型,例如一年中的季节或一副牌中的花色.在没引入枚举时,一…
第六章 网络通信 Laxcus大数据管理系统网络建立在TCP/IP网络之上,从2.0版本开始,同时支持IPv4和IPv6两种网络地址.网络通信是Laxcus体系里最基础和重要的一环,为了能够利用有限的网络资源,获得最大化的使用效率,我们根据大数据网络环境的特点,设计了一套专属网络通信协议,以及在此协议基础上实现的多套网络通信方案,它们共同组成了Laxcus集群的网络通信基础.本章将以TCP/IP协议为起点,介绍与网络通信有关的各个组成部分. 6.1 FIXP协议 Laxcus采用FIXP协议通信…
第六章 Android绘图机制与处理技巧 1.屏幕尺寸信息屏幕大小:屏幕对角线长度,单位“寸”:分辨率:手机屏幕像素点个数,例如720x1280分辨率:PPI(Pixels Per Inch):即DPI(Dots Per Inch),它是对角线的像素点数除以屏幕大小得到的:系统屏幕密度:android系统定义了几个标准的DPI值作为手机的固定DPI独立像素密度(DP):android系统使用mdpi屏幕作为标准,在这个屏幕上1dp=1px,其他屏幕可以通过比例进行换算.在hdpi中,1dp=1.…
本文是<iOS Wow Factor:Apps and UX Design Techniques for iPhone and iPad>第六章译文精选,其余章节将陆续放出.上一篇:Wow体验 - 第五章 - 利用iOS技术特性打造最佳体验 关于本套译文分享的详情及目录结构,请参考iOS Wow体验 - 译文分享说明. 全文由C7210自发翻译(编译),并首发于Beforweb.com,如需转载,请注明译者及出处信息.英文原书版权由Apress所有,中文引进版的版权由相关出版社所有. 到目前为…
原文:ASP.NET2.0自定义控件组件开发 第六章 深入讲解控件的属性 深入讲解控件的属性持久化(一) 系列文章链接: ASP.NET自定义控件组件开发 第一章 待续 ASP.NET自定义控件组件开发 第一章 第二篇 接着待续 ASP.NET自定义控件组件开发 第一章 第三篇 ASP.NET自定义控件组件开发 第二章 继承WebControl的自定义控件 ASP.NET自定义控件组件开发 第三章 为控件添加事件 前篇 ASP.NET自定义控件组件开发 第三章 为控件添加事件 后篇 ASP.NE…
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:无他,祝大家年会都中奖!) 第六章 跟踪用户动作 在上一章中,你在你的项目中实现了AJAX视图(views),通过使用jQuery并创建了一个JavaScript书签在你的平台中分享别的网站的内容. 在本章中,你会学习如何创建一个粉丝系统以及创建一个用户活动流(activity stream).你会发现Django信号(signal…
第六章 面向对象的程序设计 一.理解对象 1.属性类型: ECMAScript中有两种属性:数据属性和访问器属性. (1)数据属性: 数据属性包含一个数据值的位置.在这个位置可以读取和写入值.数据属性有4个可以描述其行为的特性: [[Configurable]]:表示能否通过delete删除属性从而重新定义属性,能否修改属性的特性,或者能否把属性修改为访问器属性. [[Enumerable]]:表示能否通过for-in循环返回属性.像前面例子中那样直接在对象上定义的属性,它们的这个特性默认值为t…