t7219.asm
EUROASM DUMP=ON, DUMPALL=YES, DUMPWIDTH=28, LISTMACRO=YES t7219 PROGRAM FORMAT=BIN, MODEL=SMALL, WIDTH=32, LISTMAP=OFF, LISTGLOBALS=OFF ;; [CODE] Cube %MACRO Number ; Define macro which calculates the 3rd power of unsigned integer Number. %IF "%Number" !== "EAX" MOV EAX,%Number ; Skip this step when Number already is in EAX. %ENDIF MOV ECX,EAX ; Copy the input value N to register ECX. MUL ECX ; Let EDX:EAX = Number*Number JC $+4 ; CF=OF=1 when EDX is nonzero (32bit overflow). Skip the 2nd MUL. MUL ECX ; Let EDX:EAX = Number*Number*Number %ENDMACRO Cube; Returns EDX:EAX=Number3, ECX=Number, CF=OF=1 on overflow. ;; Cube 5 ; Use the macro to compute 53. ENDPROGRAM t7219
t7219.asm.lst
t7219.out
I0180 Assembling source file "t7219.asm".
I0270 Assembling source "t7219".
I0310 Assembling source pass 1.
I0330 Assembling source pass 2 - final.
I0470 Assembling program "t7219". "t7219.asm"{2}
I0510 Assembling program pass 1. "t7219.asm"{2}
I0530 Assembling program pass 2 - final. "t7219.asm"{2}
I0660 32bit SMALL BIN file "t7219.bin" created, size=13. "t7219.asm"{16}
I0650 Program "t7219" assembled in 2 passes with errorlevel 0. "t7219.asm"{16}
I0750 Source "t7219" (16 lines) assembled in 2 passes with errorlevel 0.
I0860 Listing file "t7219.asm.lst" created, size=2065.
I0990 EuroAssembler terminated with errorlevel 0.