
汇编语言
文章平均质量分 64
Dontla
这个作者很懒,什么都没留下…
展开
-
汇编语言入门
汇编语言入门文章目录汇编语言入门一:环境准备汇编语言入门二:环境有了先过把瘾简单指令介绍movaddretsub更多寄存器汇编语言入门三:是时候上内存了cpu、寄存器、内存的关系指针与内存寄存器与内存动手编程疯狂的写代码反汇编动态调试汇编语言入门四:打通C和汇编语言插曲:C语言与汇编语言的关系揭开C程序的庐山真面目(分别查看C语言程序和汇编语言写的程序编译生成可执行文件后,用gdb反汇编后的代码)汇编语言入门五:流程控制(一)跳转指令jmpif在汇编里的样子查看else和else if的反汇编状态寄存器原创 2021-06-07 14:36:29 · 441 阅读 · 1 评论 -
x86汇编指令集大全
一、数据传输指令1. 通用数据传送指令MOV 传送字或字节. MOVSX 先符号扩展,再传送. MOVZX 先零扩展,再传送. PUSH 把字压入堆栈. POP 把字弹出堆栈. PUSHA 把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈. POPA 把DI,SI,BP,SP,BX,DX,CX,AX依次弹出堆栈. PUSHAD 把EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI依次压入堆栈. POPAD转载 2021-06-07 10:53:58 · 4961 阅读 · 0 评论 -
linux 汇编 gdb报错:Invalid register `eip‘(64位系统没有eip只有rip寄存器)
(gdb) info register eipInvalid register `eip'原因,我的系统是64位的,只有rip没有eip8 bit - pc program counter 程序计数器16 bit - ip instruction pointer 指令指针32 bit - eip 64 bit - ripeip的e和rip的r是什么我怎么搜不到???参考文章:Invalid register eip?...原创 2021-06-06 22:03:32 · 1874 阅读 · 0 评论 -
C语言函数调用过程的汇编分析(停更)
https://www.cnblogs.com/xiaojianliu/articles/8733560.html文章目录`vi test.c``gcc test.c -g``objdump -dS a.out`查看关键部分:esp 与 ebpvi test.cint bar(int c, int d){ int e = c + d; return e;}int foo(int a, int b){ return bar(a, b);}原创 2021-06-06 12:05:25 · 447 阅读 · 0 评论 -
汇编报错:Warning: Cannot insert breakpoint 1. Cannot access memory at address 0x1135 解决办法(先不打断点run一遍)
在linux下用gdb打断点调试发现抱错了:(gdb) runStarting program: /home/dontla/桌面/test/test Warning:Cannot insert breakpoint 1.Cannot access memory at address 0x1135解决办法:先退出GDB(gdb) quitA debugging session is active. Inferior 1 [process 32756] will be killed.原创 2021-06-04 15:08:59 · 7032 阅读 · 1 评论 -
relocation R_X86_64_32S against `.data‘ can not be used when making a PIE object; recompile with -fP
linux下编译汇编语言报错:relocation R_X86_64_32S against `.data' can not be used when making a PIE object; recompile with -fPIE代码如下:test.asmglobal mainmain: mov ebx, 1 mov ecx, 2 add ebx, ecx mov [sui_bian_xie], ebx mov eax, [sui_bia原创 2021-06-03 22:31:17 · 1635 阅读 · 0 评论