随笔分类 -  汇编语言学习笔记

摘要:nim语言的引用和其他语言的指针有点相似可以提供一种“多对一”的关系这就意味着不同的引用可以指向同一个内存位置nim区分可被追踪的引用和不可被追踪的引用不可被追踪的引用又称为指针可被追踪的引用可以被垃圾回收器回收不可被追踪的引用指向手动分配的对象,或其他地方创建出来的一块内存区域这也就是说,不可被追... 阅读全文
posted @ 2015-08-28 13:55 liulun 阅读(1982) 评论(2) 推荐(1) 编辑
摘要:前言本文得到了“樂師”的大力支持,我们一起调试程序到深夜,要是没有他的帮忙,我不知道要多久才能迈过这道坎,另外“归心”还有其他人也提供了帮助,他们都来自于QQ群:“Nim开发集中营”469329878;感兴趣的朋友,可以加这个群一起讨论配置GUI开发环境我在这篇博客中,写到了Nim开发环境的搭建那篇... 阅读全文
posted @ 2015-08-09 17:47 liulun 阅读(7372) 评论(1) 推荐(1) 编辑
摘要:前言Nim支持把一大段程序分成若干个模块一个模块就是一个源代码文件每个模块都拥有它自己的名称空间模块化可以起到封装(信息隐藏)和分步编译的作用一个模块可以通过import语句获得另一个模块的符号nim语言允许模块间的循环引用,只有用星号(*)标记的顶级符号才会被导出给其他模块。模块名和文件名相同,模... 阅读全文
posted @ 2015-08-07 07:46 liulun 阅读(2470) 评论(3) 推荐(0) 编辑
摘要:介绍Nim语言不限制开发人员使用哪种具体的编码风格,但为了社区的发展,在编写一些标准库的时候还是应该遵从统一的编码风格这篇文章会列出一系列的编码风格准则,供大家参考。但值得注意的是,有很多例外场景会与这些准则相悖,而且,nim语言非常灵活,在一些特定上下文中,这些编码风格准则也不适用。跟python... 阅读全文
posted @ 2015-08-06 09:32 liulun 阅读(1778) 评论(0) 推荐(1) 编辑
摘要:模版模版是Nim语言中的抽象语法树,它是一种简单的替换机制,在编译期被处理这个特性使Nim语言可以和C语言很好的运行在一起像调用一个方法一样调用一个模版请看如下代码:template`!=`(a,b:expr):expr=#thisdefinitionexistsintheSystemmodulen... 阅读全文
posted @ 2015-07-08 19:39 liulun 阅读(2261) 评论(1) 推荐(5) 编辑
摘要:网友@沉没捕鱼,赞助了一台服务器这个系列的教程写完之后,我们就要开始着手搭建Nim的社区了~异常Nim中的异常类型是对象类型根据惯例,Nim中的异常类型的命名都应该以Error后缀结尾在system模块中定义了异常类型的基类所有的异常都应该派生自system.Exception类型由于我们不清楚异常... 阅读全文
posted @ 2015-06-30 22:06 liulun 阅读(1801) 评论(0) 推荐(4) 编辑
摘要:类型转换Nim支持显示类型转换和隐式类型转换使用casts操作符完成显示类型转换工作,显示类型转换工作是编译期完成的工作,是位模式的隐式类型转换也是编译期完成的工作,不是位模式的让我们来看一下下面的代码procgetID(x:Person):int=Student(x).id在上面的代码中如果x变量... 阅读全文
posted @ 2015-06-18 16:20 liulun 阅读(1736) 评论(4) 推荐(3) 编辑
摘要:排除指定符号一般情况下使用import语句,会把一个模块内的符号都导入进来如果你像排除特定的符号(不想让某些符号被导入进来)可以使用except子句就像下面这样importmymoduleexcepty这行代码排除了mymodule模块中的y符号,其他符号都导入了如果想排除更多的符号,可以使用逗号分... 阅读全文
posted @ 2015-06-18 09:16 liulun 阅读(1685) 评论(0) 推荐(2) 编辑
摘要:引用类型和指针类型不同的引用可以只想和修改相同的内存单元在nim中有两种引用方式,一种是追踪引用,另一种是非追踪引用非追踪引用也就是指针,指向手动在内存中分配的对象;追踪引用指向一个垃圾收集的对象;非追踪引用是不安全的然而对于一些低级操作(比如说访问硬件),非追踪引用是不可避免的追踪引用用ref关键... 阅读全文
posted @ 2015-06-17 08:39 liulun 阅读(1857) 评论(2) 推荐(3) 编辑
摘要:openarray类型注意:openarray类型只能用于参数固定大小的数组虽然性能不错,但过于呆板,使用取来不是很方便对于一个方法来说,传入参数如果是一个数组,最好是不要限制数组的长度也就是说,方法应该能够处理不同大小的数组openarray类型就是为了满足这样的要求而设计的openarray类型... 阅读全文
posted @ 2015-06-16 06:58 liulun 阅读(1774) 评论(0) 推荐(3) 编辑
摘要:先说无关的内容前两天开发了一个博客园撰写博客的客户端之后就把他开源到了github上目前为止,已经收获了十几颗星星,感觉还是有点小开心呢!但是,第一次发布,还是有一些不完美的地方比如:用户名和博客ID不相同的话,发布博客不成功无法获取并再次编辑博客这两个严重的问题,在这次发布的时候都已经解决了!另外... 阅读全文
posted @ 2015-05-27 07:56 liulun 阅读(2364) 评论(5) 推荐(3) 编辑
摘要:目前看来这是国内第一个关于Nim的系列教程先说废话Rust1.0已经发布了,国内有一个人为这个事情写了一篇非常长的博客,这篇文章我前几天草草的看了一下,只记得这位朋友追Rust的艰辛,其他内容都已经记不清楚了我觉得,任何正向付出都是值得鼓励和尊敬的,这节不对其他语言做任何吐槽就吐槽Nim本身,Nim... 阅读全文
posted @ 2015-05-20 19:50 liulun 阅读(2883) 评论(7) 推荐(5) 编辑
摘要:妈蛋,花了两天时间才搞定博客园的API,比预期的时间整整多了1天,不管怎么说,总算把博客园的客户端搞定了这篇文章就是用博客园的客户端发布的,先贴张图,给大家看看,后面我会和博客园的领导商量一下,看看能不能发出来(当然,如果能的话,我肯定会开源)(这个图片是直接黏贴上传的哦!)------------... 阅读全文
posted @ 2015-05-19 11:24 liulun 阅读(4869) 评论(9) 推荐(4) 编辑
摘要:这是国内第一个关于Nim的系列教程 先说废话 不得不说Rust也是门不错的语言,园子里 有人曾经说: Rust语言除了library或keyword缩写比较恶心以外其他所有地方完爆go ... 阅读全文
posted @ 2015-05-16 22:03 liulun 阅读(4079) 评论(2) 推荐(4) 编辑
摘要:这是国内第一个关于Nim的系列教程(至少我百度和必应是没有找到类似的教程) 先说废话 有人说 Golang的编译器/工具链也学互联网行业跟风拿用户当测试,简直一点素质没有。 还有人说 Go社区的... 阅读全文
posted @ 2015-05-16 12:49 liulun 阅读(3498) 评论(5) 推荐(3) 编辑
摘要:第一篇教程1秒内就被管理员从首页踢掉了管理员嫌内容太少,没有含金量,这次多写一些。 这应该是国内第一个关于Nim入门的系列教程 好,闲话休提,言归正传 Nim介绍 Nim代码会编译成C语言的代码,再编译成本地机器码,不依赖于虚拟机, 而且生成的可执行文件比较小... 阅读全文
posted @ 2015-05-15 17:58 liulun 阅读(4931) 评论(6) 推荐(3) 编辑
摘要:这应该是国内第一个关于Nim入门的系列教程 什么是Nim 我们先来引述网友 Luikore的一段话: Nim 不是函数式的, 但 Nim 支持卫生宏, 可以做 AST 重写, 可以自定编译规则, 是静态语言中的黑客语言有木有! 自定编译规则甚至... 阅读全文
posted @ 2015-05-15 11:56 liulun 阅读(12198) 评论(7) 推荐(5) 编辑
摘要:rsrc.rc文件代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--#include <resource.h>#define IDC_EDIT 3000 #define IDC_BUTTON 3001 #define IDC_EXIT 3... 阅读全文
posted @ 2010-01-30 20:28 liulun 阅读(544) 评论(0) 推荐(0) 编辑
摘要:1:div srcsrc为8位时:ax/src = al余数放在AH中SRC位16位时:DX:AX/SRC = AX,余数放在DX中SRC为32位时:EDX:EAX/SRC = EAX,余数放在EDX中2:IDIV带符号的除法A/B的表示如下:mov ax,acwd;把ax扩展为dx:axidiv b 阅读全文
posted @ 2010-01-27 21:13 liulun 阅读(4411) 评论(0) 推荐(0) 编辑
摘要:1:MUL SRC无符号数的乘法SRC是一个乘数,不能是立即数当SRC为8位时:AX<----AL*SRC当SRC为16位时:DX:AX<-----AX*SRC;DX;存放高十六位当SRC为32位时:EDX:EAX<------EDX*SRC;EDX存放高32位2:IMUL SRC有符号数乘法,与MUL SRC相同3:IMUL DST,SRCDST<----DST*SRC;... 阅读全文
posted @ 2010-01-26 20:45 liulun 阅读(11722) 评论(0) 推荐(0) 编辑