Как создать сегмент кода в masm32 без использования директивы .code? - PullRequest
0 голосов
/ 07 января 2019

Я знаю, что .code используется для упрощения объявления сегмента кода в masm. Но мне нужно использовать полную форму декларации. Все дело в том, что это не работает для меня.

.386
.model flat, stdcall
option casemap : none
include \masm32\include\windows.inc 
include \masm32\include\kernel32.inc 
includelib \masm32\lib\kernel32.lib 
SEGB SEGMENT PARA private 'data'
    B  dw  127
SEGB ends
SEGA SEGMENT PARA private 'data'
    A  dw  122           
SEGA ends

SEGCODE SEGMENT PARA private 'code'
start:
    ASSUME cs:SEGCODE, ds:SEGB, ss:nothing
    mov ax, 0
    mov ax, A   
    invoke ExitProcess,0 
end start
SEGCODE ends

Я ожидаю, что это должно работать, но получил следующее сообщение: cannot have implicit far jump or call to near label. Давка на линии invoke ExitProcess,0. С .code все работало нормально.

...