
汇编语言个人学习笔记
文章平均质量分 88
陈晨0
陈晨
展开
-
汇编语言个人学习笔记——第三章 寄存器(内存访问)第一部分
3.1内存中字的存储在0地址处开始存放20000(4E20H):高位对应高地址,低位对应低地址。注意:0号是低地址单元,1号是高地址单元。字单元:存放一个字型数据(16位)的内存单元,由两个地址连续的内存单元组成。高地址内存单元中存放字型数据的高位字节,低地址内存单元中存放字型数据的低位字节。问题:1、0地址单元中存放的字节型数据是多少?(20H)2、0地址字单元中...原创 2018-07-24 20:16:05 · 2084 阅读 · 0 评论 -
汇编语言个人学习笔记——第十章 call和ret指令
10.1ret和retfret指令用栈中的数据,修改IP的内容,从而实现近转移。CPU执行ret指令时,进行下面两步操作:(1)(IP)=((ss)*16+(sp))(2)(sp)=(sp)+2retf指令用栈中的数据,修改CS和IP的内容,从而实现远转移。CPU执行ret指令时,相当于进行pop IPCPU执行retf指令时,进行下面4步操作:(1)(IP)=...原创 2018-08-21 20:23:16 · 1149 阅读 · 0 评论 -
汇编语言个人学习笔记——第九章 转移指令的原理
引言:8086CPU的转移指令分为以下几类:无条件转移指令(如:jmp)条件转移指令循环指令(如:loop)过程中断 9.1操作符offset操作符offset在汇编语言中是由编译器处理的符号,它的功能是取得标号的偏移地址。比如下面的程序:assume cs:codesgcodesg segmentstart :mov ax,offset star...原创 2018-08-10 23:11:13 · 636 阅读 · 0 评论 -
汇编语言个人学习笔记——第八章 数据处理的两个问题
引言:本章对前面的所有nei'内容是具有总结性的。我们知道,计算机时进行数据处理、运算的机器,那么有两个基本的问题就包含在其中:(1)处理的数据在什么地方?(2)要处理的数据有多长?这两个问题,在机器指令中必须给以明确或隐含的说明,否则计算机就无法工作。本章的学习将针对8086CPU对这两个基本问题进行讨论。虽然讨论是在8086CPU的基础上进行的,但是这两个基本问题确实普遍的...原创 2018-08-08 19:49:16 · 1098 阅读 · 0 评论 -
汇编语言个人学习笔记——第五章 [BX]和loop指令
引言:[bx]和内存单元的描述[bx]是什么?和[0]有些类似,[0]表示内存单元,它的偏移地址是0。如:mov ax,[0] 将一个内存单元的内容送入ax,这个内存单元的长度为2字节(字单元),存放一个字,偏移地址为0,段地址在ds中。mov al,[0] 将一个内存单元的内容送入al,这个内存单元的长度为1字节(字节单元),存放一个字节,偏移...原创 2018-07-30 16:45:19 · 2269 阅读 · 0 评论 -
汇编语言个人学习笔记——第六章 包含多个段的程序
引言前面我们写的程序中只有一个代码段。现在有一个问题是:如果程序需要用其他空间来存放数据,我们要使用哪里?第5章中,我们讲到要使用一段安全的空间。我们说0:200~0:300是相对安全的;可这段空间的容量只有256个字节,如果我们需要的空间超过256个字节怎么办?下面我们将以这样的顺序来深入来深入地讨论多个段的问题:(1)在一个段中存放数据、代码、栈(2)将数据、代...原创 2018-07-31 19:41:37 · 435 阅读 · 0 评论 -
汇编语言个人学习笔记——第七章 更灵活的定位内存地址的方法
引言 前面,我们用[0]、[bx]的方法,在访问内存的指令中,定位内存单元的地址。这一章,主要学习一些更灵活的ding定位内存地址的方法和相关的编程方法。 7.1 and和or指令(1)and指令:逻辑与指令,按位进行与运算。如mov al,01100011B and al,00100011B执行后:al=00100011Band指令的一点功能...原创 2018-08-05 00:35:35 · 1180 阅读 · 0 评论 -
汇编语言个人学习笔记——第二章 寄存器(CPU工作原理)第三部分
2.9 段寄存器段寄存器就是提供段地址的。8086CPU有4个段寄存器:CS(代码段地址寄存器)、DS(数据段地址寄存器)、SS(堆栈段地址寄存器)、ES(附加段地址寄存器)。当8086CPU要访问内存时由这4个段寄存器提供内存单元的段地址。 2.10 CS和IPCS和IP是8086CPU中两个最关键的寄存器,它们指示了CPU当前要读取指令的地址。CS为代码段寄存器。...原创 2018-07-21 20:07:11 · 674 阅读 · 0 评论 -
汇编语言个人学习笔记——第二章 寄存器(CPU的工作原理)第二部分
做完第二章第一部分检测题之后开始下面的学习 2.4物理地址CPU访问内存单元时要给出nei'内存单元的地址,所有的内存单元构成的存储空间是一个一维的线性空间。我们将这个唯一的地址称为物理地址。 2.5十六位结构的CPU概括的讲,十六位结构描述了一个CPU具有以下几个方面特征:1、运算器一次最多可以处理16位的数据。2、寄存器的最大宽度为16位。3、寄存器和运算器...原创 2018-07-20 15:48:54 · 487 阅读 · 0 评论 -
汇编语言个人学习笔记——第二章 :寄存器(CPU工作原理)第一部分
引言:CPU概述:一个典型的CPU由运算器、控制器、寄存器等器件构成,这些器件靠内部总线相连。内部总线与外部总线区别:内部总线实现CPU内部各个器件之间的联系。外部总线实现CPU和主板上其他器件的联系。寄存器概述:对于CPU内部也需要存放数据,所以除了高级缓存和二级缓存,还有深入的寄存器。8086CPU有14个寄存器:AX、BX、CX、DX、SI、DI、SP、BP、...原创 2018-07-19 17:33:52 · 497 阅读 · 0 评论 -
汇编语言个人学习笔记——第一章 基础知识
1.1计算机语言分为三种:1.高级语言(C语言,C++,python等等)2.机器语言(计算机能够直接识别的机器码,如:1000100111011000)3.汇编语言(将机器语言翻译为类似英文) 1.2汇编语言的产生:汇编语言的主体是汇编指令; 汇编指令和机器指令的差别在于指令的表示方法上,汇编指令是机器指令便于记忆的书写格式。 汇编指令是机器指令的助记符。...原创 2018-07-18 16:03:55 · 543 阅读 · 0 评论 -
汇编语言个人学习笔记——第四章 第一个程序
引言: 现在,我们将开始编写完整的汇编语言程序,用编译器将它们可执行文件(如*.exe文件),在操作系统中运行。 这一章,我们将编写第一个这样的程序。 4.1一个源程序从写出到执行的过程一个汇编语言程序从写出到最终执行的简要过程:1、编写:使用文本编译器(如记事本、Nodpad、UltraEdit),用汇编语言编写汇编源程序。2、编译连接:使用汇编语...原创 2018-07-27 00:00:58 · 1130 阅读 · 0 评论 -
汇编语言个人学习笔记——第三章 寄存器(内存访问)第二部分
3.6栈我们研究栈的角度: 栈是一种具有特殊的访问方式的的存储空间。它的特殊性就在于,最后进入这个空间的数据最先出去。可以用一个盒子和三本书来描述。 一个开口的盒子就可以看作一个栈空间,现有三本书,《高等数学》,《C语言》,《软件工程》,把他们放到盒子中过程如图所示:栈有两个基本操作:入栈和出栈。入栈:将一个新的元素放到栈顶;出栈:从栈顶取出...原创 2018-07-25 17:02:36 · 1060 阅读 · 0 评论 -
汇编语言个人学习笔记——第十一章 标志寄存器
引言:8086CPU的标志寄存器有16位,其中存储的信息通常被称为程序状态字(PSW)。我们已经使用过8086CPU的ax、bx、cx、dx、si、di、bp、sp、ip、cs、ss、ds、es等13个寄存器了。标志寄存器(简称flag)是要学习的最后一个寄存器。flag和其他寄存器不一样,其他寄存器是用来存放数据的,都是整个寄存器具有一个含义。而flag寄存器是按位起作用的,...原创 2018-08-26 16:52:25 · 1793 阅读 · 0 评论