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