草庐IT

asm-asm-tree

全部标签

c - Linux asm ("int $0x0") 与除以零

有人能解释一下汇编指令int$0x00和实际除以零之间的区别吗?我在与IDT中的第0个条目(除法错误)关联的内核中的divide_error()处理程序上设置了一个断点。当我在我的C程序中执行此操作时:inti=5/0;然后我到达了断点(如预期的那样)。然而,asmvolatile("int$0x00")不触发处理程序。为什么? 最佳答案 int0h与CPU由于除以零而生成陷阱0不同。这articleofPhrack很好地解释了IDT以及Linux如何设置它。关键部分是:DPL=DescriptorPrivilegeLevelThe

c - Linux asm ("int $0x0") 与除以零

有人能解释一下汇编指令int$0x00和实际除以零之间的区别吗?我在与IDT中的第0个条目(除法错误)关联的内核中的divide_error()处理程序上设置了一个断点。当我在我的C程序中执行此操作时:inti=5/0;然后我到达了断点(如预期的那样)。然而,asmvolatile("int$0x00")不触发处理程序。为什么? 最佳答案 int0h与CPU由于除以零而生成陷阱0不同。这articleofPhrack很好地解释了IDT以及Linux如何设置它。关键部分是:DPL=DescriptorPrivilegeLevelThe

linux - 程序启动时的默认寄存器状态是什么(asm,linux)?

当程序启动时(LinuxELF可执行文件),eax、ebx等中是否有零,或者是否可以有任何内容?(我没有进行任何调用或使用外部库)。在我的机器上,寄存器被归零,但是我可以在编写asm程序时在新进程中依赖这种行为吗? 最佳答案 这完全取决于每个平台的ABI。既然你提到了eax和ebx让我们看看x86的情况(从Linuxv5.17.5开始)。在fs/binfmt_elf.c中,在load_elf_binary()中,内核检查ABI是否指定了任何requirements对于程序加载时的寄存器值:/**TheABImayspecifytha

linux - 程序启动时的默认寄存器状态是什么(asm,linux)?

当程序启动时(LinuxELF可执行文件),eax、ebx等中是否有零,或者是否可以有任何内容?(我没有进行任何调用或使用外部库)。在我的机器上,寄存器被归零,但是我可以在编写asm程序时在新进程中依赖这种行为吗? 最佳答案 这完全取决于每个平台的ABI。既然你提到了eax和ebx让我们看看x86的情况(从Linuxv5.17.5开始)。在fs/binfmt_elf.c中,在load_elf_binary()中,内核检查ABI是否指定了任何requirements对于程序加载时的寄存器值:/**TheABImayspecifytha

linux - 尝试在 Ubuntu 上的 NASM 上运行 .asm 文件时出错

我正在使用64位ubuntu并尝试在NASM上运行.asm文件。但是当我尝试运行以下代码时它会返回此错误。我想做的是通过从源代码编译(或组装)目标文件来构建可执行文件$nasm-felfhello.asm,然后在创建文件hello.o后通过调用链接器从目标文件生成可执行文件本身$ld-s-ohellohello.o这最终将构建hello可执行文件。我正在学习本教程http://www.faqs.org/docs/Linux-HOWTO/Assembly-HOWTO.html错误:输入文件“hello.o”的i386架构与i386:x86-64输出不兼容代码:section.data;s

linux - 尝试在 Ubuntu 上的 NASM 上运行 .asm 文件时出错

我正在使用64位ubuntu并尝试在NASM上运行.asm文件。但是当我尝试运行以下代码时它会返回此错误。我想做的是通过从源代码编译(或组装)目标文件来构建可执行文件$nasm-felfhello.asm,然后在创建文件hello.o后通过调用链接器从目标文件生成可执行文件本身$ld-s-ohellohello.o这最终将构建hello可执行文件。我正在学习本教程http://www.faqs.org/docs/Linux-HOWTO/Assembly-HOWTO.html错误:输入文件“hello.o”的i386架构与i386:x86-64输出不兼容代码:section.data;s

python环境解析任意编程语言 tree-sitter使用方法(1)

背景我个人目前仍在研究代码有关的知识。目前基于深度学习表征代码的论文越来越卷了,用到的工具越来越高级了。目前有一个开源项目tree-sitter,专门用于解析具体语法树,声称:足够通用,能用于任何编程语言足够迅速,能在文本编辑器中响应每一个用户输入足够鲁棒,即便语法错误也能解析语法树无依赖性,能很好地嵌入于程序中在官方提供的playground玩了玩,的确1、2、3点都很符合。所以个人做(水)了本篇文章。安装py-tree-sitter已经做了详细的描述,所以这里简短描述,顺便说个遇到的问题。找个合适的python环境,installpip3installtree_sitter对于要解析的编程

mysql - SQL 和 Delphi : recursive mechanism for creating a tree from a table

我正在使用的DBMS是MySQL,编程环境是Delphi7(这对于本示例并不重要)。我有一个名为“主题”的表,我将所有书籍主题存储在系统中。科目可以有亲子关系,例如科学可以分为数学和物理,而数学可以分割为微积分、代数、几何等等。我想要的是创建一个填充了该表中日期的树。请帮我这样做。甚至你使用什么语言来进行说明都无关紧要,它可以是伪代码。Subject表的数据库图如下所示:主题表定义:DROPTABLEIFEXISTSsubject;CREATETABLEIFNOTEXISTSsubject(#Commentsubject_idINTUNSIGNEDNOTNULLAUTO_INCREME

mysql - SQL 和 Delphi : recursive mechanism for creating a tree from a table

我正在使用的DBMS是MySQL,编程环境是Delphi7(这对于本示例并不重要)。我有一个名为“主题”的表,我将所有书籍主题存储在系统中。科目可以有亲子关系,例如科学可以分为数学和物理,而数学可以分割为微积分、代数、几何等等。我想要的是创建一个填充了该表中日期的树。请帮我这样做。甚至你使用什么语言来进行说明都无关紧要,它可以是伪代码。Subject表的数据库图如下所示:主题表定义:DROPTABLEIFEXISTSsubject;CREATETABLEIFNOTEXISTSsubject(#Commentsubject_idINTUNSIGNEDNOTNULLAUTO_INCREME

Individual Tree Segmentation from LiDAR Point Clouds for Urban Forest Inventory

Abstract本研究的目的是使用LiDAR点云数据开发单棵树级别的自动化城市森林清单的新算法。激光雷达数据包含三维结构信息,可用于估算树高、基高、树冠深度和树冠直径。这使得精确的城市森林库存可以细化到单棵树。与大多数已发布的从LiDAR派生的栅格表面检测单个树木的算法不同,我们直接使用LiDAR点云数据来分离单个树木并估计树木指标。在典型城市森林中的测试结果令人鼓舞。未来的工作将致力于通过数据融合技术协同LiDAR数据和光学图像来表征城市树木。Keywords:LiDAR;individualtreeextraction;treemetricsestimation1.Introduction