Closed b1tg closed 3 years ago
source file test.cpp:
test.cpp
#include <stdio.h> void main() { char* temp[] = {"123", "xxx", "bbb"}; return; }
use test.bat to build:
test.bat
cl /c /FA /GS- test.cpp masm_shc.exe test.asm test_a.asm ml test_a.asm /link /entry:main
cl.exe output test.asm:
cl.exe
test.asm
; Line 7 mov DWORD PTR _temp$[ebp], OFFSET $SG5652 mov DWORD PTR _temp$[ebp+4], OFFSET $SG5653 mov DWORD PTR _temp$[ebp+8], OFFSET $SG5654 ; Line 8
masm_shc.exe output test_a.asm:
masm_shc.exe
test_a.asm
; Line 7 CALL after_$SG5652 $SG5652 DB '123', 00H after_$SG5652: POP DWORD ; mov DWORD PTR _temp$[ebp], OFFSET $SG5652 CALL after_$SG5653 $SG5653 DB 'xxx', 00H after_$SG5653: POP DWORD
expect:
POP DWORD PTR _temp$[ebp]
actual:
POP DWORD
Thank you for your contribution, it works very well now!
masm_shc string inline error
reproduce
source file
test.cpp
:use
test.bat
to build:cl.exe
outputtest.asm
:masm_shc.exe
outputtest_a.asm
:expect:
actual: