; CSE 30. Bennet Yee . Oct 19, 1999. ; Extended macro assembly example. ; asm file -- macro definitions removed, and macro usages expanded .data zero: .word 0 ; "constant" zero ; woe if this is ever changed tmp: .word 0 ; a global tmp for goto .data mul16A: .word 0 mul16B: .word 0 .data s16tmp: .word 0 .data ptr1: .word 0 ptr2: .word 0 clear_inc: .word -triple(1,1,0) ; NOTE NEW NOTATION .data negcount: .word 0 negone: .word -1 ; 0xffffffffffff .text 0x0000 ;;; main: clearmem base,length main: .data L2val_000: .word L2_000 .text subz length,zero,Ldone_000 subz negcount,negcount,next subz negcount,length,next shift16 ptr1,base shift16 ptr2,ptr1 add L1_000,ptr1,ptr2 add L1_000,L1_000,L2val_000 L1_000: .word 0 L2_000: subz negcount,negone,Ldone_000 subz L1_000,clear_inc,next subz tmp,tmp,L1_000 Ldone_000: done: subz tmp,tmp,done .data base: .word 0x1000 length: .word 0x0010 .data 0x1000 .word 0xdeadbeefdead ;0 .word 0xdeadbeefdead ;1 .word 0xdeadbeefdead ;2 .word 0xdeadbeefdead ;3 .word 0xdeadbeefdead ;4 .word 0xdeadbeefdead ;5 .word 0xdeadbeefdead ;6 .word 0xdeadbeefdead ;7 .word 0xdeadbeefdead ;8 .word 0xdeadbeefdead ;9 .word 0xdeadbeefdead ;a .word 0xdeadbeefdead ;b .word 0xdeadbeefdead ;c .word 0xdeadbeefdead ;d .word 0xdeadbeefdead ;e .word 0xdeadbeefdead ;f .word 0xdeadbeefdead ;0 .word 0xdeadbeefdead ;1 .word 0xdeadbeefdead ;2 .word 0xdeadbeefdead ;3 .word 0xdeadbeefdead ;4 .word 0xdeadbeefdead ;5 .word 0xdeadbeefdead ;6 .word 0xdeadbeefdead ;7 .word 0xdeadbeefdead ;8 .word 0xdeadbeefdead ;9 .word 0xdeadbeefdead ;a .word 0xdeadbeefdead ;b .word 0xdeadbeefdead ;c .word 0xdeadbeefdead ;d .word 0xdeadbeefdead ;e .word 0xdeadbeefdead ;f