flat assembler
Message board for the users of flat assembler.
 Home   FAQ   Search   Register 
 Profile   Log in to check your private messages   Log in 
flat assembler > Windows > Starting programming assembly in windows

Author
Thread Post new topic Reply to topic
Lengua_Maquinista



Joined: 05 Apr 2017
Posts: 4
Starting programming assembly in windows
Hello everyone, I have some experience learning assembly language in Ubuntu, I can easily use a compiler and linker and subsequently run a program compiled in assembly. However, I have had various problems installing and using compilers and linkers in Windows 7. Ideally, you should just be able to install a program and have it work, but I MASM also didn't afford me this luxury, in order to do what I want the fallowing things are necessary:

-text editor (not a problem)

-properly installed compiler and linker

-command line programs (or GUI programs...) that are properly installed and configured to assemble and link programs

-all properly installed to run the text off the terminal when you execute the program....

Would any of you be able to give me a correct series of instructions/downloads so that I can accomplish this? I realize I could just go back to ubuntu but I don't want to do that because the tethering program wasn't working before and it might not work again....

Thanks
Post 06 Apr 2017, 17:49
View user's profile Send private message Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 14673
Location: Origae-6
fasm doesn't need to be installed, just copy the executable file to your path and run it.

fasm can be used without a linker. fasm can also be used with a linker if you wish to.

The download page is linked at the bottom of this page that you are reading now.
Post 06 Apr 2017, 18:15
View user's profile Send private message Visit poster's website Reply with quote
Lengua_Maquinista



Joined: 05 Apr 2017
Posts: 4
I guess there are bugs or something in the code im trying to run.......because when I copy this into the assembler and tell it to run i get an error:


Code:
; «««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««

;                 Build this with the "Project" menu using
;                       "Console Assemble and Link"

; «««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««

    .486                                    ; create 32 bit code
    .model flatstdcall                    ; 32 bit memory model
    option casemap :none                    ; case sensitive
 
    include \masm32\include\windows.inc     ; always first
    include \masm32\macros\macros.asm       ; MASM support macros

  ; -----------------------------------------------------------------
  ; include files that have MASM format prototypes for function calls
  ; -----------------------------------------------------------------
    include \masm32\include\masm32.inc
    include \masm32\include\gdi32.inc
    include \masm32\include\user32.inc
    include \masm32\include\kernel32.inc

  ; ------------------------------------------------
  ; Library files that have definitions for function
  ; exports and tested reliable prebuilt code.
  ; ------------------------------------------------
    includelib \masm32\lib\masm32.lib
    includelib \masm32\lib\gdi32.lib
    includelib \masm32\lib\user32.lib
    includelib \masm32\lib\kernel32.lib

    .code                       ; Tell MASM where the code starts

; «««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««

start:                          ; The CODE entry point to the program

    print chr$("Hey, this actually works.",13,10)
    exit

; «««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««

end start                       ; Tell MASM where the program ends



actually, it seems like the libraries just aren't installed properly for this code to be able to run it because it highlights the "include" line....looks like i need to run a simpler program

Edit by revolution: Added code tags
Post 06 Apr 2017, 21:47
View user's profile Send private message Reply with quote
Trinitek



Joined: 06 Nov 2011
Posts: 254
If you want to build MASM code, use MASM. FASM has its own set of macros and syntax.
Post 06 Apr 2017, 22:15
View user's profile Send private message Reply with quote
Lengua_Maquinista



Joined: 05 Apr 2017
Posts: 4
Okay, I'll just read the documentation for FASM what I should have done in the first place, thanks

edit: Now that i did that, i ran the "Beer" program and omfg that was hilarious!
Post 06 Apr 2017, 22:46
View user's profile Send private message Reply with quote
catafest



Joined: 05 Aug 2010
Posts: 78
Read the https://flatassembler.net/docs.php and use internet to find tutorials and docs.
If don't want to use FASM editor you can use the SAMS editor - https://dman95.github.io/SASM/english.html :
Come with example projects:

Code:
format ELF64

section '.data' writeable
    msg db 'Hello, world!'0
    formatStr db "%s"0

section '.text' executable
public main
extrn printf
main:
    mov ebpesp; for correct debugging
    mov rbprsp; for correct debugging
    sub rsp32
    and rsp, -16
    mov rcxformatStr
    mov rdxmsg
    call printf
    mov rsprbp
    xor eaxeax
    ret

Post 07 May 2017, 18:25
View user's profile Send private message Yahoo Messenger Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2109
Location: Usono (aka, USA)

Trinitek wrote:
If you want to build MASM code, use MASM. FASM has its own set of macros and syntax.



True, MASM and FASM are not really compatible, so old code will need rewriting.

Although, for "MASM"-style, I would say use JWasm (or HJWasm??) instead and read Art of Assembly if you want some kind of (MASM syntax) tutorial.

Or (untested) buy Ray Seyfarth's (cheap) 64-bit assembly book(s), which are apparently quite good (and use YASM and his GDB frontend/IDE called EBE).
Post 08 May 2017, 13:57
View user's profile Send private message Visit poster's website Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >

Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001-2005 phpBB Group.

Main index   Download   Documentation   Examples   Message board
Copyright © 2004-2016, Tomasz Grysztar.