
汇编语言
cggwz
这个作者很懒,什么都没留下…
展开
-
汇编语言第十章——CALL和RET指令
今天我们学习call和ret指令。我们在第九章里学习了转移指令的原理。今天标题里的两个指令,也都是转移指令。那么,下面我们就分别来讲解这两个指令。ret和retf那么这个指令的用处是什么呢?ret是利用栈中的数据来修改IP,从而实现近转移。retf利用栈中的数据来修改CS和IP,从而实现远转移。由这里的定义,我们可以看到,我们修改用的数据和数据来源,以及修改的目标都是非常明确的,所...原创 2019-11-28 20:20:52 · 1857 阅读 · 0 评论 -
汇编语言第九章——转移指令的原理
定义什么是转移指令?我们对其的定义如下:可以修改IP,或同时修改CS和IP的指令统称为转移指令简单来说,就是可以控制CPU执行内存中某段代码的指令。我们先总的对这类行为进行一下分类。从行为角度,主要有一下两类:段内转移:只改变IP段间转移:同时改变IP和CS在考虑修改的范围:短转移的IP范围:-128~127近转移的IP范围:-32768~32767所以我们就可...原创 2019-11-21 17:20:45 · 401 阅读 · 0 评论 -
汇编语言第八章——数据处理的两个基本问题
至此,我们已经学习了七章和数据、内存相关的章节,此处我们需要进行一下总结。首先提出标题中提到的数据处理的两个基本问题:处理的数据在哪个地方?要处理的数据有多长?我们首先对寄存器进行一个分类:寄存器(reg):ax,bx,cx,dx,sp,bp,si,di段寄存器(sreg):ds,cs,ss,esbx,si,di,bp前面三个我们已经学习过了。把这几个放在一起,显然是为了...原创 2019-11-21 15:52:22 · 202 阅读 · 0 评论 -
汇编语言第七章——更加灵活的定位内存的方法
and和or我觉得没什么值得解释的,大家应该都是明白的。举个例子:and al,10110101bor al,10101010b就是把寄存器中的值and上或or上某个数。ASCII码这个大家应该也都知道。字符与字符串汇编里的字符和字符串由’'给出。比如:db ’unIX‘mov ax,'a'其中db意思是“define byte”而其在内存中的存储形式,就是ASCI...原创 2019-11-14 16:59:39 · 177 阅读 · 0 评论 -
汇编语言第六章——包含多个段的程序
今天我们来看看第六章。在代码段中使用数据我们知道在高级语言中,有数组这样东西。那么在汇编语言中,我们又如何将一段数据保存在一段连续的内存中呢?我们肯定不能随便找到一段内存,然后就往里面存,因为那样可能会覆盖那里原有的非常重要的东西。所以我们应当让系统为我们分配。这里就又涉及到一个语句:dw 0123,2312,34a3,1231,3456这里dw是“define word” 的意思...原创 2019-11-13 17:43:51 · 271 阅读 · 0 评论 -
汇编语言第五章——[BX]和loop指令
今天我们继续看第五章。 我们先讲一下,作者有一个这样的约定: 为了描述上的简洁,在以后的课程中,我们将使用一个描述性的符号“()”来表示一个寄存器或一个内存单元的内容。所以我们这里沿用这个记号。首先我们先来看一下[BX]。 这个是什么? 大家应该还记得[address]吧? 我们当时的这个是用来指定偏移地址的。 所以,我们这里也是这样。 其实就是用bx中的内容去指定偏...原创 2019-11-12 15:06:47 · 468 阅读 · 0 评论 -
汇编环境的准备
提供一篇不错的文章:环境准备原创 2019-11-10 19:18:12 · 94 阅读 · 0 评论 -
第四章——第一个程序
对于每一本编程书,这样的标题似乎都会令人感到振奋。。 特别对于一个编程小白来说,尤其振奋。 心里一定是这样想的:“天天看周围的编程大佬在那装逼,今天终于要出一口气了,我也要会写程序了!” 那么就让我们带着这样的心情去看这一章吧!(虽然我可能已经没有这样的心情了) 先讲一下整个过程:编写汇编源程序->对源程序进行编译->执行可执行文件中的程序 就是这么简单。 下面让我们细细地...原创 2018-02-16 18:40:30 · 218 阅读 · 0 评论 -
第三章——寄存器(内存访问)
为什么第三章还是寄存器? 很明显这一章和上一章并不相同,因为后面多了四个字。 很显然上一章,还有一些东西还没有讲完。 所以我们再来看一看第三章讲了些啥。字单元:即存放一个字型数据(word,16位)的内存单元,由两个地址连续的内存单元(8位)组成。 DS(data segment)是数据寄存器,用于存储需要访问的数据。 [address]:这个是用于定位DS中的数据的,其中addre原创 2018-02-05 21:31:31 · 312 阅读 · 0 评论 -
第二章——寄存器
今天我们来看看第二章。 第二章讲的是寄存器,这里蕴含的知识点还是比较多的。 我们来看一看。 通用寄存器——AX,BX,CX,DX。 对于8086CPU,每个寄存器都是16位的。 为了兼容上一代8位的CPU,8086CPU的寄存器分为高位和低位,如AX分为AH,AL。 字节:Byte(8bit) 字:word(16bit) 下面是几条汇编指令:mov A,B //把...原创 2018-02-05 21:07:52 · 253 阅读 · 0 评论 -
第一章——基础知识
最近开始学习汇编语言了,从今天开始会做一些笔记。 今天是第一章,基础知识。 我们这里只记录一下知识点。 微型机存储器的存储单元可以存储一个Byte。 CPU与内存中有三条线——地址线、数据线、控制线。 若地址总线的宽度为N,则寻址能力为2^N(B)。 好像也没啥了,大家剩下的可以自己看看书。原创 2018-02-02 21:20:15 · 243 阅读 · 0 评论