会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Forever Hello World
Oh, my god. Segment fault.
博客园
新随笔
管理
随笔分类 -
Assembly
汇编语言复习摘要九——转移指令的原理
摘要:1. 可以修改IP,或者同时修改CS和IP的指令称为转移指令。有两种类型转移:1)只修改IP是段内转移,如:jmp ax2)修改CS和IP是段间转移,如:jmp 1000:02. 操作符offset:offset是取得标号的偏移地址,例如:start: mov ax, offset start ; equal to : mov ax, 03. jmp称为无条件转移,可以只修改IP,也可以同时修改...
阅读全文
posted @
2010-09-27 21:03
Linjian
阅读(289)
评论(0)
推荐(0)
汇编语言复习摘要八——数据处理的两个基本问题
摘要:1. 8086CPU处理数据的两个基本问题:1)处理的数据存放在哪个地方?2)要处理的数据有多长?2. bx, si, di, bp:这四个寄存器,都可以放在"[...]"来进行内存单元的寻址,其他寄存器都不可以,就是这么规定的,例如:mov ax, [bx]; mov ax, [si]; mov ax, [di+bp]; mov ax, [bp]; 都是合法的;但是:mov ax, [dx]; ...
阅读全文
posted @
2010-09-27 00:26
Linjian
阅读(238)
评论(0)
推荐(0)
汇编语言复习摘要七——更灵活的定位内存地址方法
摘要:1. 以字符形式给出的数据:在汇编程序中,以'...'方式指明的数据是以字符形式给出的,编译器把它们转化为响应的ASCII码。[代码]2. 大小写转换的问题:大小写字母的二进制码其实只有第5个bit(从0开始算起)是不同的,小写的字母第5个bit总是为1,而大写的总是为0. 所以,转换大小写无需判断字母是大写还是小写。and和or指令按位进行与或者或计算。下面是把字符串中的每个字符都转换成小写字母...
阅读全文
posted @
2010-09-26 19:31
Linjian
阅读(352)
评论(0)
推荐(0)
汇编语言复习摘要六——包含多个段的程序
摘要:1. 先考虑这样一个问题:计算以下8个数据的和,结果存放在寄存器ax中:0123h 0456h 0789h 0abch 0defh 0fedh 0cbah 0987h毫无疑问,要累加这些数据,就必须把这些数据先存放在内存单元中,然后循环读取每一个数据,进行累加。从何找到这段连续的内容单元?一般来说,我们无法自己决定使用哪段内存空间,所以把这个任务交给操作系统自己来决定:代码在上面的例子中,dw的意...
阅读全文
posted @
2010-09-25 21:41
Linjian
阅读(795)
评论(0)
推荐(0)
汇编语言复习摘要五——[BX] and loop
摘要:1. [bx]:[0]表示一个内存单元,其地址为:ds:0。同样道理,[bx]也是表示一个内存单元,偏移地址在寄存器bx中。比如:mov ax, [bx]:bx中存放的数据作为偏移地址,把一个内存单元送入ax中。mov [bx], ax:跟上面一样道理,只是把ax的内容送入内存单元[bx]中。2. Loop指令:Loop指令用于循环,其执行分为两个步骤进行:1) (cx) = (cx) - 1;(...
阅读全文
posted @
2010-09-25 00:42
Linjian
阅读(578)
评论(0)
推荐(0)
汇编语言复习摘要四——第一个汇编程序
摘要:1. 程序执行流程:简单说下,编写汇编程序->对程序进行编译和链接(注意,是两个动作)->执行可执行文件。操作系统将依照可执行文件中的描述信息,将可执行文件中的机器码和数据加载入内存,并进行相关的初始化,然后由CPU执行。2. 源程序:先来看看教材中第一个程序:[代码]1) 伪指令:汇编程序中包含两种指令,第一是伪指令,第二是汇编指令。区别在于:汇编指令是有对应的机器码的指令,可以被编...
阅读全文
posted @
2010-09-24 15:48
Linjian
阅读(1025)
评论(0)
推荐(1)
汇编语言复习摘要三——寄存器的内存访问
摘要:1. DS和[address]:8086CPU中寻址是用段地址×16+偏移地址来实现的。8086CPU有一个DS寄存器,通常用来存放要访问数据的段地址。而偏移地址则由[address]来决定。举例:mov bx, 1000Hmov ds, bxmov al, [0]表示寻址到1000:0,把该字节送给寄存器al。注意,不能直接用:mov ds, 1000H。这是硬件上的设计。2. 数据...
阅读全文
posted @
2010-09-24 11:29
Linjian
阅读(844)
评论(0)
推荐(0)
汇编语言复习摘要二——寄存器
摘要:CPU中的主要部件是寄存器,寄存器是CPU中程序员可以用指令来读写的部件。通过改变各种寄存器中的内容来实现对CPU的控制。8086CPU有14个寄存器,这里不一一列举。1. 通用寄存器:8086CPU的所有寄存器都是16位的,也就是可以存放两个字节。四个通用寄存器:AX,BX,CX,DX,通常用来存放一般性的数据。一个16位的寄存器可以存放的最大数值是FFFFH。每个寄存器可分为两个可独立使用的8...
阅读全文
posted @
2010-09-23 21:09
Linjian
阅读(814)
评论(0)
推荐(0)
汇编语言复习摘要一——基础知识
摘要:写点摘要,来自王爽老师那本《汇编语言》,以前大二的时候看过一次,复习一下。1、存储器:也就是我们平常所说的内存,指令和数据都是存放在存储器当中。2、指令和数据:都存储在存储器中。注意,两者只是应用上的概念,其实在存储器中,两者都是以二进制存放的,对于计算机来说,没有区别。3、存储单元:存储器被分成若干个存储单元,每个存储单元从0开始编号,一个存储单元是8个bit,也就是1byte。4、CPU对存储...
阅读全文
posted @
2010-09-23 17:45
Linjian
阅读(264)
评论(0)
推荐(0)
公告