摘要:10.1 ret 和 retf call和ret 指令都是转移指令,它们都修改IP,或同时修改CS和IP。它们经常被共同用来实现自程序的设计。这一章,我们讲解call和ret 指令的原理。(一)ret指令用栈中的数据,修改IP的内容,从而实现近转移!CPU执行ret指令时,进行下面两步操作:(1...
阅读全文
摘要:8086CPU的转移指令分为以下几类: 无条件转移指令 (如:jmp) 条件转移指令 循环指令(如:loop) 过程 中断9.1 操作符offset----------伪指令 操作符offset在汇编语言中是由编译器处理的符号,它的功能...
阅读全文
摘要:为了描述上的简洁,在以后的课程中,我们将使用两个描述性的符号 reg来表示一个寄存器,用sreg表示一个段寄存器。 reg的集合包括:ax、bx、cx、dx、ah、al、bh、bl、ch、cl、dh、dl、sp、bp、si、di; sreg的集合包括:ds、ss、cs、es。8.1 bx、s...
阅读全文
摘要:7.1 and和or指令 通过该指令可将操作对象的相应位设为0,其他位不变。 例如: 将al的第6位设为0:and al, 10111111B 将al的第7位设为0:and al, 01111111B 将al的第0位设为0:and al, 11111110B 通过该指令可将操...
阅读全文
摘要:对于使用多个段的问题,我们先简单说到这里,下面我们将以这样的顺序来深入地讨论多个段的问题:(1)在一个段中存放数据、代码、栈,我们先来体会一下不使用多个段时的情况;(2)将数据、代码、栈放入不同的段中。 解释一下,程序第一行中的 “dw”的含义是定义字型数据。dw即define word。 ...
阅读全文
摘要:一、[bx]和内存单元的描述 1、[bx]是什么呢? 和[0]有些类似,[0]表示内存单元,它的偏移地址是0。 mov ax, [0] 字单元 mov al, [0] 字节单元 我们要完整地描述一个内存单元,需要两种信息: (1)内存单元的地址; (2)内存...
阅读全文
摘要:一、编写汇编源程序 使用文本编辑器(如记事本、Nodepad++、UltraEdit等),用汇编语言编写汇编源程序二、编译连接 使用汇编语言编译程序(MASM.EXE)对源程序文件中的源程序进行编译,产生目标文件; 再用连接程序(LINK.EXE)对目标文件进行连接,生成可在操作系统中直...
阅读全文
摘要:2015年6月29日 22:40:52一、基础 1、寄存器:CPU里面的存储数据的器件,一个CPU里面可以有多个寄存器,AX是其中一个寄存器的代号,BX也是。 1.7 CPU对存储器的读写 CPU要想进行数据的读写,必须和外部器件(标准的说法是芯片)进行三类信息的交互: 存储单元的地...
阅读全文