Assembly
序散
周而复始
生生不息
展开
-
GDB调试汇编
调试Debug,可以逐步逐行的执行代码,查看汇编代码的寄存器状态,变量的值等更为详细的信息,方便排查错误。下文使用简单的GDB调试,对GDB调试的一个简单的使用。调试步骤进入调试设置断点运行单步执行查看寄存器信息查看某个寄存器的值离开调试demo.s汇编文件,内容如下,生成demo可执行文件section .datasection .textglobal _main_main: mov eax, 1 inc eax mov ebx, eaxmo原创 2020-11-22 11:22:32 · 2817 阅读 · 0 评论 -
CentOS8-NASM-汇编环境搭建
搞了很久才搭建成功,记录一下建议刚入门的同学学习的时候,尽量先选择一种汇编格式走下去,不然很容易搞混,打击自信心。我采用的环境搭配是汇编器NASM、链接器GCC中的ld、系统64位的CentOS8gcc一般linux系统中都会自带的有gcc,而gcc中包含链接器ld,如果后面提示版本信息错误请更新gcc版本nasm按照官网的提示,如果需要使用yum安装nasm的话,将nasm.repo源安装到yum的源目录下,CentOS8的yum源的位置为/etc/yum.repos.d,nasm.repo文原创 2020-11-21 14:20:46 · 2974 阅读 · 0 评论 -
汇编基础知识
汇编语言(Assembly Language)是由源文件(如.c .h等)到机器码(0101010)过程中的一个过渡语言,机器码01010之类的不方便记忆,使用助记符来标识不同的操作,即是汇编语言。汇编语言的“地位”我们平常编写的源代码.c, .cpp, .java,经过编译器编译之后,生成汇编文件.s, .asm,再由汇编器汇编生成目标文件.o,再由链接器链接生成可执行文件.exe。指令集(Instruction Set)指令集可分为复杂指令集和精简指令集,复杂指令集的指令长度不固定,且某一条指原创 2020-11-18 16:15:37 · 240 阅读 · 0 评论