News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests
NB: Posting URL's See here: Posted URL Change

Main Menu

Recent posts

#1
UASM Assembler Development / Re: Linux users, please
Last post by FORTRANS - Today at 10:09:18 PM
Hi,

Quote from: NoCforMe on June 19, 2025, 09:37:21 AMI had never heard of that,

   Ah, well it was fairly short lived, I suppose.  But it was fun to
try it out.

Quotebut yeah, like that. Except that it wasn't anything like a multi-user multitasking "environment", just an overlay on top of DOS programs. It sure looked like the screenshots of the IBM thing, though.

   Well, I was wondering about that.  Nice to hear about it.

Thanks,

Steve N.
#2
The Campus / Re: Nested .REPEAT, .IF and .W...
Last post by Quan - Today at 07:18:14 PM
Adding to this, I'm essentially trying to replicate this chunk of code in a macro so I can use it multiple times.
xor eax, eax
mov esi, offset strHW
loop_start:
inc eax
mov edi, offset strHW + 5
add esi, eax
xor ecx, ecx
add ecx, 11
cld
repe cmpsb
jz found

cmp eax, 10
jne loop_start

found:
mov ebx, -1
Is anything I'm doing wrong or unconventional?

EDIT: Minor, unrelated logic error, cmp instruction at the end of the loop is supposed to compare eax with 10, not ecx with 10.
#3
The Campus / Nested .REPEAT, .IF and .WHILE...
Last post by Quan - Today at 07:12:40 PM
I have this simple programme here
include \masm32\include\masm32rt.inc

testing MACRO
xor eax, eax
mov esi, offset strHW
.REPEAT
inc eax
mov edi, offset strHW + 5
add esi, eax
xor ecx, ecx
add ecx, 11
cld
repe cmpsb
.IF !ZERO?
GOTO found
.ENDIF

.UNTIL eax == 10
:found
mov ebx, -1
ENDM

.data
data_start EQU $

strHW db 'Hello World!', 0
    strQuery db 'test32.exe', 0
   
.code
start:
testing

push 0
call ExitProcess
end start
and I'm getting this error here.
C:\3\test.asm(35) : fatal error A1010:unmatched block nesting : .if-.repeat-.while

I think my syntax is correct. Am I missing something? Or .if being nested in .repeat is not allowed?

EDIT: The condition in .UNTIL is supposed to be eax == 10 and not ecx == 10. The same error is still produced after this edit.
#4
UASM Assembler Development / Re: Linux users, please
Last post by daydreamer - Today at 04:42:14 PM
Cross platform, wrapper functions
Like proc with winapi function names,inside is invoke to Linux same function?
Or the other way around?
#5
Showcase / Re: mcLB2, a new Windows contr...
Last post by NoCforMe - June 19, 2025, 09:40:52 AM
Quote from: LordAdef on June 18, 2025, 05:53:44 AMCongrats!

Thanks. Maybe you want to try it sometime?
#6
UASM Assembler Development / Re: Linux users, please
Last post by NoCforMe - June 19, 2025, 09:37:21 AM
Quote from: FORTRANS on June 18, 2025, 11:06:40 PMHi,

Quote from: NoCforMe on June 18, 2025, 08:08:22 AMI once wrote a pretty good text-based windowing system for 16-bit DOS apps. Worked pretty well: using 80x25 screens you had input and output fields, full control of color and several useful "gizmos" like pop-up boxes, "gas gauges", etc. Kind of like the old *nix-based curses package. Fun stuff.

  Like IBM's Topview perhaps?  Interesting.

I had never heard of that, but yeah, like that. Except that it wasn't anything like a multi-user multitasking "environment", just an overlay on top of DOS programs. It sure looked like the screenshots of the IBM thing, though.

The original one I wrote in the late 1980s was written in assembly language. Later I wrote a similar but less extensive package that I called the "Gizmo" package, also for DOS programs. That one was written in C and used the curses library.
#7
ObjAsm / Re: New Editor
Last post by Biterider - June 19, 2025, 03:15:09 AM
Hi
Today was an exciting day! I ran a Lua script in the editor for the first time.  :cool:

After spending a few hours setting things up, I ran a simple 'Hello World' print command from within a Lua script.
Initially, I couldn't see anything because I had forgotten to update the view. However, as soon as I scrolled down a bit, there it was! It looked great!   :biggrin:

Designing the interface between the script engine and the editor is challenging because I don't yet know exactly which commands I will need. I'll start with a small set of commands and extend them as necessary.

Biterider
#8
UASM Assembler Development / Re: Linux users, please
Last post by FORTRANS - June 18, 2025, 11:06:40 PM
Hi,

Quote from: NoCforMe on June 18, 2025, 08:08:22 AMI once wrote a pretty good text-based windowing system for 16-bit DOS apps. Worked pretty well: using 80x25 screens you had input and output fields, full control of color and several useful "gizmos" like pop-up boxes, "gas gauges", etc. Kind of like the old *nix-based curses package. Fun stuff.

   Like IBM's Topview perhaps?  Interesting.

Regards,

Steve N.
#9
Examples / Re: "Invoke" 64-bit
Last post by Greg_M - June 18, 2025, 06:12:38 PM
OK, thanks very much, including for the well-stated, and thorough number of, options!
#10
Examples / Re: "Invoke" 64-bit
Last post by jj2007 - June 18, 2025, 05:52:17 PM
Hi Greg,

Microsoft crippled ML64, so invoke, .if .else .endif, .Repeat ... .Until and others are no longer built-in. Therefore you basically have three options:
1. Bare metal: no macros (for Real MenTM)
2. The macros developed by Hutch and Vasily in the Masm64 package
3. UAsm or JWasm

Note that Vasily's invoke does not check for the number and/or type of parameters passed. JBasic's jinvoke does, but it's work in progress.

Welcome to the forum :thup: