150 likes | 329 Views
Data Movement Instructions. A Course in Microprocessor Electrical Engineering Department University of Indonesia. Assembler Detail. Directives Some common assembly language directives (pseudo-operations) appear in Table 4.21
E N D
Data Movement Instructions A Course in Microprocessor Electrical Engineering Department University of Indonesia
Assembler Detail • Directives • Some common assembly language directives (pseudo-operations) appear in Table 4.21 • Directives indicate how an operand or section of program is to be processed by the assembler: • Storing Data in a Memory Segment: DB, DW, DD, SEGMENT, .DATA, ENDS, DUP, ALIGN -ex.4.12 • ASSUME, EQU, ORG: the EQU equates a numeric, ASCII, or LABEL to another label -ex.4.13; the THIS refers the data as byte or word -ex.4.14; the ORG (origin) changes the starting offset address of data in the data segment; the ASSUME tells the
Assembler Detail (cont’d) the assembler what names have been chosen for the code, data, extra, and stack segments; the PROC and ENDP indicate the start and end of a procedure (subroutine) -ex.4.15; others are CALLF, CALLN, RETF, RETN, NEAR, FAR -ex.4.16 • Memory Organization • The assembler uses two basic formats for deve-loping software: models and full-segment defi-nitions (available to the MASM assembler) • Models (ex.4.17): The TINY model (64 KB) and the SMALL model (128 KB), and HUGE model (>128 KB)
Assembler Detail (cont’d) • Full Segment Definitions • Ex.4.18 & Ex.4.19 illustrate the use of full-segment defi-nitions • Full-segment definitions are also used with the Borland and Microsoft C/C++ environments for procedures developed in assembly language • More structured form than the model method • STACK_SEG, DAT_SEG, CODE_SEG, END MAIN
Assembler Detail (cont’d) • A Sample Program • Study carefully Ex.4.20