Recent Posts

Pages: [1] 2 3 ... 10
1
HJWASM Development / Re: HJWasm 2.28 release
« Last post by aw27 on Today at 03:34:16 PM »
We're going to re-name this while working on the fixes, should we just call it BORLAND instead?

Looks better for me :t
2
The Workshop / Re: Test video tutorial for Quick Editor
« Last post by hutch-- on Today at 03:00:02 PM »
The app "eSpeak" uses a SAPI5 Microsoft front end and can access the voices in Win10 but the voices they supplied are very poor. I downloaded the SAPI5 SDK from Microsoft and used the original version which I mercilessly hacked with Resource Hacker to make the interface useful and its been a good tool to test out the different voices. There are 3 by default in Win10 and another with a registry trick to get the Mobile voice as well.
3
The Campus / Re: My second program!
« Last post by hutch-- on Today at 02:53:29 PM »
Ray is right here, it is a very common technique in Windows code to have the option of combining styles and in notation form it uses the "or" operator to combine them. When you have long lists of styles which is common when constructing a window, you OR a list of styles together in your code. The assembler actually performs the combination to a single value and places it in the code at the right location.

Another very common technique in Windows is the use of structures and this is a bit different to how 16 bit real mode DOS worked. Most of the system based structures are already defined in the include files so when you have an API function that requires an address of a structure, you either allocate a LOCAL variable for the structure OR if you need to for scope reasons, you can allocate a structure in either the initialised DATA section or the uninitialised DATA? structure.
4
The Campus / Re: My first program!
« Last post by hutch-- on Today at 02:19:41 PM »
Here are the normal variations.

; ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
    include \masm32\include\masm32rt.inc
; ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤

    ; *********************************
    ; *********************************
    ;   build with "Assembler & Link"
    ; *********************************
    ; *********************************

    .data
      titl db "Example",0
      doff db "Using the data OFFSET",0
      lead db "Loading the effective address",0
      tdat db "Using POINTERS to the data",0

    ; -------------------------------------
    ; DWORD pointers to the above text data
    ; -------------------------------------
      pttl dd titl
      poff dd doff
      padr dd lead
      pdat dd tdat

    .code

start:
   
; ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤

    call main
    exit

; ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤

main proc

  ; ----------------------------
  ; using the OFFSET of the data
  ; ----------------------------
    push MB_OK
    push OFFSET titl
    push OFFSET doff
    push 0
    call MessageBox

  ; -------------------------------------------
  ; load effective address with instruction LEA
  ; -------------------------------------------
    push MB_OK
    lea eax, titl
    push eax
    lea eax, lead
    push eax
    push 0
    call MessageBox

  ; --------------------------
  ; using POINTERS to the data
  ; --------------------------
    push MB_OK
    push pttl
    push pdat
    push 0
    call MessageBox

    ret

main endp

; ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤

end start
5
The Soap Box / Re: Lute music from a MIDI file
« Last post by hutch-- on Today at 01:51:35 PM »
Thanks Alex,

This stuff is very useful. I have so far only modified the MP3 conversions. The suggestion to narrow the stereo field makes sense as the separation does not fit a single source instrument. The only thing I have not worked out how to do so far is individually edit each stereo track as many of the samples I have to work with voice an extra instrument that is too loud over the emulated string instrument. I can drop the volume on the entire stereo side which works OK in some tracks but its not successful on all tracks.

I understand the velocity change and will have to work out how to do it. Funny enough I well understand "phrasing" old music as I used to play guitar in both classical and flamenco before I had a slight finger injury that put an end to it.
6
The Campus / Re: My second program!
« Last post by raymond on Today at 01:18:24 PM »
You simply 'or' them. Ex.: GENERIC_READ or GENERIC_WRITE
7
The Campus / Re: My first program!
« Last post by LordAdef on Today at 11:44:49 AM »
Quote
I did correct that and it work.

good to know!
8
The Campus / My second program!
« Last post by felipe on Today at 11:23:21 AM »
Code: [Select]
include c:\masm32\include\masm32rt.inc                                        ; A good starting point for beginers.

.data
newfile         byte    'c:\Users\Administrador\Desktop\Programacion\newone\hello.txt',0

.code
start:
main            proc
                call    make_the_file
                call    ExitProcess
main            endp

make_the_file   proc
                push    0                           ; No template file.
                push    FILE_ATTRIBUTE_NORMAL       ; Normal file
                push    CREATE_NEW                  ; Create a new file.
                push    0                           ; The file handle can't be inherited.
                push    0                           ; Will not be shared (In runtime).
                push    GENERIC_WRITE               ; For write only.
                push    offset newfile
                call    CreateFile                  ; Windows do the job.
ret
make_the_file   endp
                end     start


So what do you think? (Well it's of course very simple, just for the campus right?  ;)).

Another question please: How can i combine the attributes. For example GENERIC_READ and GENERIC_WRITE?

Thanks a lot!  :t
9
The Campus / Re: My first program!
« Last post by newrobert on Today at 11:11:59 AM »
both below will work. You may have missed something else

push_parameters proc       
        push    0                   ; Style of message box.

        ;mov    ebx,offset head    ;<== this
        lea      ebx, head               ;<== or this

        push    ebx

lea means move address of varible to register;

        ;mov    ebx,offset inside
        lea      ebx, inside

        push    ebx
        push    0                   ; No window, no handle?
        call    MessageBoxA         ; Windows function.
        ret
push_parameters endp
10
The Campus / Re: My first program!
« Last post by mineiro on Today at 10:56:15 AM »
a basic abstration means that mov and lea and others processors instructions are instructions, not abstractions.
Pages: [1] 2 3 ... 10