指令集架构是二进制的(不可读)还是人类可读的? [英] Are Instruction set architecture binary (not readable) or human-readable?

查看:20
本文介绍了指令集架构是二进制的(不可读)还是人类可读的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  1. 如果我是对的,ISA 是机器中的指令集语.那么 ISA 0/1 二进制序列中的指令是什么?
  2. 为什么我看到 ISA 中的指令是人类可读的文字图书?

  1. If I am correct, an ISA is the set of instructions in a machine language. So are the instructions in an ISA 0/1 binary sequences?
  2. Why did I see the instructions in an ISA are human-readable words in books?

是代表指令的人类可读的单词吗?ISA 与汇编语言中使用的助记符相同伊萨?

Are the human-readable words that represent the instructions in an ISA the same as the mnemonics used in the assembly language of the ISA?

是 ISA 部分中指令的人类可读的单词吗?ISA?

Are the human-readable words of the instructions in an ISA part of the ISA?

如果是,是否有从人工翻译的翻译过程ISA 中的可读指令到机器语言,就像汇编程序将汇编语言翻译成机器语言?

If yes, is there a translation process that translate from the human readable instructions in an ISA to a machine language, just like an assembler translates an assembly language to a machine language?

谢谢.

推荐答案

书中人类可读的单词被称为汇编语言,是的,一种称为汇编程序的工具将汇编语言转换为机器代码,机器代码只是表示某种含义的 1 和 0到逻辑.你也可以反汇编机器码,最后得到汇编语言.

the human readable words in books are called assembly language and yes a tool called an assembler converts the assembly language into machine code which is just ones and zeros that mean something to the logic. You can also disassemble taking the machine code and ending up with assembly language.

用于特定处理器的指令集或指令集称为指令集或指令集架构或 ISA.

The collection or set of instructions for a particular processor is called the instruction set or instruction set architecture or ISA.

机器码很重要,也就是处理器运行的东西.人类可读的汇编语言不一定有标准.设计处理器的公司通常使用机器代码和汇编语言创建一个文档,通常他们会创建或让某人创建与该汇编语言匹配的汇编程序.但这并不构成标准.任何人都可以为该架构发明任何他们想要的汇编语言和汇编程序,只要它生成机器代码(如果他们希望它有用,那么可能会创建随机垃圾并使其崩溃,如果这是他们的目标).

The machine code is what matters, that is what the processor operates on. the human readable assembly language does not necessarily have a standard. The company that designs the processor usually creates a document with both the machine code and an assembly language and usually they create or have someone create an assembler that matches that assembly language. But that does not constitute a standard. anyone can invent any assembly language and assembler they want for that architecture so long as it produces machine code (well if they want it to be useful, the could create random garbage and have it crash if that is their goal).

intel 与 at&t 格式因同一处理器系列的不同汇编语言而广为人知.但是进行 gnu 汇编程序移植的人往往也会弄乱原始汇编语言.大多数指令,汇编语言的非指令部分是可能因一个汇编程序而异的部分.同样,只要您的汇编器和/或编译器为该目标生成可工作的机器代码,您就可以坐下来创建自己的语法,并构想出您想要的任何语法.

The intel vs at&t formats are well known for different assembly languages for the same processor family. but the folks that do the gnu assembler ports tend to also mess up the original assembly language. Mostly the directives, the non-instruction portions of the assembly language are the parts that might vary from one assembler to another. Again you could sit down and make your own, and dream up any syntax you want so long as your assembler and/or compiler makes working machine code for that target.

既然你真的必须有一个汇编程序来开发和测试一个新的指令集……你有一个汇编程序……在移植编译器或语言时,作者不必疯狂阅读二进制机器代码,他们可以只输出汇编语言然后生成汇编程序.这是一种非常常见的方法,但一些编译器出于各种原因直接使用机器代码.JIT,或只是因为我可以".

Since you really have to have an assembler to develop and test a new instruction set...you have an assembler...When porting a compiler or language the author of that doesnt have to go crazy reading binary machine code, they can just output assembly language then spawn the assembler. This is an extremely common way to do it, but some compilers go straight to machine code for various reasons. JIT, or "just because I can".

这篇关于指令集架构是二进制的(不可读)还是人类可读的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