汇编语言
Ciruy B.Heimerdinger
我是一名兴趣使然的博主
展开
-
开发日记-20190502 关键词 汇编语言(一)
只有谦卑,将自己视为虫子,我才能变得更强。人往往喜欢抱团,往往认为只要人多了,什么事情都是可以解决的。这其实并无错误,大刘的乡村教师就有一段很有意思的描述,大体意思如下,人类的交流信息速度仅仅为10B/S,竟可以发展出B4级文明。为什么,因为有教师的存在,教师站在人类的历史积淀上让后人不用再一日复一日地重复承受造轮子的痛苦。常常有人说,教师是一项伟大而神圣的职业,这并没有错误,因为...原创 2019-05-02 22:01:20 · 387 阅读 · 0 评论 -
开发日记-20190914 关键词 汇编语言王爽版 第四章
第四章 第一个程序4.1 一个源程序从写出到执行的过程第一步:编写汇编源程序使用文本编辑器,用汇编语言编写汇编源程序这一步工作的结果是产生一个储存源程序的文本文件.第二步:对源程序进行编译程序使用汇编语言编译程序对源程序文件中的源程序进行编译,产生目标文件;再用链接程序对目标文件进行链接,生成可在操作系统中直接运行的可执行文件.可执行文件包括两部分内容:程序(从源程序中的汇编指令...原创 2019-09-14 22:25:57 · 300 阅读 · 0 评论 -
开发日记-20190914 关键词 汇编语言王爽版 第五章
第五章 [BX]和loop指令5.2 Loop指令loop指令的格式是:loop标号,CPU执行loop指令的时候,要进行两步操作,(cx)=(cx)-1判断cx中的值,不为零则转至标号处执行程序,如果为零则向下执行.从上面的描述中,可以看到,cx中的值影响着loop指令的执行结果.通过,我们用loop指令来实现循环功能,cx中存放循环次数.这里讲解loop指令的功能,关于loop...原创 2019-09-14 22:26:29 · 288 阅读 · 0 评论 -
开发日记-20190914 关键词 汇编语言王爽版 第六章
第六章 包含多个段的程序前面的程序中,只有一个代码段.现在有一个问题是,如果程序需要用其他空间来存放数据,使用哪里呢?在第五章中,我们说0:200~0:2FF是相对安全的,可这段空间的容量只有256个字节,如果我们需要的空间超过256个字节该怎么办呢?在操作系统的环境下,合法的通过操作系统取得的空间都是安全的,因为操作系统不会让一个程序所用的空间和系统自己的空间相冲突.在操作系统允许的情况下,...原创 2019-09-14 22:26:59 · 363 阅读 · 0 评论 -
开发日记-20190914 关键词 汇编语言王爽版 第七章&第八章
第七章 更灵活的定位内存地址的方法7.1 and和or指令(1)and指令:逻辑与指令,按位进行与运算(2)or指令:逻辑或指令,按位进行或运算7.2 关于ASCII码一个文本编辑过程中,就包含着按照ASCII编码规则进行的编码和解码.在文本编辑过程中,我们按一下键盘的a键,就会在屏幕上看到’a’.这是怎么样一个过程?我们按下键盘的a键,这个按键的信息被送入计算机,计算机用ASCII码的...原创 2019-09-14 22:28:06 · 297 阅读 · 0 评论 -
开发日记-20190915 关键词 汇编语言王爽版 第九章
第九章 转移指令的原理可以修改IP或同事修改CS和IP和指令统称为转移指令.概括地讲,转移指令就是可以控制CPU执行内存中某处代码的指令.8086CPU的转移行为有以下几类:只修改IP时,称为段内转移,比如:jmp ax同时修改CS和IP时,称为段内转移,比如:jmp: 1000:0由于转移指令对IP的修改范围不同,段内转移又分为:短转移和近转移短转移IP的修改范围为-128~1...原创 2019-09-15 17:37:02 · 305 阅读 · 0 评论 -
开发日记-20190915 关键词 汇编语言王爽版 第十章
第十章 CALL和RET指令call 和ret指令都是转移指令,他们都修改IP,或同时修改CS和IP.他们经常被共同用来实现子程序的设计.10.1 ret和retfret指令用栈中的数据,修改IP的内容,从而实现近转移;retf指令用栈中的数据,修改CS和IP的内容,从而实现远转移.CPU执行ret指令时,进行下面两步操作:(1) (IP)=((ss)*16+(sp))(2) (sp...原创 2019-09-15 17:37:34 · 441 阅读 · 0 评论 -
开发日记-20190915 关键词 汇编语言王爽版 第十一章
第十一章 标志寄存器CPU内部的寄存器中,有一种特殊的寄存器(对于不同的处理器,个数和结构都可能不同)具有以下三种作用.(1)用来存储相关的指令的某些执行结果(2)用来为CPU执行相关的指令提供行为依据(3)用来控制CPU的相关工作方式这种特殊的寄存器在8086CPU中,被称为标志寄存器.8086CPU的标志寄存器有16位,其中存储的信息通常被称为程序状态字(PSW).我们已经使用过80...原创 2019-09-15 20:16:17 · 314 阅读 · 0 评论 -
开发日记-20190915 关键词 汇编语言王爽版 第十二章
第十二章 内中断任何一个通用的CPU,比如8086,都具备一种能力,可以在执行完当前正在执行的指令之后,检测到从CPU外部传送过来或内部产生的一种特殊信息,并且可以立即对所接收的信息进行处理.这种特殊的信息,我们可以称其为:中断信息.终端的意思指,CPU不再接着(刚执行完的指令)向下执行,而是转去处理这个特殊信息.注意,我们这里所说的终端信息,是为了便于理解而采用一种逻辑上的说法.它是对几个具...原创 2019-09-15 21:02:38 · 310 阅读 · 0 评论 -
开发日记-20190914 关键词 汇编语言王爽版 第三章
第三章 寄存器(内存访问)3.1 内存中字的存储CPU中,用16位寄存器来存储一个字.高8位存放高位字节,低八位存放低位字节.在内存存储时,由于内存单元是字节单元(一个单元存放一个字节),则一个字要用两个地址连续的内存单元来存放,这个字的低位字节存放在低地址单元中,高位字节存放在高地址单元中.我们提出字单元的概念:字单元,即存放一个字型数据(16位)的内存单元,由两个地址连续的内存单元组成....原创 2019-09-14 22:25:09 · 375 阅读 · 0 评论 -
开发日记-20190914 关键词 汇编语言王爽版 第二章
第二章 寄存器一个典型的CPU由运算器,控制器,寄存器(CPU工作原理)等器件构成,这些器件靠内部总线相连.前一章所说的总线,相对于CPU内部来说是外部总线.内部中心实现CPU内部各个器件之间的联系,外部总线实现CPU和主板上其他器件的联系.简单地说,在CPU中:运算器进行信息处理;寄存器进行信息存储;控制器控制各种器件进行工作;内部总线连接着各种器件,在他们之间进行数据的传送.不...原创 2019-09-14 22:24:40 · 312 阅读 · 0 评论 -
开发日记-20190503 关键词 汇编语言(二)
这两天肩膀真的痛的让我心痛,坐在那里看书都疼的让人受不了。今天主要是理论上的操作,估计明天要开始编码实战了。参考书:汇编语言,基于x86处理器;大致梗概应用于x86(和Intel 64)处理器的计算机基本体系结构基本boolean逻辑x86管理内存高级语言编译器如何将其语句转换为汇编语言和原生机器代码;高级语言如何在机器级实现算数表达式,循环和逻辑结构;有符号和无符号整...原创 2019-05-03 23:40:51 · 336 阅读 · 0 评论 -
开发日记-20190504 关键词 汇编语言(三)
为什么总有人喜欢出来散播这种类型的话,java已死啊之类的。我虽然不知道java还有多久好活,但是我不用见这些人,就知道这些人不是什么东西。站在一旁,说着自己没有办法负责任的话,甚至是煽动性质的话的,出了事情就隐身的,这不就是最卑劣的人吗?这年头,能静下心来的人真的不多,我也不是这样的人。x86处理器有三个主要的操作模式:保护模式,实地址模式和系统管理模式:以及一个子模式:虚拟8086模式...原创 2019-05-04 22:51:46 · 956 阅读 · 0 评论 -
开发日记-20190505 关键词 汇编语言(四) & 自定义分级视图demo
日本有社畜一说,很多时候真的感觉很贴切,之前听一个朋友说,他有个朋友在日企工作,所有的操作都必须符合规定,一份设计图放到你的手上,你的全部任务就是将这份设计图尽可能地完美还原,不需要让这份设计图在你的手上实现任何的升华,你所做出的任何创新都将面临谴责,无论创新愚蠢与否,所以日本的产品才让人放心,因为基本不会出错。嘛嘛,家家都有难念的经,不是吗?日本有日本的烦恼,日本有日本的优越感,我天朝有天朝的...原创 2019-05-05 23:51:46 · 371 阅读 · 0 评论 -
开发日记-20190513 关键词 汇编语言(六)
其实,每次当我写一篇开发日记,并且这篇开发日记并没有关键词,或者我并没有和你扯东扯西的情况下...这意味着我这天偷懒了= = ;AddTwo.asm --两个32位整数相加 .386 .model flat,stdcall .stack 4096 ExitProcess PROTO, dwExitCode:DWORD .code main PROC mov e...原创 2019-05-13 23:57:31 · 363 阅读 · 0 评论 -
开发日记-20190506 关键词 汇编语言(五)Hello World!
我一直感觉阿姆斯特朗这个名字取的很好,充分表达了父母对孩子的无限期待。所以他登上了月球说了那几句伟大的名言:这虽然我本人的一小步,但是却是人类的一大步。今天终于输出了"hello world"。这虽然是我个人的一小步,但是却是我探索真理的一大步。参考:https://www.jianshu.com/p/d0d95a461bbf 编译环境搭建–Visual Studiohtt...原创 2019-05-06 17:54:58 · 354 阅读 · 0 评论 -
开发日记-20190514 关键词 汇编语言(七)
常常有这种冲动,想花钱= =,但是总感觉充游戏这类的毒品性消费又太过于无趣了,因为我还是很喜欢物质的那种存在感,所以还是喜欢买书。最近发现一个很令人无语的事实,就是貌似我读书的速度大概是我买书的速度的1/3左右= =,这就有点23333了= =一直听别人说函数式编程,其实个人还是很喜欢规范编程感觉的,规范是一回事,但是当你发现你的代码虽然不符合规范,但是在各个方面远超规范,这感觉不是很棒吗?但...原创 2019-05-14 23:52:51 · 338 阅读 · 0 评论 -
开发日记-20190515 关键词 汇编语言(八)& MVVM
PART 杂谈现在是晚上8点14分,刚刚下班,最近刚刚一个项目完成了,其实很多时候,我真的感觉我们的项目缺乏挑战性,所以现在很多时候我仅仅是把自己当成一个成长中的代码美容师比较贴切一些。最近其实真的想了很多,有句话叫做少想多做。这其实也是很矛盾的事情,如果想少了,做的时候就不会很顺,缺乏调理,但是如果想多了= =,基本就不会想去做了。今天晚上基本上把郭神的mvvm架构一个一个天气预报demo...原创 2019-05-15 23:56:39 · 375 阅读 · 0 评论 -
在Mac上写汇编!(一)helloworld nasm on macos
参考和感谢:https://blog.csdn.net/s793223706/article/details/82469971 教你在Mac上写汇编https://stackoverflow.com/questions/14103624/how-to-compile-using-nasm-on-macosx 解决了执行ld指令时候的警告问题其实想学学linux相关的,但是这一个月的经验告诉我...原创 2019-05-11 15:13:37 · 1558 阅读 · 3 评论 -
开发日记-20190915 关键词 汇编语言王爽版 第十三章
第十二章 内中断任何一个通用的CPU,比如8086,都具备一种能力,可以在执行完当前正在执行的指令之后,检测到从CPU外部传送过来或内部产生的一种特殊信息,并且可以立即对所接收的信息进行处理.这种特殊的信息,我们可以称其为:中断信息.终端的意思指,CPU不再接着(刚执行完的指令)向下执行,而是转去处理这个特殊信息.注意,我们这里所说的终端信息,是为了便于理解而采用一种逻辑上的说法.它是对几个具...原创 2019-09-15 21:37:13 · 293 阅读 · 0 评论