Op deze pagina kunt u een gedetailleerde analyse krijgen van een woord of zin, geproduceerd met behulp van de beste kunstmatige intelligentietechnologie tot nu toe:
[mə'ʃi:n'længwidʒ]
общая лексика
машинный язык
набор инструкций (машинных команд), которые компьютер может выполнять непосредственно (см. command set, instruction set). Набор команд процессора может содержать от нескольких десятков до нескольких сотен инструкций. При разработке нового процессора набор команд подбирается таким образом, чтобы эффективно решались наиболее типичные задачи из области его применения. Инструкции записываются в двоичном или шестнадцатеричном коде. Программы, написанные на языках высокого уровня, перед их исполнением процессором транслируются в машинные команды. Кодирование на машинном языке, применявшееся на машинах первого поколения, сейчас крайне редко: в случае необходимости машинный язык используется разработчиками для тестирования (записи отдельных команд и простейших циклов) и отладки прототипов разрабатываемых [микропроцессорных] систем
язык программирования
моделированный язык
метаязык
Смотрите также
математика
перекрывающийся код
In computer programming, machine code is computer code consisting of machine language instructions, which are used to control a computer's central processing unit (CPU). Each instruction causes the CPU to perform a very specific task, such as a load, a store, a jump, or an arithmetic logic unit (ALU) operation on one or more units of data in the CPU's registers or memory.
Early CPUs had specific machine code that might break backwards compatibility with each new CPU released. The notion of an instruction set architecture (ISA) defines and specifies the behavior and encoding in memory of the instruction set of the system, without specifying its exact implementation. This acts as an abstraction layer, enabling compatibility within the same family of CPUs, so that machine code written or generated according to the ISA for the family will run on all CPUs in the family, including future CPUs.
In general, each architecture family (e.g. x86, ARM) has its own ISA, and hence its own specific machine code language. There are exceptions, e.g. the IA-64 can emulate x86.
Machine code is a strictly numerical language, and is the lowest-level interface to the CPU intended for a programmer. There is, on some CPUs, a lower level interface in the form of (modifiable) microcode that implement the machine code. However, microcode is not intended to be changed by the end user on normal commercial CPUs. Assembly language provides a direct mapping between the numerical machine code and a human readable version where numerical opcodes and operands are replaced by readable strings (e.g. 0x90 is the NOP instruction on x86). While it is possible to write programs directly in machine code, managing individual bits and calculating numerical addresses and constants manually is tedious and error-prone. For this reason, programs are very rarely written directly in machine code in modern contexts, but may be done for low level debugging, program patching (especially when assembler source is not available) and assembly language disassembly.
The majority of practical programs today are written in higher-level languages or assembly language. The source code is then translated to executable machine code by utilities such as compilers, assemblers, and linkers, with the important exception of interpreted programs, which are not translated into machine code. However, the interpreter itself, which may be seen as an executor or processor performing the instructions of the source code, typically consists of directly executable machine code (generated from assembly or high-level language source code).
Machine code is by definition the lowest level of programming detail visible to the programmer, but internally many processors use microcode or optimise and transform machine code instructions into sequences of micro-ops. This is not generally considered to be a machine code.