Download Pelles C here: http://www.pellesc.se
include SaveRegs.inc
SaveRegs MACRO
mov QWORD PTR [rbp],rcx
mov QWORD PTR [rbp+8],rdx
mov QWORD PTR [rbp+16],r8
mov QWORD PTR [rbp+24],r9
ENDM
.data
msg db 'Hello!',0
msg2 db 'rcx,rdx,r8 and r9 are saved.',0
title db 'MsgBox',0
title2 db 'Macro test',0
.code
start PROC PARMAREA=5*SIZEOF QWORD
; Pass rsp to the procedure main
invoke main,ADDR msg2,ADDR title2,10,20,rsp
invoke ExitProcess,0
start ENDP
main PROC uses rbp r:QWORD,s:QWORD,t:QWORD,u:QWORD,_rsp:QWORD PARMAREA=4*SIZEOF QWORD
mov rbp,_rsp
SaveRegs
_r TEXTEQU <QWORD PTR [rbp]>
_s TEXTEQU <QWORD PTR [rbp+8]>
_t TEXTEQU <QWORD PTR [rbp+16]>
_u TEXTEQU <QWORD PTR [rbp+24]>
invoke MessageBox,0,ADDR msg,ADDR title,0
; The first call to MessageBox destroys rcx,rdx,r8 and r9
invoke MessageBox,0,_r,_s,0
ret
main ENDP
END start
Quote from: PaoloC13 on March 20, 2026, 11:24:53 AMIntel Celeron N4020 CPU @ 1.10GHz - RAM 4,00 GB
Windows 11 Vers. 23H2
Quote from: PaoloC13 on March 20, 2026, 11:24:53 AMIntel Celeron N4020 CPU @ 1.10GHz - RAM 4,00 GBPerhaps capable to test Pelles C v14 too.
Windows 11 Vers. 23H2
Intel Core i7-7700HQ @ 2.80 GHz - RAM 16,0 GB
Windows 10 Vers. 22H2
include SaveRegs.inc
SaveRegs MACRO
mov QWORD PTR [rbx],rcx
mov QWORD PTR [rbx+8],rdx
mov QWORD PTR [rbx+16],r8
mov QWORD PTR [rbx+24],r9
ENDM
.data
msg db 'Hello!',0
msg2 db 'rcx,rdx,r8 and r9 are saved.',0
title db 'MsgBox',0
title2 db 'Macro test',0
.data?
mainRsp dq ?
.code
start PROC PARMAREA=5*SIZEOF QWORD
; Pass rsp to the procedure main
invoke main,ADDR msg2,ADDR title2,10,20,rsp
invoke ExitProcess,0
start ENDP
main PROC uses rsi rdi rbx x:QWORD,y:QWORD,w:QWORD,z:QWORD,_rsp:QWORD PARMAREA=4*SIZEOF QWORD
LOCAL temp1:QWORD
mov temp1,10
mov rbx,_rsp
SaveRegs
xor rsi,rsi
mov rdi,1
invoke MessageBox,0,ADDR msg,ADDR title,0
; The first call to MessageBox destroys rcx,rdx,r8 and r9
invoke MessageBox,0,QWORD PTR [rbx],QWORD PTR [rbx+8],0
ret
main ENDP
END start
rsrc0009.dll version 13.00.1
support.dll version 13.00.0
fdiff.dll version 14.00.0
pofmt.dll version 13.00.0
porc.dll version 14.00.0
pobr.dll version 13.00.1
sqlite3.dll version 3390400
pocc.exe version 14.00.0
poasm.exe version 14.00.0
polink.exe version 13.00.1
idespawn.exe version 14.00.0
SET PellesCDir=C:\code\PellesC14rc1
SET PATH=%PellesCDir%\bin
pomake.exe -F sqlite364_V14.ppj
sqlite3.c needs some modifications ?..\sqlite3.c(126948): error #2168: Operands of '=' have incompatible types: 'char *' and 'const char *'.
..\sqlite3.c(132978): error #2082: Invalid initialization type; expected 'char *' but found 'const char *'.
POMAKE: fatal error: 'pocc.exe -Tx64-coff -std:C23 -Ot -Ob1 -fp:precise -W0 -Gz -Ze -J "..\sqlite3.c" -Fo"output64\sqlit
e3.obj"', exit code 1.POLIB: fatal error: An internal error occurred.something to test with different CPUspolib.exe -machine:x86 -def:msvcrt.def -out:msvcrt.libPage created in 0.045 seconds with 15 queries.