Jump to content

Starting assembly

- - - - -

  • Please log in to reply
11 replies to this topic

#1
NewProgrammer

NewProgrammer

    Newbie

  • Members
  • PipPip
  • 20 posts
How can a new programmer(like me :D .I know D language and base of programming.) start Assembly?

#2
RhetoricalRuvim

RhetoricalRuvim

    JavaScript Programmer

  • Members
  • PipPipPipPipPipPipPipPip
  • 1,252 posts
  • Location:C:\Countries\US
@NewProgrammer: What do you currently know about assembly?

#3
NewProgrammer

NewProgrammer

    Newbie

  • Members
  • PipPip
  • 20 posts
I know basic commands like "MOV,ADD,INC,DEC,registers etc" but I want to learn write assembly programs.i can't write now.

Can you help me?

#4
dargueta

dargueta

    Writes binary right handed and hex left handed

  • Moderators
  • 4,705 posts
  • Programming Language:C, Java, C++, PHP, Python, Perl, Assembly, Bash, Others
  • Learning:JavaScript
Mod note: moved to separate thread. Please use the "Assembly Resources" thread for posting resources only, not asking questions.

I recommend you read The Art Of Assembly Language. I posted a link to it in the Resources thread.
sudo rm -rf /

#5
RhetoricalRuvim

RhetoricalRuvim

    JavaScript Programmer

  • Members
  • PipPipPipPipPipPipPipPip
  • 1,252 posts
  • Location:C:\Countries\US
@NewProgrammer: Do you have an assembler that you want to use (such as NASM, MASM32, TASM, ...)?

I usually use NASM when I want to write .com files. I use MASM32 to write Win32 .exe applications.


About DOS system calls (which are used in .com files), there's this page I found:
DR-DOS System and Programmer's Guide

About MASM32 programming, there are these tutorials:
http://www.acm.uiuc....s/winasmtut.pdf
http://win32assembly.../tutorials.html


Oh, and also NASM can be used to write boot-sectors/executives, with its flat-form binary output format.
Edit: There are tutorials a little about assembly language and some about boot sector / operating system writing (using NASM) at:
Building an OS

#6
NewProgrammer

NewProgrammer

    Newbie

  • Members
  • PipPip
  • 20 posts
dargueta;
I'm sorry.I will pay attention this subject.

Rhetorical;
I'm using Linux.Can you suggest the resources for Linux?

#7
dargueta

dargueta

    Writes binary right handed and hex left handed

  • Moderators
  • 4,705 posts
  • Programming Language:C, Java, C++, PHP, Python, Perl, Assembly, Bash, Others
  • Learning:JavaScript
@RR: You responded to the wrong thread, so I moved your post for you. :)
@NP: NASM works on most common operating systems including Linux, so use that.
sudo rm -rf /

#8
NewProgrammer

NewProgrammer

    Newbie

  • Members
  • PipPip
  • 20 posts
I understand,but are the commands the same as Windows' commands?

#9
dargueta

dargueta

    Writes binary right handed and hex left handed

  • Moderators
  • 4,705 posts
  • Programming Language:C, Java, C++, PHP, Python, Perl, Assembly, Bash, Others
  • Learning:JavaScript
What do you mean by commands?
Command-line invocation: Yes.
Actual assembly instructions, directives, etc.: Yes.
sudo rm -rf /

#10
RhetoricalRuvim

RhetoricalRuvim

    JavaScript Programmer

  • Members
  • PipPipPipPipPipPipPipPip
  • 1,252 posts
  • Location:C:\Countries\US
The "commands" are called instructions. They can also be called opcodes or mnemonics. But yes, they are the same for any Intel or AMD processor.

Some resources for Linux, that I found:
Linux Assembly Tutorial - Step-by-Step Guide
Writing A Useful Program With NASM
Linux Assembly: resources

#11
dargueta

dargueta

    Writes binary right handed and hex left handed

  • Moderators
  • 4,705 posts
  • Programming Language:C, Java, C++, PHP, Python, Perl, Assembly, Bash, Others
  • Learning:JavaScript
Definitely post your last two link-filled posts into the Assembly Resources thread.
sudo rm -rf /

#12
NewProgrammer

NewProgrammer

    Newbie

  • Members
  • PipPip
  • 20 posts
Commands=Mnemonics or instruction I meant it.

The resources is very good.I will study it.




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users