Hydrogen Assembler 0.2.x
- phredreeck
- Member
- Posts: 312
- Joined: Mon Jun 15, 2009 10:01 am
- Location: France
Hydrogen Assembler 0.2.x
Here's a new major alpha release of HyASM: 0.2.0.
What's new?
- added new instructions:
- FPU instructions
- some privileged instructions (LTR, LLDT, VERR...)
- bit scan and bit test instructions
- SHLD and SHLR instructions
- SETxx instructions
- CMPXCHG and CMPXCHG8B instructions
- XADD instruction
- a16/a32 prefix is now supported
- some bugs fixes
The manual is still being written.
As usual, please feel free to test, bug report, suggest ideas, features request, etc...
What's new?
- added new instructions:
- FPU instructions
- some privileged instructions (LTR, LLDT, VERR...)
- bit scan and bit test instructions
- SHLD and SHLR instructions
- SETxx instructions
- CMPXCHG and CMPXCHG8B instructions
- XADD instruction
- a16/a32 prefix is now supported
- some bugs fixes
The manual is still being written.
As usual, please feel free to test, bug report, suggest ideas, features request, etc...
- phredreeck
- Member
- Posts: 312
- Joined: Mon Jun 15, 2009 10:01 am
- Location: France
Re: Hydrogen Assembler 0.2.x
New release: 0.2.1.
This version does not include new features or new instructions, but I have released a test version of HyASM for MIPS and MIPSEL architectures. Some instructions (including FPU) are implemented.
This version does not include new features or new instructions, but I have released a test version of HyASM for MIPS and MIPSEL architectures. Some instructions (including FPU) are implemented.
- phredreeck
- Member
- Posts: 312
- Joined: Mon Jun 15, 2009 10:01 am
- Location: France
Re: Hydrogen Assembler 0.2.x
New release: 0.2.2.
What's new?
- X86: fixed address encoding with Jxx and LOOP instructions.
- fixed a critical bug with local labels.
I think this release is now really usable for OSDev-ing (unless other bugs are discovered).
What's new?
- X86: fixed address encoding with Jxx and LOOP instructions.
- fixed a critical bug with local labels.
I think this release is now really usable for OSDev-ing (unless other bugs are discovered).
- AaronMiller
- Member
- Posts: 81
- Joined: Thu Mar 06, 2008 1:26 pm
- Location: Roseville, California (USA)
- Contact:
Re: Hydrogen Assembler 0.2.x
This looks cool. I'll test it out. 
Cheers,
-naota

Cheers,
-naota
Re: Hydrogen Assembler 0.2.x
Wow Tommy, you're working hard!
Re: Hydrogen Assembler 0.2.x
Wrote a little "Hello, world!" program. It's a console application.
- Attachments
-
- hello.asm
- (512 Bytes) Downloaded 159 times
- phredreeck
- Member
- Posts: 312
- Joined: Mon Jun 15, 2009 10:01 am
- Location: France
Re: Hydrogen Assembler 0.2.x
Very hard. I'm trying to implement the "include" directive. But I need to rewrite some important partsHobbes wrote:Wow Tommy, you're working hard!
of the code to implement this useful directive.
Very good! This sample will be included in the next release.Hobbes wrote:Wrote a little "Hello, world!" program. It's a console application.
- phredreeck
- Member
- Posts: 312
- Joined: Mon Jun 15, 2009 10:01 am
- Location: France
Re: Hydrogen Assembler 0.2.x
New release: 0.2.3.
What's new?
- fixed a critical bug in the section expansion routine.
- added INCLUDE directive for including other asm files.
- added FILE/INCBIN directive for including binary files.
- X86: added FB, FW and FD directives for buffer creation.
- MIPS: added some FPU instructions.
The archive contains a draft documentation.

What's new?
- fixed a critical bug in the section expansion routine.
- added INCLUDE directive for including other asm files.
- added FILE/INCBIN directive for including binary files.
- X86: added FB, FW and FD directives for buffer creation.
- MIPS: added some FPU instructions.
The archive contains a draft documentation.
Added some comments on your sample and added to the "samples" directory. Thanks!Hobbes wrote:Wrote a little "Hello, world!" program. It's a console application.

- phredreeck
- Member
- Posts: 312
- Joined: Mon Jun 15, 2009 10:01 am
- Location: France
Re: Hydrogen Assembler 0.2.x
New release: 0.2.4.
What's new?
- released, just for fun, a test version of HyASM for i8080 processors.
What's new?
- released, just for fun, a test version of HyASM for i8080 processors.
- AaronMiller
- Member
- Posts: 81
- Joined: Thu Mar 06, 2008 1:26 pm
- Location: Roseville, California (USA)
- Contact:
Re: Hydrogen Assembler 0.2.x
Wow! You're pumping out releases fast! Downloaded latest version. Keep up the good work. 
Cheers,
-naota

Cheers,
-naota
- phredreeck
- Member
- Posts: 312
- Joined: Mon Jun 15, 2009 10:01 am
- Location: France
Re: Hydrogen Assembler 0.2.x
i8080 port took me an hour. I just did for fun, and then it may interest someone.AaronMiller wrote:Wow! You're pumping out releases fast! Downloaded latest version. Keep up the good work.![]()
So, I'm working on version 0.3.0. This release will implement the support of procedures and structures.
Perhaps I will begin my other project of a new programming language...
- AaronMiller
- Member
- Posts: 81
- Joined: Thu Mar 06, 2008 1:26 pm
- Location: Roseville, California (USA)
- Contact:
Re: Hydrogen Assembler 0.2.x
What do you suppose your new programming language will look like?
- phredreeck
- Member
- Posts: 312
- Joined: Mon Jun 15, 2009 10:01 am
- Location: France
Re: Hydrogen Assembler 0.2.x
A dialect of Pascal, with bits of Basic and C. As for its name, I called it "HL" (for Hydrogen Language).AaronMiller wrote:What do you suppose your new programming language will look like?
- AaronMiller
- Member
- Posts: 81
- Joined: Thu Mar 06, 2008 1:26 pm
- Location: Roseville, California (USA)
- Contact:
Re: Hydrogen Assembler 0.2.x
Have any examples of the syntax? It sounds cool. 

- phredreeck
- Member
- Posts: 312
- Joined: Mon Jun 15, 2009 10:01 am
- Location: France
Re: Hydrogen Assembler 0.2.x
OK! That might look like a source file in HL:AaronMiller wrote:Have any examples of the syntax? It sounds cool.
Code: Select all
#
# Example code
#
WORD Value1 = 3 # initialized data.
BYTE Value2 # uninitialized data.
STRING String1 = "Hello" # a string...
# Example procedure
PROC TestProcedure (WORD Arg1, DWORD Arg2) AS DWORD
BYTE LocalVar1 = 5
DWORD LocalVar2
IF (Arg1 == 0)
RETURN (LocalVar1 + 6)
ELSE
SWITCH Arg2
CASE 0:
LocalVar2 = LocalVar1 + 3
BREAK
CASE 1:
RETURN Arg2
DEFAULT:
RETURN -1
END SWITCH
END IF
LocalVar1 = 0
RETURN LocalVar1
END PROC