首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏xingoo, 一个梦想做发明家的程序员

    汇编语言 手记9

    使用汇编语言编译程序(MASM.EXE)对源程序文件中的源程序进行编译,产生目标文件 用连接程序(LINK.EXE)对目标文件进行连接,生成可在操作系统中直接运行的可执行文件。 可执行文件中包含两部分内容: 程序(从源程序中的汇编指令翻译过来的机器码)和数据(源程序中定义的数据) 相关的描述信息 一个汇编程序是由多个段组成的,这些段被用来存放代码,数据活当作栈空间来使用。

    94280发布于 2018-01-18
  • 来自专栏Android点滴分享

    汇编学习(9), 命令行参数,C与汇编

    本篇介绍 本篇介绍下汇编如何支持命令行函数,以及C如何调用汇编。 0x00007fffffffe254 0x7fffffffe254: "2" (gdb) x /s 0x00007fffffffe256 0x7fffffffe256: "hello" 用 C 访问汇编 接下来写一个例子,用C访问汇编实现的函数,extern 声明的函数由汇编实现,C代码如下: #include <stdio.h> #include <string.h> extern int rsurface 内联汇编 首先除非必要,尽量不用内联汇编。 内联汇编有2种,Basic Inline 和 Extended Inline。 Basic 内联需要注意的点如下: 第一行需要标明汇编类型,是ATT还是Intel,这样汇编器才会正确解析 汇编用到的参数必须定义成全局变量 如果使用的寄存器保存有关键数据,会被覆盖,这时候后果不确定,

    90420编辑于 2022-12-19
  • 来自专栏seth-shi的专栏

    学习 Go 的 Plan 9 汇编

    刚开始入门建议先看一下这个汇编入门教程 汇编语言快速入门 汇编语言入门教程(阮一峰) 务必详细的看一下阮老师的入门教程 常见的标识符 (更多参考最后的寄存器和操作指令表格) $开头后面跟数字代表是一个常量数字 6e 74 73 0a 6d 6f 64 09 e-arguments.mod. 0x0030 73 65 74 68 09 28 64 65 76 65 6c 29 09 0a f9 SRODATA dupok size=9 0x0000 00 00 06 75 6e 73 61 66 65 ...unsafe gclocals 一般用来声明函数或全局变量 FP 栈帧指针(FramePointer) go汇编的伪寄存器。 go编译工具的使用之plan9汇编 go plan9 汇编入门,带你打通应用和底层 【 Go 夜读 】

    44111编辑于 2023-12-18
  • 来自专栏终身学习者

    9 个JavaScript 技巧

    如果要实现格式化/转换文本的功能,这是一个很好的技巧: const makeList = (raw) => raw .join() .trim() .split("\n") 9.隐藏隐私 最后一个技巧是屏蔽字符串,当你需要屏蔽任何变量时(不是密码),下面这种做法可以快速帮你做到: const password = "hackme"; password.substr(-3).

    77720发布于 2020-10-10
  • 来自专栏大愚Talk

    走进Golang之运行与Plan9汇编

    本文目录速览: Golang的运行环境 内存 操作系统、CPU、内存互相配合 Go程序的调用规约 函数在栈上的分布 Go的调用实例 Go的汇编plan9 查看go应用代码对应的翻译函数 逃逸分析 传值还是传指针 以及通过查阅 Golang 的 Plan9 汇编来了解Golang的一些内部秘密。 Golang的运行环境 当我们把编译后的Go代码运行起来,它会以进程的方式出现在系统中。 Go的调用实例 才开始,我们就从一个简单的函数开始来分析一下整个函数的调用过程(下面涉及到 Plan9 汇编,请别慌,大部分都能够看懂,并且我也会写注释)。 Go的汇编plan9 我们整个程序的编译最终会被翻译成机器码,而汇编可以算是机器码的文本形式,他们之间可以一一对应。所以如果我们能够看懂汇编一点点就能够分析出很多实际问题。 Golang的汇编是基于 Plan9 汇编的,个人觉得要完全学懂太复杂了,因为这涉及到很多底层知识。不过如果只是要求看懂还是能够做到的。下面我们就举一些例子来试试看。

    1.2K10发布于 2019-12-04
  • 9个SQL优化技巧

    大多数的接口性能问题,很多情况下都是SQL问题,在工作中,我们也会定期对慢SQL进行优化,以提高接口性能。这里总结一下常见的优化方向和策略。

    1.3K10编辑于 2024-05-21
  • 来自专栏捞月亮的小北

    9. Mybatis 小技巧

    如果一个包下的类太多,每个类都要起别名,会导致typeAlias标签配置较多,所以mybatis用提供package的配置方式,只需要指定包名,该包下的所有类都自动起别名,别名就是简类名。并且别名不区分大小写。

    21210编辑于 2024-06-24
  • 来自专栏运维开发王义杰

    Go:了解和集成使用 Plan 9 汇编语言

    1: 了解 Plan 9 汇编语言 在开始之前,我们需要了解 Go 汇编语言的基本概念。 但Plan 9 汇编语言仍然是一种低级语言,用于为 Plan 9 操作系统编写机器代码。Plan 9 是由贝尔实验室于 1980 年代中期开发的分布式操作系统。 Go 编译器使用 Plan 9 汇编语言作为一种中间表示,因为它具有以下优点: 可移植性: Plan 9 汇编语言是一种相对通用的汇编语言,可以移植到不同的 CPU 平台。 简洁性: Plan 9 汇编语言比机器码更简洁、更易读,这使得 Go 代码更容易理解和维护。 在 Go 编译过程中,Plan 9 汇编代码会被转换为对应 CPU 平台的机器码。这个过程称为 汇编。 在实际运行时,Plan 9 汇编代码会被转换为对应 CPU 平台的机器码,才能被 CPU 直接执行 2: Go 集成 Plan 9 汇编语言的意义 将汇编语言程序集成到 Go 程序对于软件的性能优化尤为重要

    1.1K11编辑于 2024-05-10
  • 来自专栏call_me_R

    9个强大的JavaScript技巧

    你应该查看文档 下面是9个极其强大的JavaScript技巧。 1.全部替换 我们知道string.replace()函数只能替换第一次出现的情况。 "hello"; console.log(+the_string); // NaN 5.打乱数组元素 每天我都像喝大了~ var my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9] ; console.log(my_list.sort(function() { return Math.random() - 0.5 })); // [4, 8, 2, 9, 1, 3, 6, var entries = [1, [2, 5], [6, 7], 9]; var flat_entries = [].concat(...entries); // [1, 2, 5, 6, 7, 9 entries.length = 0; console.log(entries.length); // 0 console.log(entries); // [] 我认为寻找JavaScript技巧真的很酷

    24020编辑于 2023-05-24
  • 来自专栏CSDNToQQCode

    Python编程专属骚技巧9

      print(testSet) print(testDict)   #set([0, 2, 4, 6, 8, 10, 12, 14, 16, 18]) #{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}

    27850编辑于 2022-11-29
  • 来自专栏全志嵌入式那些事

    全志XR806芯片 汇编代码调试技巧

    arm汇编中,可利用b .进入死循环。 在汇编中可以利用以下代码打印log: //.c文件中插入 void AsmPrint(void) { printf("var = %#x\n",PrintMagic); } #汇编代码中插入以下代码查看 R0的值 LDR R8,=PrintMagic str R0,[R8] LDR R8,=AsmPrint bx R8 最后发现汇编代码正常,但在运行第一个任务时系统奔溃。

    23610编辑于 2024-02-02
  • 来自专栏TechBlog

    汇编语言程序设计技巧详解(附例题)

    (5)提供足够的调用信息: 1.寄存器传送参数 2.存储器传送参数 3.堆栈传送参数 模块化设计 ---- 汇编语言程序设计技巧 四种基本结构:顺序结构、分支结构、循环结构和子程序。 PC ← A+DPTR TAB: AJMP     SUB0  ;转移指令表 AJMP  SUB1 AJMP     SUB2       …… AJMP     SUB6 3、循环结构 循环程序结构是汇编语言程序中常见的一种程序结构

    1.7K31编辑于 2022-07-20
  • 来自专栏call_me_R

    【译】9个强大的JavaScript技巧

    你应该查看文档 下面是9个极其强大的JavaScript技巧。 1.全部替换 我们知道string.replace()函数只能替换第一次出现的情况。 hello"; console.log(+the_string); // NaN 5.打乱数组元素 每天我都像喝大了~ var my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9] ; console.log(my_list.sort(function() { return Math.random() - 0.5 })); // [4, 8, 2, 9, 1, 3, 6, var entries = [1, [2, 5], [6, 7], 9]; var flat_entries = [].concat(...entries); // [1, 2, 5, 6, 7, 9 entries.length = 0; console.log(entries.length); // 0 console.log(entries); // [] 我认为寻找JavaScript技巧真的很酷

    47620发布于 2019-12-16
  • 来自专栏前端达人

    分享 9 个实用的 JavaScript 技巧

    https://javascript.plainenglish.io/9-javascript-tricks-that-make-your-code-fantastic-4cf3d7880229 JavaScript 本文将总结 9 个实用的 JavaScript 技巧,帮助您编写更好的前端代码,感受这种优雅编程语言的美妙之处。 现在,让我们一起来看看吧。 1. 使用 JSON 技巧进行深度复制 要实现深度复制,一个流行的技巧是结合使用 JSON.stringify() 和 JSON.parse()。 它不能再通过 JSON 技巧进行复制。 9 ] 如上面的程序所示,我们可以利用展开运算符和 Set() 方法来方便地获取数组的唯一元素。

    72930编辑于 2023-08-31
  • 来自专栏逆锋起笔

    9 个极其强大的 JavaScript 技巧

    每一段代码都有进一步优化的空间,每一个操作都有更便捷的技巧。 下面列举一些非常强大的 JavaScript hack 技巧。 1. () { return Math.random() - 0.5 })); // [4, 8, 2, 9, 1, 3, 6, 5, 7]关注公众号 逆锋起笔,回复 pdf,下载你需要的各种学习资料 var entries = [1, [2, 5], [6, 7], 9]; var flat_entries = [].concat(...entries); // [1, 2, 5, 6, 7, 9 9. 使用 length 调整大小 / 清空数组 基本上就是覆盖数组的 length。 entries.length = 0; console.log(entries.length); // 0 console.log(entries); // [] 你也在搜寻 JavaScript hacker 技巧的话

    37720发布于 2020-12-30
  • 来自专栏京程一灯

    9 个好用的 JavaScript 小技巧

    ❞ 下面给出了一些非常强大的 JavaScript 小技巧。 1. 全部替换 我们都知道 string.Replace() 函数仅能替换掉第一个匹配项。 随机排列数组中的元素 这样最适合洗牌了: var my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]; console.log(my_list.sort(function() { return Math.random() - 0.5 })); // [4, 8, 2, 9, 1, 3, 6, 5, 7] 6. var entries = [1, [2, 5], [6, 7], 9]; var flat_entries = [].concat(...entries); // [1, 2, 5, 6, 7, 9 entries.length = 0; console.log(entries.length); // 0 console.log(entries); // [] 你还有什么好用的技巧

    45620发布于 2020-12-15
  • 来自专栏码匠

    表单的 9 种设计技巧【上】

    这里码匠提供了一些表单设计的简单技巧技巧 1:选择合适的输入框标签对齐码匠中标签根据标签与输入框的位置关系,可以设置位置和对齐方式:图片每种标签对齐都有自身的优点与局限性,根据不同的场景选择合适的标签对齐,能提高用户填写速度,同时还能降低信息填写时的错误率 技巧 2:保持标签文本简洁,并选择合适的输入组件标签越长,用户则需要花更多时间阅读和理解,因此标签文本不宜过长,越简洁越好。但如果您确实需要展示更多信息,可以使用码匠的占位符和提示文字来设置提示信息。 技巧 4:表单输入框放在一列码匠建议您尽量将所有表单输入框放在一个列中,使填写路径更加清晰。保持有秩序的单列表单形式更利于用户浏览,而多列的表单形式则会破坏用户填写规律,进而影响完成表单的速度。 图片技巧 5:对相关信息分组对有关联的信息进行分组是提高文本易读性的常用策略。

    1.2K50编辑于 2022-09-15
  • 来自专栏无人驾驶感知

    【python】9个python进阶技巧(实用)

    22) ## ******************** ## name: jack ## age 22 ## ******************** ## name: jack ## age 22 9

    27610编辑于 2024-02-05
  • 来自专栏深度学习与python

    9 个极其强大的 JavaScript 技巧

    每一段代码都有进一步优化的空间,每一个操作都有更便捷的技巧。 下面列举一些非常强大的 JavaScript hack 技巧。 1. 随机排列数组中的元素 每天我都在随机排来排去…… var my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]; console.log(my_list.sort(function () { return Math.random() - 0.5})); // [4, 8, 2, 9, 1, 3, 6, 5, 7] 6. var entries = [1, [2, 5], [6, 7], 9]; var flat_entries = [].concat(...entries); // [1, 2, 5, 6, 7, 9] 7entries.length = 0; console.log(entries.length); // 0console.log(entries); // [] 你也在搜寻 JavaScript hacker 技巧的话

    42010发布于 2021-01-05
  • 来自专栏call_me_R

    【译】9个强大的JavaScript技巧

    你应该查看文档 下面是9个极其强大的JavaScript技巧。 1.全部替换 我们知道string.replace()函数只能替换第一次出现的情况。 hello"; console.log(+the_string); // NaN 5.打乱数组元素 每天我都像喝大了~ var my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9] ; console.log(my_list.sort(function() { return Math.random() - 0.5 })); // [4, 8, 2, 9, 1, 3, 6, var entries = [1, [2, 5], [6, 7], 9]; var flat_entries = [].concat(...entries); // [1, 2, 5, 6, 7, 9

    52120发布于 2020-10-15
领券