Linker Tasks

Using Linker commands

/*

-----------------------------------------------------------------

*STEP 6: Return a pointer to the entry point specified by -e:

*/

entry_pt_addr = (unsigned int) aux_hdr.exec_entry; return ((void *) entry_pt_addr);

}

The flush_cache Function . Since there is no existing routine to flush text from the data cache before execution, you must create one. Below is the assembly language source for such a function.

Assembly Language Source for flush_cache Function

;flush_cache.s

;Routine to flush and synchronize data and instruction caches

;for dynamic loading

;

;Copyright Hewlett-Packard Co. 1985,1991, 1995

;All HP VARs and HP customers have a non-exclusive royalty-free

;license to copy and use this flush_cashe() routine in source

;code and/or object code.

.code

;flush_cache(addr, len) - executes FDC and FIC instructions for

;every cache line in the text region given by starting addr and

;len. When done, it executes a SYNC instruction and then enough

;NOPs to assure the cache has been flushed.

;

;Assumption: Cache line size is at least 16 bytes. Seven NOPs

;is enough to assure cache has been flushed. This routine is

;called to flush the cache for just-loaded dynamically linked

;code which will be executed from SR5 (data) space.

;%arg0=GR26, %arg1=GR25, %arg2=GR24, %arg3=GR23, %sr0=SR0.

;loop1 flushes data cache. arg0 holds address. arg1 holds offset.

;SR=0 means that SID of data area is used for fdc.

;loop2 flushes inst cache. arg2 holds address. arg3 holds offset.

;SR=sr0 means that SID of data area is used for fic.

;fdc x(0,y) -> 0 means use SID of data area.

;fic x(%sr0,y) -> SR0 means use SR0 SID (which is set to data area).

.proc

 

 

.callinfo

 

.export

flush_cache,entry

 

flush_cache

 

.enter

 

 

ldsid

(0,%arg0),%r1

; Extract SID (SR5) from address

mtsp

%r1,%sr0

; SID -> SR0

ldo

-1(%arg1),%arg1

; offset = length -1

copy

%arg0,%arg2

; Copy address from GR26 to GR24

78

Chapter 3

Page 78
Image 78
Kenwood HP 9000 manual Assembly Language Source for flushcache Function

HP 9000 specifications

The Kenwood HP 9000 is a cutting-edge home appliance designed for culinary enthusiasts seeking to elevate their cooking experience. This powerful kitchen machine stands out for its multi-functionality, combining the roles of a food processor, blender, and mixer into one sleek unit.

One of the flagship features of the Kenwood HP 9000 is its robust motor, which delivers exceptional performance across various tasks. With a powerful motor that operates at multiple speeds, users can tackle everything from kneading dough to finely chopping vegetables with ease. The variable speed control allows for precision, ensuring that every ingredient is processed to perfection according to individual preferences.

The HP 9000 comes equipped with a variety of attachments that enhance its versatility. Among these are a stainless-steel mixing bowl, a dough hook, a whisk, and multiple cutting blades. This extensive array of accessories means that users can whip up delightful pastries, create homemade pasta, or prepare smoothies with minimal hassle. Each attachment is designed for easy attachment and removal, making the transition between tasks seamless and efficient.

Another key characteristic of the Kenwood HP 9000 is its advanced safety features. The design incorporates mechanisms that prevent the machine from operating unless all components are securely in place. This not only gives users peace of mind while cooking but also ensures longevity for the appliance, reducing the risk of wear and tear over time.

In terms of design, the HP 9000 is both modern and aesthetically pleasing. Its ergonomic shape and compact size make it easy to store and use in various kitchen settings, while the high-quality materials used in its construction guarantee durability and longevity. The user interface is intuitive, with clearly labeled buttons that facilitate operation, ensuring that even novice cooks can navigate the machine effortlessly.

Additionally, the Kenwood HP 9000 features innovative technologies, such as an integrated digital timer and a pulse function for added control during food preparation. These features enhance cooking precision, allowing users to achieve consistent results every time.

In summary, the Kenwood HP 9000 is an exceptional kitchen appliance that combines power, versatility, and safety. With its advanced features and user-friendly design, it is an ideal choice for anyone looking to simplify their cooking process while achieving professional-level results. Whether you're whipping up a quick meal or tackling an elaborate recipe, the HP 9000 is a reliable companion that will inspire culinary creativity.