dnaugsuz
从编译原理的角度这句话没说错,但呃其实我也只是好奇 嵌入式hook也就是了解abi的程度 不会学汇编 从软件看,汇编只是机器暴露的算力/io接口,不是微码等内部细节,对数据处理来说goto和int长度这些没意义,CISC里rep movsb这样的也不如strcpy()可移植(我们定义此复用不需要"学"汇编);如果所有函数是 static inline,再 -O3 -nostdlib ,就等于手写汇编( godbolt.org 无结构编程可以用很多hack,比如跳转到半条指令或把.code .rodat…
https://tttttt.me/im_RORIRI/1560 大概我就是这种专业主义……🌚 #ce 关于这个呢我的观点是
汇编器 #assembler 如 gAS,nasm 是支持指令集(ISA)编码的序列化器,输入含伪指令如 .int 0 .long 1。但是汇编也有些套路(比如 call-pushbp栈帧-ret)
汇编本质上和 Lua虚拟机,PyVM,JVM(但-计算栈),LLVM-IR(但-值节点)是一样的,
只是数据可混入代码且指令长不定,也没有规范的for-loop(decl;cond;tail) 、乃至子程序(函数调用)等结构,
所以我在学汇编时并不是掌握intel等会提供的ISA手册,只是被迫理解既有代码的套路。我认为「抽象概况」的汇编足够了,
你可以了解C的元编程(vararg咋弄,报错unwind,cffi)、C++虚方法实现等,没有必要涉及具体的 jmp jz/je jnz jg/jle, cmp, mov [rbp-8],1 ,add sub ror movzx 指令或者 arm 的 b,bl/call,blx 和thumb指令集模式;编译原理乃至编程不是汇编的附庸——Fortran的设计者 John Backus说的,脱离ISA我们仍能汇编🧐。
确实不是所有编程都为使用,但如果想理解汇编,也不该对 x86_64 CDEF调用约定、有无mem2reg 下的汇编全盘接收,实际上编程语言的虚拟机也只是比汇编调用/指令编码更规范、没有统一的objdump ELF format .o/.so地址符号、支持闭包函数据、用常量池而非 .rodata .bss 啥的,而那些加壳器用的花指令(跳转半指令),可在 #reveng 的范畴讨论
如果只是感兴趣,这种思路可以更好的理解汇编,而不是“XX汇编”
汇编器 #assembler 如 gAS,nasm 是支持指令集(ISA)编码的序列化器,输入含伪指令如 .int 0 .long 1。但是汇编也有些套路(比如 call-pushbp栈帧-ret)
汇编本质上和 Lua虚拟机,PyVM,JVM(但-计算栈),LLVM-IR(但-值节点)是一样的,
只是数据可混入代码且指令长不定,也没有规范的for-loop(decl;cond;tail) 、乃至子程序(函数调用)等结构,
所以我在学汇编时并不是掌握intel等会提供的ISA手册,只是被迫理解既有代码的套路。我认为「抽象概况」的汇编足够了,
你可以了解C的元编程(vararg咋弄,报错unwind,cffi)、C++虚方法实现等,没有必要涉及具体的 jmp jz/je jnz jg/jle, cmp, mov [rbp-8],1 ,add sub ror movzx 指令或者 arm 的 b,bl/call,blx 和thumb指令集模式;编译原理乃至编程不是汇编的附庸——Fortran的设计者 John Backus说的,脱离ISA我们仍能汇编🧐。
确实不是所有编程都为使用,但如果想理解汇编,也不该对 x86_64 CDEF调用约定、有无mem2reg 下的汇编全盘接收,实际上编程语言的虚拟机也只是比汇编调用/指令编码更规范、没有统一的objdump ELF format .o/.so地址符号、支持闭包函数据、用常量池而非 .rodata .bss 啥的,而那些加壳器用的花指令(跳转半指令),可在 #reveng 的范畴讨论
如果只是感兴趣,这种思路可以更好的理解汇编,而不是“XX汇编”
Telegram
螺莉莉的黑板报
摘自 : 张医生被批判,背后是专业主义的危机 newslab
什么是专业主义?按照政论杂志《国家事务》(National Affairs)一篇文章的说法,专业主义意味着:在从业者之间形成强大的内部观念,有一套经过一代代总结传承的做事情的最佳方法和专业守则,目的是为了实现一些具体的目标,而不是为了个人的名利或者为了派别的利益。当不确定的情况发生时,一个具备专业主义的人会问自己:“根据我的专业职责,我在这种情况下应该做些什么?”而专业主义一般会给这样的问题提供答案。
专业主义是以本专业的守则为最高准则…
什么是专业主义?按照政论杂志《国家事务》(National Affairs)一篇文章的说法,专业主义意味着:在从业者之间形成强大的内部观念,有一套经过一代代总结传承的做事情的最佳方法和专业守则,目的是为了实现一些具体的目标,而不是为了个人的名利或者为了派别的利益。当不确定的情况发生时,一个具备专业主义的人会问自己:“根据我的专业职责,我在这种情况下应该做些什么?”而专业主义一般会给这样的问题提供答案。
专业主义是以本专业的守则为最高准则…