1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
; MCU 8051 IDE - Demostration code
; Compiler directives
$DATE(32/13/1907) ; Places date in page header
; $EJECT ; Places a form feed in listing
; $INCLUDE(file.asm) ; Inserts file in source program
; $LIST ; Allows listing to be output
; $NOLIST ; Stops outputting the listing
; $NOMOD ; No predefined symbols used
$OBJECT(file.hex) ; Places object output in file
; $NOOBJECT ; No object file is generated
$PAGING ; Break output listing into pages
; $NOPAGING ; Print listing w/o page breaks
$PAGELENGTH(10) ; No. of lines on a listing page
$PAGEWIDTH(20) ; No. of columns on a listing page
$PRINT(file.lst) ; Places listing output in file
; $NOPRINT ; Listing will not be output
; $SYMBOLS ; Append symbol table to listing
; $NOSYMBOLS ; Symbol table will not be output
$TITLE('demo - 3') ; Places string in page header
;; Summary of Cross Assembler Directives
;; -------------------------------------
a EQU 54d ; Define symbol
b0 DATA a / 2 ; Define internal memory symbol
c IDATA (b0*2-5) ; Define indirectly addressed internal memory
d BIT 070Q ; Define internal bit memory symbol
e CODE 0FFA5h ; Define program memory symbol
var SET (A * 44) MOD 9 - 14 ; Variable defined by an expression
CSEG at 20h ; Select program memory space
x: DB '34' ; Store byte values in program memory
y: DW 3334h ; Store word values in program memory
DSEG at 5d ; Select internal memory data space
m: DS 1 ; Reserve bytes of data memory
xseg ; Select external memory data space
n: DS 1 ; Reserve bytes of data memory
ISEG ; Select indirectly addressed internal memory space
o: DS 1 ; Reserve bytes of data memory
NOLIST ; Disable code listing
BSEG ; Select bit addressable memory space
r: DBIT 4 ; Reserve bits of bit memory
LIST ; Enable code listing
mc macro label ; Define macro instruction
IF 2 <> 2 OR 1 = 4
EXITM ; Exit macro
ENDIF
sjmp label
endm ; End of definition
main: ORG 0 ; Set segment location counter
IF 0 ; Begin conditional assembly block
USING 2 ; Select register bank (define AR0..7)
ELSE ; Alternative conditional assembly block
USING 2 ; Select register bank (define AR0..7)
ENDIF ; End conditional assembly block
mc main ; Macro instuction
END ; End of assembly language source file
; This is a very long line, try to avoid them. This is a very long line, try to avoid them. This is a very long line, try to avoid them. This is a very long line, try to avoid them. This is a very long line, try to avoid them. This is a very long line, try to avoid them. This is a very long line, try to avoid them.This is a very long line, try to avoid them. This is a very long line, try to avoid them.This is a very long line, try to avoid them. This is a very long line, try to avoid them. This is a very long line, try to avoid them. This is a very long line, try to avoid them.
|