MASM 32-bit Windows Assembler

Published: 30 November 2020
on channel: veganaiZe
11,346
176

Up and running with MASM in Windows: To "Hello World" and beyond!

0:02:12 - Protect your system by running inside a virtual machine.
0:02:40 - ReactOS - free & open source windows clone.
0:03:49 - VirtualBox - free & open source virtualization.
0:07:13 - MASM 8.0 download.
0:08:27 - MASM32.
0:12:44 - ANSI / ASCII "narrow" vs. "wide" Unicode functions.
0:17:49 - Win32.chm help file.
0:29:36 - Keep it simple with standard portable c library.
0:31:30 - Headers / includes / declarations.
0:34:50 - Windows types (ie. dwords).
0:35:52 - LLP 64-bit arch.
0:37:19 - Windows handles.
0:39:31 - Using the Win32 API reference.
0:43:23 - Intel 386 programmer's manual.
0:45:10 - 32-bit vs. 16-bit registers / segmentation.
0:47:59 - Agner Fog's assembly optimizations.
0:49:47 - Overview of assemblers.
0:54:38 - AMD developer manuals.
0:58:04 - AMD optimization guide.
1:02:48 - VirtualBox window view modes & shortcut (host/ctrl) keys.
1:06:27 - Jeff Huang's windows assembly tutorial.
1:07:27 - Starting example.
1:08:55 - Essential MASM directives.
1:13:48 - .inc include/header files.
1:14:16 - Inside include files.
1:16:30 - Add bin\ folder to PATH.
1:16:58 - ML.exe version [/?].
1:17:36 - Extracting ML 8.0.
1:23:04 - Type and equate details.
1:26:15 - masm32.inc / masm32.lib.
1:29:42 - invoke & addr.
1:31:50 - Saving source files (in ANSI format).
1:32:50 - Assembling at the command line.
1:33:37 - The results of my removing `option casemap :none` blunder.
1:35:23 - Manual declarations instead of .inc files.
1:38:47 - puts() instead of StdOut.
1:40:13 - Calling conventions.
1:42:08 - OMF vs. COFF object formats.
1:42:35 - Name mangling: stdcall & c.
1:43:05 - Explanation of ML command line.
1:43:15 - Explanation of linking .obj to .exe.
1:43:44 - Running 'Hello World!' program.
1:44:44 - Searching win32.chm api help index.
1:45:30 - Symbolic constant values.
1:46:16 - Microsoft's online MASM docs.
1:47:39 - Making code readable with symbolic constants.
1:48:39 - Replacing invoke with push & call.
1:55:35 - ADDR vs. OFFSET.
1:57:50 - Object format and linking in MASM 6 & 8.
1:59:50 - User32.dll and MessageBox.
2:05:44 - Pushing parameters to the stack.
2:08:40 - Oops! Wrong order! (should be right-to-left).
2:09:44 - Defining (static / c-style) string data.
2:11:30 - Window console ownership.
2:12:47 - MASM feature focus.
2:15:44 - Wide character strings & api calls.
2:17:32 - Intel little-endian byte ordering.
2:22:15 - Box drawing characters (wikipedia).
2:25:36 - MASM32 help files & extra apps overview.
2:29:16 - Register preservation convention.

1) Introduction to 32-bit (x86) MASM:    • MASM 32-bit Windows Assembler  
2) Convert real windows in C to MASM:    • MASM - A Real Window (32-bit)  
3) Creating a macro for wide strings:    • MASM - Macros and Wide Unicode String...  
4) String operations & optimizations:    • MASM - String Operations and Optimiza...  
5) File & memory management in Win32:    • MASM - File and Memory Management (32...  

https://github.com/veganaize/ASM/blob...

• Github repo:
https://github.com/veganaize/ASM/tree...
• MASM32:
http://www.masm32.com/
• INTEL 80386 PROGRAMMER'S REFERENCE MANUAL 1986:
https://css.csail.mit.edu/6.858/2015/...
• Jeff Huang's Windows Assembly Programming Tutorial:
https://doc.lagout.org/operating%20sy...
• Agner Fog's Optimizing Assembly:
https://www.agner.org/optimize/
• AMD64 Architecture Programmer's Manuals and Optimization Guide:
https://developer.amd.com/resources/d...
• Microsoft Macro Assembler (MASM) 10.0 (via PSDK 7.1):
(32-bit Installer) http://web.archive.org/web/2023061110...
(64-bit Installer) http://web.archive.org/web/2023061110...
• JWasm (MASM compatible):
https://www.japheth.de/JWasm.html


Watch video MASM 32-bit Windows Assembler online without registration, duration hours minute second in high quality. This video was added by user veganaiZe 30 November 2020, don't forget to share it with your friends and acquaintances, it has been viewed on our site 11,346 once and liked it 176 people.