TITLE Add and Subtract, Version 2 (AddSub2.asm)
; This program adds and subtracts 32-bit integers
; and stores the sum in a variable.
INCLUDE Irvine32.inc
.data
val1 dword 10000h
val2 dword 40000h
val3 dword 20000h
finalVal dword ?
.code
main PROC
mov eax,val1 ; start with 10000h
xor eax,val1 ; xor eax to make it almost negative
add eax,1h ; now add one to make it negative
sub eax,val2 ; subtract 40000h
sub eax,val3 ; subtract 20000h
mov finalVal,eax ; store the result (30000h)
call DumpRegs ; display the registers
exit
main ENDP
END main
VElUTEUgQWRkIGFuZCBTdWJ0cmFjdCwgVmVyc2lvbiAyICAgICAgICAgKEFkZFN1YjIuYXNtKQoKOyBUaGlzIHByb2dyYW0gYWRkcyBhbmQgc3VidHJhY3RzIDMyLWJpdCBpbnRlZ2Vycwo7IGFuZCBzdG9yZXMgdGhlIHN1bSBpbiBhIHZhcmlhYmxlLgoKSU5DTFVERSBJcnZpbmUzMi5pbmMKCi5kYXRhCnZhbDEgICAgIGR3b3JkICAxMDAwMGgKdmFsMiAgICAgZHdvcmQgIDQwMDAwaAp2YWwzICAgICBkd29yZCAgMjAwMDBoCmZpbmFsVmFsIGR3b3JkICA/CgouY29kZQptYWluIFBST0MKCgltb3YJZWF4LHZhbDEJCQk7IHN0YXJ0IHdpdGggMTAwMDBoCgl4b3IgZWF4LHZhbDEJCQk7IHhvciBlYXggdG8gbWFrZSBpdCBhbG1vc3QgbmVnYXRpdmUKCWFkZCBlYXgsMWgJCQkJOyBub3cgYWRkIG9uZSB0byBtYWtlIGl0IG5lZ2F0aXZlCglzdWIJZWF4LHZhbDIJCQk7IHN1YnRyYWN0IDQwMDAwaAoJc3ViCWVheCx2YWwzCQkJOyBzdWJ0cmFjdCAyMDAwMGgKCW1vdglmaW5hbFZhbCxlYXgJCTsgc3RvcmUgdGhlIHJlc3VsdCAoMzAwMDBoKQoJY2FsbAlEdW1wUmVncwkJOyBkaXNwbGF5IHRoZSByZWdpc3RlcnMKCglleGl0Cm1haW4gRU5EUApFTkQgbWFpbg==
prog.asm:1: error: comma, colon, decorator or end of line expected after operand
prog.asm:1: error: comma, colon, decorator or end of line expected after operand
prog.asm:6: error: parser: instruction expected
prog.asm:9: error: parser: instruction expected
prog.asm:10: error: parser: instruction expected
prog.asm:11: error: parser: instruction expected
prog.asm:12: error: parser: instruction expected
prog.asm:15: error: parser: instruction expected
prog.asm:26: error: symbol `main' redefined
prog.asm:26: error: parser: instruction expected
prog.asm:27: error: parser: instruction expected
ld: cannot find prog.o: No such file or directory