汇编网首页登录博客注册
byzero的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
好友圈
文章收藏
友情链接

[2010-07-24 20:49] 汇编语言——第十一天

可以修改IP,或同时修改CS和IP的指令统称为转移指令。概括地讲,转移指令就是可以控制CPU执行内存中某处代码的指令。
   8086CPU的转移行为有以下几类。
   只修改IP时,称为段内
转移,比如:jmp ax。
   同时修改CS和IP时,称为断间转移,比如:jmp 1000:0。
由于转移指令对IP的修改范围不同,段内转移又分为:短转移和近转移。
   短转移IP的修改范围为“-128~127”
   近转移IP的修改范围为“-32768~32767”
8086CPU的转移指令分为以下几类。
   无条件转移指令(如:jmp)
   条件转移指令
   循环指...
阅读全文 | 评论次数(1) | 浏览次数(1441) | 所属类型(汇编笔记)

[2010-07-21 19:36] 汇编语言——第十天

为了描述方便,我们将使用两个描述行的符号reg来表示寄存器,永sreg表示一个段寄存器。
   reg:{ax、bx、cx、dx、ah、al、bh、bl、ch、cl、dh、dl、sp、bp、si、di}
   sreg:{ds、ss、cs、es}
1.bx、si、di和bp
   (1)在8086CPU中,只有这4个寄存器可以永在“[...]”中来进行内存单元的寻址。
   (2)在[...]中,这4个寄存器可以单个出现,或只能以4中组合出现:bx和si、bx和di、bp和si、bp和di。
   (3)只要在[...]中使用寄存器bp,而指令中没有显性地给出段地址,段地址就默认在...
阅读全文 | 评论次数(1) | 浏览次数(1424) | 所属类型(汇编笔记)

[2010-07-20 10:27] 汇编语言——第九天

1.and和or指令
(1)and指令:逻辑与指令,按位进行与运算

 mov al,01100011B
 add al,00111011B
执行后:al=00100011B
通过该指令可将操作对象的相应位设为0,其他位不变
(2)or指令:逻辑或指令,按位进行或运算。语言语言地汇编语言回避那前34

 mov al,01100011B
 or al,00111011B
执行后:al=01111011B
通过该指令可将操作对象的相应位设为1,其他位不变。
2.关于ASCII码
    ASCII编码,是在计算机中通常被采用的。简单地说,所谓编码方案,就是一套规则...
阅读全文 | 评论次数(1) | 浏览次数(1461) | 所属类型(汇编笔记)

[2010-07-16 19:20] 汇编语言——第八天

在操作系统的环境中,合法地通过操作系统取得的空间都是安全的,因为操作系统不会让一个程

序所用的空间和其他程序以及系统自己的空间相冲突。早操作系统允许的情况下,程序可以取得任意

容量的空间。
    陈旭取得所需空间的方法有两种,一是在加载程序的时候为程序分配,再就是程序在执行的过程

中向系统申请。在我们的课程中,不讨论第二种方法。
    我们若要一个程序在被加载的时候取得所需的空间,则必须要在原程序中作出说明。我们通过在

原程序中定义段来进行定内存空间的获取。

1.在代码段中使用数据
    “dw”的含义是定义字型数据。dw即“define word”具...
阅读全文 | 评论次数(1) | 浏览次数(1446) | 所属类型(汇编笔记)

[2010-07-14 21:01] 汇编语言——第七天

1.[bx]和内存单元的描述
    要完整地描述一个内存单元,需要两种信息:一、内存单元的地址;二、内存单元的长度(类型)。
    [bx]表示一个内存单元,它的偏移地址在bx中。
    loop有循环的含义,这个指令和循环有关。
    约定符号idata表示常量,如mov ax,[idata]代表mov ax,[1]、mov ax,[2]
                             mov bx,idata代表mov bx,1、mov bx,2
                             这些都是非法指令。
    inc bx的含义是bx中...
阅读全文 | 评论次数(0) | 浏览次数(880) | 所属类型(汇编笔记)

[2010-07-11 15:16] 推荐博文 汇编语言——第六天

1.一个源程序从写出到执行的过程
    编写汇编源程序——对源程序进行编译连接——执行可执行文件中的程序
