Witam.
Na wstępie chciałbym zaznaczyć, że dopiero co zaczynam naukę asemblera, więc niektórym pytanie może się wydać banalnie proste.
Napisałem kod w asemblerze:
[code]SSEG segment STACK
db 256 dup (?)
SSEG ends
DSEG segment
STRING db 'AGIJKSZ',0FFh
DSEG ends
CSEG segment
assume CS:CSEG,DS:DSEG,SS:SSEG
START proc FAR
push DS
push AX
mov BX, DSEG
mov DS,BX
call MAIN
retf
START endp
MAIN proc NEAR
mov SI, offset STRING
mov AH,'J'
CHKEND:
cmp byte ptr[SI], 0FFh
je NOFIND
cmp AH, [SI]
je GOT_EQAL
inc SI
jmp CHKEND
GOT_EQAL:
mov DL, [SI]
jmp DONE
NOFIND:
mov DL,'?'
DONE:
mov AH, 6
int 21h
ret
MAIN endp
CSEG ends
end[/code]
No i teraz wpisałem oczywiście:
tasm prog.asm
... wszystko poszło bez błędów, następnie wpisałem:
tasm prog.obj
... i wyskoczył błąd: "Fatal: Out Of Memory". Dodam że kompilowałem ten kod na laptopie z procesorem Intela 486 75 MHz, Windows 3.11, użyłem tasma16 i tlinka16, więc nie wiem co jest nie tak. Najlepsze jest jednak to, że ten sam kod skompilowałem na moim PC - AMD Athlon 800 MHz, Windows 2000 i tym razem przy linkowaniu wyskoczył błąd: "No Program Entry Point"... no to ja już nie wiem co jest w tym kodzie nie tak, skoro na żadnym komputerze nie chce się kontwertować z .obj na .exe.
Please, Help Me... !!! :-)