程序集中的DB是什么?

本文来自:IT宝库(https://www.itbaoku.cn)

推荐答案1

至少在通常的x86汇编器中,DB用于表示定义字节.它基本上是定义一个类型字符的变量.

  1. ; like "char X = 'a'" would do in c or c++ 
  2. X db 'a'  

精确的语法在汇编器之间有所不同,因此,根据您使用的汇编程序,这可能需要较小的调整文件应与MASM一起使用).

推荐答案2

db pseudoinstruction 在X86–64 Intel/AMD体系结构的几乎所有汇编中. 实际上意味着这不是处理器理解且能够执行的真实机器指令.伪建筑是汇编器(而不是CPU)的订单,它看起来与普通指令相似:它可能具有标签和操作数.

db db 定义字节 的快捷方式,它要求汇编程序保留信息的字节.例如,伪建筑 Dollar DB 36 将一个数据键放在汇编程序生成的输出文件中,并将数字36放入该字节中.此字节(内存变量)可以通过符号名称 Dollar 下的其他程序指令引用.当该字节的内容显示在监视器上时,它被解释为具有ASCII代码36的字符,这恰好是美元符号 $ $ .

推荐答案3

db 语句用一个或多个字节值初始化内存. ...表达式是存储在内存中的字节值.每个表达式可以是符号,字符串或表达式. db 语句只能在代码或const段中指定.如果在不同的段中使用错误.

推荐答案4

不像您想象的那么难.

首先,一个好的宏汇编器是一个很大的帮助.

第二,大项目分解为较小的项目.只要您不让单个模块变得太大,就可以测试事物,就可以使用良好的工具来跟踪变量 - 这并不是那么大.

<>然后,您写的是您在fortran中写的代码数量的7-10倍(上次我看).与C代码的比率可能较低.

编辑:这确实取决于您正在使用的工作.例如,复杂的公式可能是MATLAB中的一行,或者中的1000行.另一方面,如果您要进行角色识别,并具有大量的二进制换档,XOR等 - 那么您将在组装中更容易.而且,如果您正在做O/S工作,并且需要进行专业的机器说明(例如,用于内存管理),则几乎必须在汇编器中工作.

推荐答案5

因为知道的组装使您 不败 .

whasops-电子崩溃,而JavaScript调试器正在悬挂.

whops- javaScript挂起,因为chrome本身正在崩溃.

whops whoop> whops- chrome崩溃了C ++堆发生了怪异.

whops- c ++编译器正在散发代码,如果以一定顺序提供了一组参数,则偶尔会丢弃堆.

现在,绝大多数程序员在那个失败链中的某个级别将举起双手,说"解决这超出了我的专业知识."

但是,如果您是汇编程序员, 您可以一直追溯到金属, 如果必须. .

知道汇编,意味着您可以 始终 击败没人可以失败的老板软件错误.<<<<<<<<<<<<<<