![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
汇编语言
Stepfen Shawn
dijkstra的小弟
展开
-
汇编语言学习笔记(八):深入理解函数调用堆栈
堆栈相关的寄存器esp: 堆栈指针(stack pointer)ebp: 基制指针(base pointer)堆栈操作push 栈顶地址减少4个字节(32位)pop 栈顶地址增加4个字节ebp在C语言中用作记录当前函数调用基址其它关键寄存器cs:eip:总是指向下一条的指令地址顺序执行: 总是指向地址连续的下一条指令跳转/分支:执行这样的指令的时候,cs:eip的值会...原创 2020-04-21 09:19:52 · 560 阅读 · 0 评论 -
汇编语言学习笔记(七):分析一段汇编代码
下面是一段AT&T汇编语言代码:g: pushl %ebp movl %esp,%ebp movl 8(%ebp),%eax addl $3,%eax popl %ebp retf: pushl %ebp movl %esp,%ebp subl $4,%esp movl 8(%ebp),%eax movl %eax,(%esp) call g leave ...原创 2020-04-20 15:53:39 · 1054 阅读 · 0 评论 -
汇编语言学习笔记(六)AT&T汇编语法
AT&T汇编AT&T汇编是在Linux平台下的汇编语言。MOV指令movb:8位movw:16位movl:32位movq64位例子:movl %eax,%edx ; edx = eaxmovl $0x123,%edx ; edx = 0x123(立即寻址)movl 0x123,%edx ; edx = *(int_32 *)0x123(直接寻址)movl (...原创 2020-04-15 15:12:59 · 744 阅读 · 0 评论 -
汇编语言学习笔记(五):显卡与显存
显卡与显存为了显示文字,通常需要两种硬件,分别是显示器和显卡.显卡的功能是为显示器提供内容,并控制显示器的显示模式和状态。显示器的功能是将那些内容以视觉可见的方式呈现在屏幕上。显卡显卡都是独立生产,营销的部件,需要插在计算机主板才能工作。显卡未必是一定是独立的插卡,为了节省使用者的成本,有的显卡会直接做在主板上,这个显卡就叫做集成显卡。...原创 2020-04-12 12:02:51 · 851 阅读 · 0 评论 -
汇编语言学习笔记(四):主引导扇区
当计算机通电时,执行的第一条指令存放在ROM BIOS中,而ROM BIOS的最后一条指令是一条跳转指令:jmp 0x0000:0x7c00当ROM BIOS快要执行完毕时,它想执行更多的指令,那就要从外部适配或者硬盘中读取指令,用U盘安装系统就是这个原理,它让ROM BIOS读取U盘中主引导扇区的指令,从而安装操作系统:...原创 2020-04-08 10:04:03 · 256 阅读 · 0 评论 -
汇编语言学习笔记(三):8086地址内存分配
DRAM(Dynamic Random Access Memory,DRAM) 访问地址空间:00000-9FFFF;ROM (Read Only Memory,ROM) 访问地址空间:F0000-FFFFF;因为8086加电通电或者复位时 CS=0xFFFF, IP=0x0000,位于物理地址0xFFFF0;...原创 2020-04-07 08:52:44 · 1195 阅读 · 0 评论 -
汇编语言学习笔记(二):Intel 8086cpu的通用寄存器
每个寄存器之间可以互相传送数据,做各种逻辑运算。在8086cpu中,这8个寄存器都是16位(bit)的:原创 2020-04-01 10:35:22 · 340 阅读 · 0 评论 -
汇编语言学习笔记(一):内存与字节
内存内存是一个可以保存很多数字的电路。当cpu(处理器)要访问内存中的数据时,首先要知道内存中的地址,通过地址来找到想要访问的数据.地址线cpu通过地址线来选中内存单元的地址,比如说,如果有2根地址线,它可以代表一个2位的二进制数,它最多可以访问内存是00,01,11,10四个内存单元,如果有8根地址线,它可以访问256个内存单元,地址线的总数代表了寻址的能力.内存是用来保存或读出数据...原创 2020-03-31 09:54:54 · 1359 阅读 · 0 评论