汇编语言
放过@
这个作者很懒,什么都没留下…
展开
-
汇编前十三章汇总(复习用)
第二章 寄存器cpu的主要的部件是寄存器, 不同的cpu,寄存器的个数、结构是不相同的。在8086cpu中有14个寄存器,这些寄存器是:AX、BX、CX、DX、SI、DI、SP、BP、IP、CS、SS、DS、ES、PSW。IP:指令指针,指向当前相互要取出的指令字节,当BIU从内存中取出一个指令后,IP就自动加1,这里的1指的不是一个字节,而是该条指令所占的字节数。 IP指向的是指令地址的段内地址偏移量,又称为偏移地址(Offset Address)或者有效地址(A, Effective Addre原创 2020-05-27 10:20:00 · 492 阅读 · 0 评论 -
汇编——一些零散的知识
1. BP寄存器它的确是一个寄存器,名字叫基址指针,是16位,它的用途有点特殊,是和堆栈指针copySP联合使用的,作为SP校准使用的,只百有在寻找堆栈里的数据和使用个别的寻址方式时候才能用到。比如说,堆栈中压入了很多数据或者地址度,你肯定想通过SP来访问这些数据或者地址,但SP是要指向栈顶的,是不能随便乱改的,这时候你就需要使用BP,把SP的值传递给BP,通过BP来寻找堆栈里数据或者地址。...原创 2020-04-14 15:03:36 · 143 阅读 · 0 评论 -
汇编——第十三章 int指令
第十三章 int指令13.1 int指令int 指令的格式为:int n,n为中断类型码,它的功能是引发中断过程。CPU执行int n指令,相当于引发一个n号中断过程,过程如下:(1)取中断类型码n;(2)标志寄存器入栈,IF = 0, TF = 0;(3)CS、IP入栈;(4)(IP) = (n4),(CS) = (n4+2);13.2 编写供应用程序调用的中断例程...原创 2020-04-13 20:06:25 · 311 阅读 · 0 评论 -
汇编——第十二章 内中断
第十二章 内中断12.1 内中断的产生CPU内部有下面的情况发生的时候,将产生生相应的终端信息。(1)除法错误,比如,执行div指令产生的除法溢出;(2)单步执行;(3)执行into指令;(4)执行int指令。在8086 CPU中,上述4种中断信息的来源,简称中断源,在8086CPU 中的中断类型码如下。分别为(1)0(2)1(3)4(4)n,int 指令的格式为int n,指令中...原创 2020-04-13 09:57:53 · 425 阅读 · 0 评论 -
汇编——第十一章 标志寄存器
第十一章 标志寄存器标志寄存器具有以下三个作用:(1)用来存储相关指令的某些执行结果原创 2020-03-31 20:18:42 · 619 阅读 · 0 评论 -
汇编——第十章 CALL和RET指令
第十章 CALL和RET指令call 和 ret 指令都是转移指令, 他们都修改IP, 或者同时修改CS 和 IP。 它们经常被共同用来实现子程序的设计。10.1 ret 和 retfret指令用栈中的数据,修改IP的内容,从而实现近转移;retf指令用栈中的数据,修改CS和IP的内容,从而实现远转移;CPU执行ret指令时,进行下面俩步操作:(1)(IP) = ((ss)*16 +(...原创 2020-03-24 20:34:28 · 395 阅读 · 0 评论 -
汇编——第九章转移指令的原理
汇编——第九章转移指令的原理** 可以修改IP,或者同时修改CS 和IP 的指令统称为转移指令。**概括来讲,转移指令就是可以控制CPU执行内存种某处代码的指令。9.1 操作符 offset9.2 jmp 指令jmp为无条件转移指令,可以只修改IP也可以同时修改CS和IP。jmp指令要给出两种信息:(1)转移的目的地址(2)转移的距离(段间转移、段内短转移、段内近转移)9.3 ...原创 2020-03-23 19:34:52 · 131 阅读 · 0 评论 -
汇编——第八章 处理数据的俩个基本问题
第八章 处理数据的俩个基本问题这俩个认问题是:(1)处理的数据在什么地方?(2)要处理的数据有多长?reg表示以恶搞寄存器,sreg表示一个段寄存器reg的集合包括:ax、bx、cx、dx、ah、al、bh、bl、ch、cl、dh、dl、sp、bp、si、di;sreg的集合包括:da、ss、cs、es。8.1 bx、si、di和dp8.4 寻址方式8.5 指令要处理的数据有...原创 2020-03-16 10:35:35 · 263 阅读 · 0 评论 -
汇编——第七章 更灵活的定位内存地址的方法
第七章 更灵活的定位内存地址的方法7.1 and 和 or 指令(1)and 指令:逻辑与指令,按位与运算。(2)or指令:逻辑或指令,按位或运算。原创 2020-03-16 09:25:01 · 172 阅读 · 0 评论 -
汇编——第五章 [BX]和loop指令
第五章 [BX]和loop指令1.[bx] 和内存单元的描述[bx],就相当于[0],bx作为偏移地址2.loop指令这是一个循环指令,默认的计数器为cx,及cx表示循环的次数,在每一次循环的末尾cx-1,到cx为0退出循环。如代码mov cx, 3mov bx,0mov dx,0s: mov al, ds:[bx]mov ah,0add dx,axinc bxloop ...原创 2020-03-11 11:13:02 · 600 阅读 · 0 评论 -
汇编——第三章 寄存器(内存访问)
第三章 寄存器(内存访问)3.1 内存中字的存储CPU中,用16位寄存器来存储一个字。高8位存放高位字节,低8位存放低位字节。在内存存储中,内存单元式字节单元,那么一个字就需要用俩哥哥地址连续的内存单元来存放,这个字的低位字节存放在低地址单元中,高位字节存放在高地址单元中。这叫小端方式,还有另外一个存放的方式大端方式。这里就涉及到存储器中数据的组织方式了:大端方式‘高位字节排放在内存...原创 2020-03-10 09:25:21 · 591 阅读 · 0 评论 -
汇编——第二章 寄存器
cpu的主要的部件是寄存器, 不同的cpu,寄存器的个数、结构是不相同的。在8086cpu中有14个寄存器,这些寄存器是:AX、BX、CX、DX、SI、原创 2020-03-09 16:50:57 · 203 阅读 · 0 评论