2.源程序
    在汇编语言源程序中,包含两种指令,一种是汇编指令,一种是伪指令。汇编指令是有对应的机器码的指令,可以被编译为机器指令,最终为CPU所执行。而伪指令没有对应的机器指令,最终不被CPU所执行。而是由编译器来执行,根据伪指令来进行相关的编译工作。
    segment和ends是一对成对使用的伪指令。这事在写可被编译器编译的汇编程序时,必须要用到的一对伪指令。segment和ends的功能是定义一个短,segment说明一个段开始,ends说明一个段的结束。一个段...
阅读全文 | 评论次数(24) | 浏览次数(46525) | 所属类型(汇编笔记)

[2010-07-10 20:20] 汇编语言——第五天

1.栈
    栈有两个基本的操作:入栈和出栈。入栈就是将一个新的元素放到栈顶,出栈就是从栈顶取出一

个元素。栈顶的元素总是最后入栈,需要出栈时,又最先被从栈中取出。栈的这种操作规则被称为:

LIFO(Last In First Out)。
2.CPU提供的栈机制
    8086CPU提供入栈和出栈指令,最基本的两个是PUSH(入栈)和POP(出栈)。在8086CPU中,有

两个寄存器,段寄存器SS和寄存器SP,栈顶的段地址存放在SS中,偏移地址存放在SP中,让人一时刻

,SS:SP指向栈顶元素。push指令和pop指令执行时,CPU从SS和SP中得到栈顶的地址...
阅读全文 | 评论次数(0) | 浏览次数(828) | 所属类型(汇编笔记)

[2010-07-09 23:44] 汇编语言——第四天

1.内存中字的存储
    由于内存单元是字节单元,所以一个字要用两个连续的内存单元来存放,低位字节放在低地址单元中,高位字节放在高地址单元中。
    字单元:即存放一个字型数据(16位)的内存单元,由两个连续的内存单元组成。高地址内存单元中存放字型数据的高位字节,低地址内存单元中存放字型数据的低位字节。
    任何两个地址连续的内存单元,N号单元和N+1号单元,可以将它们看成两个内存单元,也可堪称一个地址为N的字单元中的高位字节单元(N+1)和低位字节单元(N)。
2.DS和[address]
    CPU要读写一个内存单元的时候,必须先给出这个内存单元的地址,在8086CP...
阅读全文 | 评论次数(2) | 浏览次数(1370) | 所属类型(汇编笔记)

[2010-07-08 19:43] 实验1 查看CPU和内存,用极其指令和汇编指令编程

Debug是DOS、Windows都提供的实模式(8086方式)程序的调试工具。使用它,可以查看CPU各种寄存其中的内容、内容的情况和在机器码级跟踪程序的运行。

Debug部分指令

-r 查看、改变CPU寄存器的内容 例:查看CPU寄存器(r);修改某一寄存器如ax(r ax)输入指令后enter,在:后面输入要写入的数据

-d 查看内存中的内容 格式(d 段地址:偏移地址)例:内存10000H处的内容:d 1000:0 debug将列出从指定单元内存开始的128个内存单元的内容;在一进入debug,用D命令查看,将列出debug预设的地址处的内容,接着使用D命令,可列出后续...
阅读全文 | 评论次数(0) | 浏览次数(971) | 所属类型(汇编笔记)

[2010-07-08 14:59] 汇编语言——第三天

1.段寄存器
    当8086CPU要访问内存时由CS(code segment)、DS(data segment)、SS(stack segment)、ES(extra segment)这4个段寄存器提供内存单元的段地址。        
2.CS和IP
    CS(代码段寄存器)和IP(指令指针寄存器)是8086CPU中两个最关键的寄存器,它们指示了CPU当前要读取指令的地址。
    8086机中,任意时刻,CPU将CS:IP指向的内容当作指令执行。
8086CPU的工作过程简要描述如下:
(1)从CS:IP指向的内存单元读取指令,读取的指令进入指令缓冲器;
(2)IP=IP+所读取...
阅读全文 | 评论次数(0) | 浏览次数(1076) | 所属类型(汇编笔记)
页码数(2):  1  2