Simple Machine Language interpreter |
Date Added: June 02, 2010 | Visits: 646 |
|
||||||||
|
SML is a "toy" machine language intended to teach basic processor concepts. This website contains an explanation and definition of SML, as well as an interpreter and example SML programs. GPLd source code for the interpreter is available, as well as binaries for Windows and Linux. A machine language defines a set of instructions that a CPU can execute to perform operations. In other words, a machine language defines what you can do with your computer. Modern processors have very complex instruction sets; however, the simple language described here can give you an understanding of what is happening "under the hood" with your computer. Machine language is the actual data that is directly run by the processor. Writing a program in machine language can therefore be advantageous if you need to save space or highly optimize your code. However, machine language is also not portable and can be difficult to understand and maintain. Therefore, almost all code is now written in a higher level language, such as C, C++, Java, or scripting languages such as shell or perl. These languages all have their advantages and disadvantages as well, such as varying levels of portability, maintainability, scalability, and execution speed. One level higher than machine language is assembly language. Assembly language is basically readable machine language. Instead of writing out the code bit-by-bit, you write out the code as a sequence of human readable instructions, which are then compiled almost directly into machine language. Assembly language is almost always used instead of machine language when such a direct level of control is needed. For example, some games implement part of their code in assembly in order to maximize execution speed. Assembly can be "inlined" into some higher level languages, like C. This means that the assembly is defined as a callable procedure from within the C code..
|
| License: Freeware | Size: 225.28 KB |
|
Programming
-
Interactive Decompiler 0.2
Interactive Decompiler project is an interactive decompiler, where the user starts with an almost literal translation of Assembly code in C language, which he progressively decompiles by the successive application of low-level refactorings,... |
22.53 KB | |
|
Development Editors
-
Legible Assembler 1.0 Beta
The Legible Assembler is an Open Source attempt to build an assembler that can convert Legible Assembly code into a linkable PE object file. Legible Assembly will use a mixture of AT&T and Intel styles, prepositions and carriage return line... |
||
|
Programming
-
CTAL_0 1.0.0a
CTAL_0 is an extension of Typed Assembly Language, and an experimental C compiler that generates CTAL0 assembly code. Usage: 1. First, download the source code and extract it. 2. Next, make in ctalz-software directory. 3. The compiler can be... |
95.23 KB | |
|
Programming
-
Generic Test Processor 0.79.9d
Generic test processor is a language and processor for a language aiming to automatically apply or generate test source code in another language. It is taken from a library of tests and data conversion operations. These so generated instances... |
82.94 KB | |
|
Programming
-
revava 0.3
revava is a single pass disassembler that reads in a file containing a program intended for an Atmel AVR microcontroller and outputs assembly code that can be input to an avr assembler. The output of revava contains assembler mnemonics where... |
25.6 KB | |
|
Education
-
pseint 32.20120418
PSeInt is a pseudo-code interpreter for spanish-speaking programming students. Its main purpose is to be a tool for learning and understanding the basic concepts about programming and applying them with an easy understanding spanish pseudocode. |
2.48 MB | |
|
Programming
-
x6gl 0.2
X6GL is a suite of code generation utilities capable of generating source code in any language, based on source code templates and XML files. Initial focus has been around generating data access layers of apps involving Java, Oracle, C#, SQL Server. |
16.71 MB | |
|
Programming
-
phc 0.1.7 RC2
phc is a compiler for PHP that will translate PHP code directly into Linux assembly code. phc project can be used as a (C++) framework for developing refactoring tools, aspect weavers, script obfuscators and any other tools that operate on PHP... |
1.1 MB | |
|
Programming
-
XPad 1.1
XPad design suite and IDE, allowing you to visually design, program, simulate, document and compile native assembly code or executable files for plug-in targets.XPad-models are created by using drag & drop with the mouse. The keyboard is only used... |
3.63 MB | |
|
Development Tools
-
Artistic Style 1.20
Artistic Style is a source code indenter and source code formatter for the C, C , C# and Java programming languages. It can be used from a command line, or it can be incorporated as classes in another C program. |
|
Linux Software
-
SLAX 6.0+
Slax is a modern, portable, small and fast Linux operating system with a modular approach and outstanding design. Despite its small size, Slax provides a wide collection of pre-installed software for daily use, including a well organized graphical... |
190 KB | |
|
Linux Software
-
GTK+ 2.5
GTK+, which stands for the GIMP Toolkit, is a library for creating graphical user interfaces for the X Window System. It is designed to be small, efficient, and flexible. GTK+ is written in C with a very object-oriented approach. Language bindings... |
60 MB | |
|
Linux Software
-
Debian 2.0
Debian is a free, or Open Source, operating system (OS) for your computer. An operating system is the set of basic programs and utilities that make your computer run. At the core of an operating system is the kernel. The kernel is the most... |
65 MB | |
|
Linux Software
-
Kdiff-Ext for Konqueror 0.3
Kdiff-ext is a KDE's Konqueror context menu extension. It adds commands to launch file comparison/merge tools, it also remembers your selection so you can run comparison/merge later on. Use Kdiff-ext with KIO supporting file comparison tool such... |
430 KB | |
|
Linux Software
-
Superkill 1.16
Superkill terminates one or more processes with the same name or specified PID.. Tested in the following systems: Linux 2.2.5.15, AIX 4.3, IRIX 6.3, HP-UX B.10.20 and SunOS 5.6. |
30 KB | |
|
Programming
-
RailsTidy 0.1
RailsTidy project is a plugin for Ruby On Rails.. |
11.26 KB | |
|
Programming
-
Strings edit 1.9
Strings edit is a library that provides I/O facilities for integer, floating-point, Roman numbers, and strings. Both input and output subroutines support string pointers for consequent stream processing. The output can be aligned in a fixed size... |
54.27 KB | |
|
Programming
-
BScript 0.3
BScript is a (yet another) BASIC interpreter. It is free software and open-sourced, licensed under the terms of the GNU General Public License version 2 or later. You can use BScript to teach BASIC to your students, write understandable shell... |
112.64 KB | |
|
Programming
-
Kits JavaScript Brainf*ck Interpreter 0.01
Kits JavaScript Brainf*ck Interpreter is a rather fast interpreter for the Brainf*ck esoteric programming language.. Kit's JavaScript Brainfuck Interpreter v0.01 |
5.12 KB | |
|
Programming
-
dis6502 0.12
dis6502 is a flow-tracing disassembler for the 6502, originally written by Robert Bond and supporting Atari binary files. Robert posted dis6502 to the Usenet newsgroup net.sources on 9-Oct-1986, and to comp.sources.unix 7-Jun-1988. Udi... |
19.46 KB |
