汇编语言
adventural
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
8086中断知识以及编写0号中断处理程序
PART1:前言 int n指令的格式为:int n,n为中断类型码 cpu执行int中断,实际上就相当于引发一个n号中断的中断过程,他的大致执行过程如下: 取中断类型n 标志寄存器入栈,置IF=0,TF=0 (为什么要这一步,后面有解释) // 这一步可以模拟为 pushf //标志寄存器入栈 ;下面的步骤完成置IF和TF pushf pop ax and ax,11111100B push ax popf //置IF=0,TF=0 CS和IP入栈 令IP=(n*4),CS=(n*4+2) 80原创 2020-08-15 00:13:29 · 1741 阅读 · 0 评论 -
nasm笔记
nasm编译器 nasm只是一个编译器,只能输出目标文件,你还需要一个链接器来生成exe。 nasm支持多种输出文件格式,比如obj、elf等等。用参数-f告诉nasm输出什么格式。参数-hf可以查看支持的格式。 在没有-f参数的情况下,nasm默认的输出文件格式是bin,比如要写boot sector就要输出成bin。bin这种格式没有所谓段这个概念,分段都是自己管理。 ...原创 2020-08-14 16:43:34 · 1295 阅读 · 0 评论 -
逆向笔记--常用到的汇编知识点
函数调用与返回过程 call过程: // 段内call通常进行两步操作 push ip jmp addr // 如果call的函数不是本段当中的地址 push cs push ip jmp addr ret过程: ret实际上是一个伪指令,由编译器决定在编译时最终使用retn(return from near procedure)或者retf(return from far procedure),这实际上对应了call的两种方式 段内call不需要将段地址压栈,对应的retn只需要实现 pop i原创 2020-08-11 16:42:03 · 582 阅读 · 0 评论
分享