News:

Download Pelles C here: http://www.pellesc.se

Main Menu

Recent posts

#11
Feature requests / Re: Enhanced editor suggestion...
Last post by TimoVJL - March 22, 2026, 10:41:00 PM
Might be possible with Add-In.
Hopefully someone understand a you ideas for it.
#13
Feature requests / Re: Enhanced editor suggestion...
Last post by Vortex - March 22, 2026, 05:31:47 PM
While that's an interesting idea, I guess it better to keep simple the project manager of Pelles C.
#14
Feature requests / Enhanced editor suggestion #3
Last post by PhilG57 - March 22, 2026, 04:21:39 PM
It would be nice, if when working on a "workspace" with multiple "projects", various options of the project (compiler level, flags, libraries, link options for libraries, etc.), could be inherited from the workspace.  Those project options inherited from the workspace would all be the same for each individual project, while projects needing unique options would specify those in the project's .ppj or whatever file. Thanks.
#15
Feature requests / Re: RichEdit 4.1
Last post by TimoVJL - March 22, 2026, 12:13:21 PM
Quote from: Pelle on November 30, 2025, 10:03:50 PMApparently there are four versions of Rich Edit:
Version 1.0, Riched32.dll, class "RICHEDIT"
Version 2.0, Riched20.dll, class "RichEdit20A"/"RichEdit20W"
Version 3.0, Riched20.dll, class "RichEdit20A"/"RichEdit20W"
Version 4.1, Msftedit.dll, class "RICHEDIT50W"
Not sure who came up with this, but surely strong medication must have been involved...
The next version of the dialog editor will have four RichEdit controls (1, 2, 3, and 5).
Works in my tests in Windows 11 laptop.
#16
Assembly discussions / Re: Saving the volatile regist...
Last post by Vortex - March 22, 2026, 11:04:33 AM
Another example :

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
#17
Bug reports / Re: Creating resource with man...
Last post by John Z - March 21, 2026, 10:37:25 AM
Quote from: PaoloC13 on March 20, 2026, 11:24:53 AMIntel Celeron N4020 CPU @ 1.10GHz - RAM 4,00 GB
Windows 11 Vers. 23H2

I am amazed that this works - Win 11 23H2 with such limited resources!

John Z
#18
Bug reports / Re: Creating resource with man...
Last post by TimoVJL - March 20, 2026, 12:16:48 PM
Quote from: PaoloC13 on March 20, 2026, 11:24:53 AMIntel Celeron N4020 CPU @ 1.10GHz - RAM 4,00 GB
Windows 11 Vers. 23H2

Intel Core i7-7700HQ @ 2.80 GHz - RAM 16,0 GB
Windows 10 Vers. 22H2
Perhaps capable to test Pelles C v14 too.
#19
Bug reports / Re: Creating resource with man...
Last post by PaoloC13 - March 20, 2026, 11:24:53 AM
Intel Celeron N4020 CPU @ 1.10GHz - RAM 4,00 GB
Windows 11 Vers. 23H2

Intel Core i7-7700HQ @ 2.80 GHz - RAM 16,0 GB
Windows 10 Vers. 22H2
#20
Assembly discussions / Re: Saving the volatile regist...
Last post by Vortex - March 20, 2026, 10:01:17 AM
Here is another test :

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