| | |
C++ Multiplication in Assembly
Please support our Assembly advertiser: Programming Forums - DaniWeb Sister Site
![]() |
I'm trying to translate the following code from C++ into Asembly language but am having trouble. I know that I have to make a cmp and one or more jmp. If any1 has sugguestions or tips thats great. Here's the C++ coding:
Assembly Syntax (Toggle Plain Text)
int x = 1 * 2; int y = 3 * 4; cout << "x = " << x << endl; cout << "y = " << y << endl; if (x == y) cout << "x and y are the same." << endl; else cout << "x and y are not the same." << endl; return 0;
•
•
Join Date: May 2008
Posts: 11
Reputation:
Solved Threads: 1
asm Syntax (Toggle Plain Text)
include /masm32/include/masm32rt.inc ;compile with masm32 console link & compile .data x dd 1*2 y dd 3*4 .code start: print "x=" print str$(x),13,10 print "y=" print str$(y),13,10 invoke cmpmem,addr x,addr y,sizeof x .if (eax!=0) print "equal",13,10 .else print "not equal",13,10 .endif exit end start
probably not what u expected ;-) but using a HL Macro Assembler, the difference to other languages ( c) is not so big as one would assume ....
•
•
Join Date: May 2008
Posts: 11
Reputation:
Solved Threads: 1
my code is for the original masm32 package, u can find some download links here
http://www.masm32.com/masmdl.htm
make sure to install in top level of ur drive, otherwise the standard include paths won't work.
there are two files: build.bat and buildc.bat in the /bin directory, the later is the correct one for console apps.
the print macro is a very useful macro, located in include file: /macros/macros.asm, see description in
help file: /help/hlhelp.hlp - Console Mode Macros - print
the cmpmem is a routine located in /include/masm32.inc and the corresponding library is
/lib/masm32.lib ,
see description in /help/masmlib.hlp - Memory Functions - cmpmem
( both functions/macros are available through the line only )
it might be a good idea to check some step by step assembly tutorials first, before getting too deep into some programming tasks to early.
though i don't think that assembler is much more difficult than other programming languages, it sure is different and the learning curve in the beginning takes more time than with other languages.
its better to spend more time with the basics in the beginning, than wasting too much time with error fixing when u take the second step before the first...
http://www.masm32.com/masmdl.htm
make sure to install in top level of ur drive, otherwise the standard include paths won't work.
there are two files: build.bat and buildc.bat in the /bin directory, the later is the correct one for console apps.
the print macro is a very useful macro, located in include file: /macros/macros.asm, see description in
help file: /help/hlhelp.hlp - Console Mode Macros - print
the cmpmem is a routine located in /include/masm32.inc and the corresponding library is
/lib/masm32.lib ,
see description in /help/masmlib.hlp - Memory Functions - cmpmem
( both functions/macros are available through the
•
•
•
•
include /masm32/include/masm32rt.inc
it might be a good idea to check some step by step assembly tutorials first, before getting too deep into some programming tasks to early.
though i don't think that assembler is much more difficult than other programming languages, it sure is different and the learning curve in the beginning takes more time than with other languages.
its better to spend more time with the basics in the beginning, than wasting too much time with error fixing when u take the second step before the first...
![]() |
Similar Threads
- Computer Architecture Reference (Computer Science)
- memory management in wndows 2000 (Windows NT / 2000 / XP)
- MC68000/..332 Calculator (Assembly)
- multiplication in assembly mips (Assembly)
- help (Assembly)
- urgent help needed !!! (Assembly)
- Unsigned Division (Assembly)
- Just bought an assembly book and having problems with basic stuff. (Assembly)
Other Threads in the Assembly Forum
- Previous Thread: Can you help me to write this program?
- Next Thread: Bubble Sort/Random Numbers
Views: 2159 | Replies: 10
| Thread Tools | Search this Thread |
Tag cloud for Assembly
3d 68hc11 6811 80386 :( adress array asm assembler assembly boot bootloader buffer compression cursor debug directory division docs dos draw emulator endtask error exceptions file int10h integer intel interrupt interrupts language loop newbie nohau osdevelopment print program range read remainder shape string text theory tsr x86






