My homework says:
Write an assembly language program that, when given an integer n, will calculate the value of the expression (2n^2-1)2 + n^3. Your program is to get the value for n from ECX and is to leave the value of the expression in EAX. (Note: The name of the integer multiplication instruction is imul.)
This is what I have:
;; ;; Register usage: ;; EAX Sum ;; ECX Original value of n ;; K Placeholder for n ;; D Placeholder for n [SECTION .text] global main main: push EBP mov EBP, ESP push EBX push ESI push EDI first: add ECX, 0 add EAX, 0 var K, D: integer; top: K := 0; D :=0; mov K, ECX imul K, K imul K, 2 sub K, 1 imul K, K mov D, ECX imul ECX, ECX imul ECX, D add ECX, K mov EAX, ECX last: pop EDI pop ESI pop EBX mov ESP, EBP pop EBP ret
I dont think Im assigning variables correctly and I have no clue how to...I believe I have the right arithmetic but cant get past declaring variables.
hw1_1.asm:26: error: parser: instruction expected hw1_1.asm:28: error: parser: instruction expected hw1_1.asm:29: error: parser: instruction expected
Please help, I am so lost in assembly, Im used to java