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

我的博客

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

[2011-04-01 16:06] 第八天学习

第十章call和ret指令

                一、ret和retf
ret用栈中的数据修改ip,近转移;
retf用栈中的数据修改cs和ip,远转移。

                二、call指令
将当前ip或者cs和ip压入栈中,然后转移。
call不能实现短转移。

           三、依据位移进行转移的call指令
call 标号(将当前ip压栈,转到标号处执行指令)。
相当于push ip
       jmp near ptr 标号

           四、转移的目的地址在指令中
call far ptr 标号 段间转移...
阅读全文 | 评论次数(0) | 浏览次数(544) | 所属类型(默认类型)

[2011-03-31 14:17] 第七天学习

第九章转移指令的原理
修改ip或者同时修改cs和ip的指令统称为转移指令。
无条件转移指令jmp。

                   一、操作符offset
offset取得标号在cs段内的偏移地址。
                   二、jmp指令
•转移的目的地址;
•转移的距离。
               三、依据位移进行转移的jmp指令
jmp short 标号
cpu在执行jmp指令时并不需要转移的目的地址。
在“jmp short 标号”指令所对应的机器码中,并不包含转移的目的地址,而包含的是转移的位移。

        四、转移的目的地...
阅读全文 | 评论次数(0) | 浏览次数(508) | 所属类型(默认类型)

[2011-03-30 10:47] 第六天学习

第七章更灵活的定位内存地址的方法

                 一、and和or指令
and按位与,or按位或。
可将操作对象的相应位设为0或1.

              二、关于ascⅡ码
编码方案是一套规则,约定了用什么样的信息来表示现实对象。

               三、以字符形式给出的数据
用‘’指明数据是以字符的形式给出的,编译器将其转为对应的ascⅡ码。
                四、大小写转换的问题
大写字母ascⅡ码(二进制形式)的第5位是0。

                五、[bx+idata]
         ...
阅读全文 | 评论次数(2) | 浏览次数(1002) | 所属类型(默认类型)

[2011-03-29 17:43] 第五天学习

第六章包含多个段的程序
程序取得所需空间的方法:加载程序的时候为程序分配。
在源程序中定义段来取得内存空间。

            一、在代码段中使用数据
 end start   告诉编译器程序的入口。
源程序在编译、连接后,由“end start”指明的程序入口,被转化为一个入口地址,存储在可执行文件的描述信息中。

            二、在代码段中使用栈
            三、将数据、代码、栈放入不同的段
“mov ax,data”的含义就是将名称为“data”的段的段地址送入ax。
一个段中的数据的段地址可由段名代表:data:6  6是偏移地址。...
阅读全文 | 评论次数(0) | 浏览次数(500) | 所属类型(默认类型)

[2011-03-28 01:38] 第四天学习

第四章   第一个程序
            一、一个源程序从写出到执行的过程
•写源程序
•对源程序进行编译连接
•执行可执行文件中的程序
操作系统依照可执行文件中的描述信息,将可执行文件中的机器码和数据加载入内存,并进行相关的初始化(如设置cs:ip指向第一条指令),然后由cpu执行程序。

           二、源程序
源程序包含两种指令:汇编指令,伪指令
汇编指令有对应的机器码,能被编译为机器指令,由cpu执行;
伪指令由编译器执行。
•segmenmt和ends是成对使用的,用来定义一个段,一个段必须有一个名称来标识。
•end是汇编程序的结束标记。
...
阅读全文 | 评论次数(0) | 浏览次数(535) | 所属类型(默认类型)

[2011-03-26 19:52] 第三天学习

第三章寄存器(内存访问)

上章从cpu如何执行指令的角度讲了寄存器,现在从访问内存的角度学习寄存器。
              一、内存中字的存储
字在cpu寄存器或者内存中的存储:低低高高。
解释:字的低位字节存在寄存器的低8位,字的低位字节存在内存的低地址单元。
将起始地址为N的字单元简称为N地址字单元。

              二、DS和[address]
8086cpu不支持将数据直接送入段寄存器的操作。

              三、字的传送
练习一下
              四、mov、add、sub指令
              五...
阅读全文 | 评论次数(0) | 浏览次数(509) | 所属类型(默认类型)

[2011-03-25 22:04] 第二天学习

第二章寄存器
cpu=运算器+控制器+寄存器。它们靠内部总线相连。
可以用指令读写寄存器。

             一、通用寄存器
AX、BX、CX、DX这4个16位寄存器用来存放一般性的数据,被称为通用寄存器。
一个16位寄存器所能存储的数据的最大值为(2ˆ16)-1=65535。
这4个寄存器都可以分为2个可独立使用的8位寄存器。
一个8位寄存器所能存储的数据的最大值是255。

             二、字在寄存器中的存储
8086cpu可以处理两种尺寸的数据。
关于数制的讨论:十六进制数的一位相当于二进制数的四位。
很多时候,需要直观地看出组成数据的各...
阅读全文 | 评论次数(0) | 浏览次数(522) | 所属类型(默认类型)

[2011-03-25 01:41] 第一天学习

第一章基础知识(硬件)

汇编语言是直接工作于硬件之上。
利用硬件系统的编程结构和指令集控制其工作。

               一、机器语言
计算机=cpu+被控。

               二、汇编语言的产生
因为机器语言,所以汇编语言(助记)。
汇编指令是机器指令便于记忆的书写格式。
汇编语言源程序→编译程序→机器码。
               
               三、汇编语言的组成
汇编指令,对应机器码。
伪指令,编译器执行。
其他符号(+、-、*、/等),编译器识别。

               四、存储器
要让cp...
阅读全文 | 评论次数(1) | 浏览次数(927) | 所属类型(默认类型)

[2011-03-25 00:43] 不要轻言放弃,坚持到最后的才是胜利者!

自勉...
阅读全文 | 评论次数(2) | 浏览次数(709) | 所属类型(默认类型)