Explore chapters and articles related to this topic
Introduction to Algorithms and Data Structures
Published in Sriraman Sridharan, R. Balakrishnan, Foundations of Discrete Mathematics with Algorithms and Programming, 2019
Sriraman Sridharan, R. Balakrishnan
The language translated by a compiler may be an assembly language or relocatable machine language. An assembly language is a symbolic and mnemonic version of the machine language in which names are used instead of machine/binary codes for operations. Names are also given to machine addresses. In the assembly language, words like “store,” “add,” “load,” etc., replace the machine codes for operations. This assembly language will be further processed by the assembler to produce relocatable machine code. This relocatable machine code is finally passed to the load/link editor to produce “absolute machine code,” which can be directly interpreted by the machine’s circuitry. The role of the linker is to bind together the compiled parts (see Figure 5.4).
Programming Microcontroller
Published in Franjieh El Khoury, Antoine Zgheib, Building a Dedicated GSM GPS Module Tracking System for Fleet Management, 2018
Franjieh El Khoury, Antoine Zgheib
An assembly language is a low-level programming language for a computer, or other programmable device (e.g., microcontroller), in which there is a very strong one-to-one correspondence between the language and the architecture's machine code instructions (Blum 2006; Cockerell 1987). Each assembly language is specific to a particular microcontroller architecture. Assembly language is also called symbolic machine code. It is converted into executable machine code by an assembler as a utility program. A program written in assembly language consists of a series of machine code instructions (i.e., mnemonic), meta-statements (i.e., directives, pseudo-instructions, and pseudo-ops), comments, and data. Assembly language instructions usually consist of an opcode mnemonic followed by a list of data, arguments, or parameters. These are translated by an assembler into machine language instructions that can be loaded into memory and executed. Multiple sets of mnemonics or assembly-language syntax may exist for a single instruction set, typically represented in different assembler programs. Therefore, they are supplied by the manufacturer and used in its documentation.
Instruction Set and Assembler Language Programming
Published in Fernando E. Valdes-Perez, Ramon Pallas-Areny, Microcontrollers, 2017
Fernando E. Valdes-Perez, Ramon Pallas-Areny
This section describes the most commonly used directives. The detailed description for all the MPASM directives is available on the Microchip Web site (http://www.microchip.com). Directives are instructions directed to the assembler program (instead of to the microcontroller) that will execute the program. A typical source code program written in assembler language has a mix of directives and instructions to the microcontroller. Directives are used to control the assembling operation, indicating different characteristics of the assembling process. For example, directives tell the assembler program the type of microcontroller that will be used; the definition of symbols used to name data, register, and bits; the initial address for the memory program; and so forth.
Traditional High-rise Unreinforced Masonry Buildings: Modeling and Influence of Floor System Stiffening on Their Overall Seismic Response
Published in International Journal of Architectural Heritage, 2021
Juan Jiménez-Pacheco, Ramón González-Drigo, Lluis G. Pujades Beneit, Alex H. Barbat, José Calderón-Brito
The unidirectional floor system of the PB was conceived as the aggregation of floor diaphragms so that their beams cover the shortest span length in each room. Then, each floor diaphragm, modeled as the proposed FDM, was characterized by its shear stiffnesses in the two orthogonal directions, as explained in Section 4.2. The assembly of these basic macro-elements with the frames representing the walls causes the segmentation of the springs forming the basic macro-elements in points that intersect with the axes of piers. The sub-springs that are generated form arrangements in series, so that the stiffness of each sub-spring is equal to n times the stiffness of the corresponding edge spring (1/2Ka or 1/2Ks), where n is the number of sub-springs. In addition, the adjacency conditions of the floor diaphragms must be considered. In general, the floor systems of old URM buildings are unidirectional and have no continuity in their supports. In this situation, the sub-springs of the adjacent diaphragms overlap in their common edge and function as in parallel arrangements, giving rise to local stiffening of the floor system (Figure 27a).
An overview of self-engineering systems
Published in Journal of Engineering Design, 2021
Some other commonly used SE terms include: Self-cleaning – Self-cleaning means that the removal of fouling material happens automatically. It should be noted that self-cleaning materials (such as Teflon) are hydrophobic, allowing water to slide off and carrying dirt with it. This is not a SE system as the response happens because of the material properties not as a response to a loss (or potential loss) in function.Self-assembly – The system can configure from parts into an operating system autonomously.Self-strengthening – The system can add stability in response to observed weakness to prevent failure.Self-folding – The system can be bent or flatten into a more compact shape to preserve components or functionality; this is often done as part of a self-strengthening, self-assembly or self-adapting process.Self-managing – The system has control of itself often utilising other self-* properties to do this; it is used in autonomic computing.
Synthesis of an Application Specific Instruction Set Processor (ASIP) for RIPEMD-160 Hash Algorithm
Published in International Journal of Electronics Letters, 2019
There are several designs for RIPEMD-160 function based on ASIC or Field Programmable Gate Array (FPGA) approaches that have been previously addressed in the literature (Knezzevic, Sakiyama, Lee, & Verbauwhede, 2008; Michail, Thanasoulis, Panagiotakopoulos, Kakarountas, & Goutis, 2008; Michail, Thnanasoulis, Schinianakis, Panagiotakopoulos, & Goutis, 2008; Ng, Ng, & Yip, 2004; Satoh, 2005; Sklavos & Koufopavlou, 2005). In this article, an ASIP with 12 specific and 35 general instructions based on primitive platform called Register Configuration (RC0) mentioned in work by Mano (1992) is developed for the first time. In fact, considering time-consuming steps of RIPEMD-160 algorithm and shortcomings of RC0, an effective RC called RC1 is developed so that it can effectively perform hash algorithm with its specific instructions. To verify the proposed architecture, first a VHDL code is developed and then in order to show how the proposed ASIP performs RIPEMD-160 hash algorithm, an assembly code is written using the Instruction Set Architecture (ISA) of the proposed processor.