Table 17-8. Decorated peripheral and GPIO address details (continued)Peripheral address space Description0x4400_0000 - 0x4FFF_FFFF Decorated AND, OR, XOR, LAC1, LAS1 references to peripherals and GPIO based ateither 0x4000_F000 or 0x400F_F0000x5000_0000 - 0x5FFF_FFFF Decorated BFI, UBFX references to peripherals and GPIO only based at 0x4000_F00017.5 Application InformationIn this section, GNU assembler macros with C expression operands are presented asexamples of the required instructions to perform decorated operations. This sectionspecifically presents a partial bme.h file defining the assembly language expressions fordecorated logical stores: AND, OR and XOR. Comparable functions for BFI and thedecorated loads are more complex and available in the complete BME header file.These macros use the same function names presented in Functional Description.#define IOANDW(ADDR,WDATA) \__asm("ldr r3, =(1<<26);" \"orr r3, %[addr];" \"mov r2, %[wdata];" \"str r2, [r3];" \:: [addr] "r" (ADDR), [wdata] "r" (WDATA) : "r2", "r3");#define IOANDH(ADDR,WDATA) \__asm("ldr r3, =(1<<26);" \"orr r3, %[addr];" \"mov r2, %[wdata];" \"strh r2, [r3];" \:: [addr] "r" (ADDR), [wdata] "r" (WDATA) : "r2", "r3");#define IOANDB(ADDR,WDATA) \__asm("ldr r3, =(1<<26);" \"orr r3, %[addr];" \"mov r2, %[wdata];" \"strb r2, [r3];" \:: [addr] "r" (ADDR), [wdata] "r" (WDATA) : "r2", "r3");#define IOORW(ADDR,WDATA) \__asm("ldr r3, =(1<<27);" \"orr r3, %[addr];" \"mov r2, %[wdata];" \"str r2, [r3];" \:: [addr] "r" (ADDR), [wdata] "r" (WDATA) : "r2", "r3");#define IOORH(ADDR,WDATA) \__asm("ldr r3, =(1<<27);" \"orr r3, %[addr];" \"mov r2, %[wdata];" \"strh r2, [r3];" \:: [addr] "r" (ADDR), [wdata] "r" (WDATA) : "r2", "r3");#define IOORB(ADDR,WDATA) \__asm("ldr r3, =(1<<27);" \"orr r3, %[addr];" \"mov r2, %[wdata];" \"strb r2, [r3];" \Application InformationKL25 Sub-Family Reference Manual, Rev. 3, September 2012288 Freescale Semiconductor, Inc.