Recent Posts

Pages: [1] 2 3 ... 10
UASM Assembler Development / Re: UASM 2.40 release
« Last post by qWord on Today at 10:01:19 AM »

the compiler is your willing servant: turn on all warnings (I guess you are using MSVS) and watch out for C4554(!). Checking all occurrences of C4701 and C4703 might be also useful. Easy to fix: C4101 and C4189.

BTW: Just reading some minutes in hll.c (code related to your dot-for-loop) brings up two raw copy-loops where one cause buffer overflows and the other some subtle bug that produce nonexisting identifiers while removing white spaces...

The Workshop / Re: How to read Windows MFT
« Last post by sinsi on Today at 06:52:00 AM »
From what I remember, I used this program to copy a CD/DVD. Never tried it on a hard drive, maybe that's the problem?
Also I noticed that D: is hard coded in the error message, meaning if you try and open C: or E: it will still say D:  :icon_redface:

The original program was called readdrive.exe, testing out different buffer sizes gave me 1m.exe (uses a 1MB buffer)
Usage would be "1m D: c:\copy_of_cd.iso"

You will need to get the Visual Studio version for Win7 64 bit as the Win10 version may be blocked from installing on an earlier OS version. Get the professional version so that you have all of the binaries that you need. As usual from Microsoft, its a massive download but it the best way to get the correct binaries for your Windows version. I think the version you are looking for is VC2013. You will only get it from Microsoft.

LATER : Have a look at this URL.
This includes everything you need  :biggrin:
Hello everyone,

I started this thread since I'm undertaking a revised course of action to run masm 64 bits on a true windows machine. 

I have a 64 bit win 7 box.  What I'm trying to do is download 64 bit windows binaries by getting a copy of Visual Studio Express. 

1.  Is this the best place to get access to the includes, libs, and dll's for windows and for ml.exe and link.exe and other useful  command line tools?  I really don't care about coding c or c++.

2. Supposing VS express is the best package, where can I download it?  I've looked around for two days now without luck.

3. How about Pelles C?


Mark Allyn
The Workshop / Re: How to read Windows MFT
« Last post by clamicun on Today at 03:58:50 AM »
trying to get your program 1m.asm running.

What does mean ?

"Usage: readdrive drive: filename"

Whatever I write, it gives me ""Error opening D:"
The Campus / Re: Serial DCB BITRECORD structure in
« Last post by felipe on Today at 03:04:22 AM »
I have 64 bit MASM code to write.

 :biggrin: That's the attitude!  :icon14:
The Campus / Re: Serial DCB BITRECORD structure in
« Last post by hutch-- on September 22, 2017, 04:07:17 PM »

>  I just wonder if Hutch would agree.

In a Windows world where 32 bit is in its twilight, 64 bit is on the rise, I simply don't care about ancient compatibility. There has always been a solution to the problem you are facing, write your own and you will get exactly what you want. I have 64 bit MASM code to write.
The Campus / Re: Serial DCB BITRECORD structure in
« Last post by aw27 on September 22, 2017, 02:31:26 PM »
It seems this notebook really has NO COM port :(
I have not seen a computer with a serial adapter since last century.
But there are still a couple of uses for virtual serial ports.
The Campus / Very simple adding using the fpu!
« Last post by felipe on September 22, 2017, 12:59:52 PM »
My first program using the fpu with the help of the fpu.lib and the great tutorial of Raymond!

Code: [Select]

.model      flat,stdcall
option      casemap:none

include     \masm32\include\
include     \masm32\include\
include     \masm32\include\                                 ; The latest version.

includelib  \masm32\lib\kernel32.lib
includelib  \masm32\lib\fpu.lib                                     ; The latest version.

align 1
ascresul    byte        256 dup(' ')                                ; A big buffer for the ascci string (the real number,  the result).
inbuf       byte        256 dup(' ')                                ; A big buffer for the ReadConsole function.

align 4

stdin       dword       ?
stdout      dword       ?
result      dword       ?                                           ; The result of the sum.
chrswrit    dword       ?
chrsread    dword       ?

align 4   
            call        AllocConsole
            push        STD_INPUT_HANDLE
            call        GetStdHandle

            mov         stdin,eax

            push        STD_OUTPUT_HANDLE
            call        GetStdHandle

            mov         stdout,eax

            push        SRC1_CONST or SRC2_CONST or DEST_MEM4       ; We want to sum pi + pi.                               
            push        offset result                               ; Store the result here.
            push        FPU_PI                                      ; Pi.
            push        FPU_PI                                      ; Pi.
            call        FpuAdd                                      ; Adds two numbers and returns the result as a real number.                                 

            cmp         eax,0
            je          error                                       ; On error condition we just exit the program.

            push        SRC1_REAL4 or SRC2_DIMM or STR_REG          ; Return the value in decimal format.
            push        offset ascresul                             ; We store the string here.
            push        00000106h                                   ; 1 character before the decimal point and 6 decimal digits.
            push        offset result                               ; The real number (the result of the later sum).
            call        FpuFLtoA                                    ; Converts a real number in an ascciz string.

            push        NULL
            push        offset chrswrit
            push        9                                           ; 1 char + the point + 6 digits + 0dh (CR).
            push        offset ascresul
            push        stdout
            call        WriteConsole

            push        NULL
            push        offset chrsread
            push        1                                           ; Just to the enter key (CR).
            push        offset inbuf
            push        stdin
            call        ReadConsole
align 4
            call        FreeConsole
            push        0
            call        ExitProcess

            end         start

Attached the source (same as above) and the .exe

Pages: [1] 2 3 ... 10