/programs/other/outdated/param/trunk/cmdipc.inc |
---|
0,0 → 1,221 |
include "..\..\..\..\macros.inc" |
initipc: |
mov eax,9 |
mov ebx,prc |
or ecx,-1 |
mcall |
mov ecx,eax |
loop1: |
push ecx |
mov eax,9 |
mov ebx,prc |
mcall |
cmp word [prc+10],'CM' |
jne no_cmd |
cmp byte [prc+12],'D' |
jne no_cmd |
mov ebx,[prc+30] |
mov dword [cmdpid],ebx |
mov dword [cmdnumb],ecx |
no_cmd: |
pop ecx |
loop loop1 |
cmp dword [cmdpid],0 |
jne no_exit |
jmp exit |
no_exit: |
mov eax,60 |
mov ebx,2 |
mov ecx,dword [cmdpid] |
mov edx,printf |
mov esi,4 |
mcall |
call initcmd |
waitcmdinit: |
mov eax,40 |
mov ebx,01000000b |
mcall |
mov eax,23 |
mov ebx,100 |
mcall |
cmp eax,7 |
je cmd_ok |
jmp exit |
cmd_ok: |
cmp byte [ipcb+16],'.' |
jne exit |
mov eax,18 |
mov ebx,3 |
mov ecx,dword [cmdnumb] |
mcall |
ret |
pause1: |
mov eax,5 |
mov ebx,1 |
mcall |
ret |
exit: |
or eax,-1 |
mcall |
cls: |
mov eax,60 |
mov ebx,2 |
mov ecx,dword [cmdpid] |
mov edx,ipccls |
mov esi,4 |
mcall |
call pause1 |
ret |
print: |
mov ecx,84 |
loopprt: |
mov edi,stripc |
add edi,ecx |
mov esi,fill_symbol |
movsb |
loop loopprt |
cld |
mov ecx,4 |
mov edi,stripc |
mov esi,printf |
rep movsb |
cld |
mov edx,79 |
sub edx,eax |
mov ecx,79 |
sub ecx,edx |
mov edi,stripc+4 |
mov esi,ebx |
rep movsb |
mov eax,60 |
mov ebx,2 |
mov ecx,dword [cmdpid] |
mov edx,stripc |
mov esi,84 |
mcall |
call pause1 |
ret |
eol: |
mov eax,60 |
mov ebx,2 |
mov ecx,dword [cmdpid] |
mov edx,ipceol |
mov esi,4 |
mcall |
call pause1 |
ret |
initcmd: |
mov eax,60 |
mov ebx,2 |
mov ecx,dword [cmdpid] |
mov edx,ipckey |
mov esi,4 |
mcall |
mov eax,60 |
mov ebx,1 |
mov ecx,ipcb |
mov edx,28 |
mcall |
cld |
mov ecx,28 |
mov edi,ipcb |
mov esi,ipcc |
rep movsb |
ret |
getkey: |
call initcmd |
waitagain: |
mov eax,40 |
mov ebx,01000000b |
mcall |
mov eax,10 |
mcall |
cmp eax,7 |
jne waitagain |
mov edi,key |
mov esi,ipcb+16 |
movsb |
ret |
endipc: |
mov eax,60 |
mov ebx,2 |
mov ecx,dword [cmdpid] |
mov edx,ipcend |
mov esi,4 |
mcall |
jmp exit |
cmdpid dd 0 |
cmdnumb dd 0 |
printf db '~ppp' |
ipceol db '~lll' |
ipcend db '~eee' |
ipccls db '~ccc' |
ipckey db '~kkk' |
key db 0 |
ipcb: |
db 0 |
db 0,0,0 |
dd 8 |
times 20 db 0 |
ipcc: |
db 0 |
db 0,0,0 |
dd 8 |
times 20 db 0 |
stripc: times 84 db 0 |
fill_symbol db 0 |
prc: times 52 db 0 |
Property changes: |
Added: svn:eol-style |
+native |
\ No newline at end of property |
/programs/other/outdated/param/trunk/Tupfile.lua |
---|
0,0 → 1,3 |
if tup.getconfig("NO_FASM") ~= "" then return end |
tup.rule("echo lang fix " .. ((tup.getconfig("LANG") == "") and "en" or tup.getconfig("LANG")) .. " > lang.inc", {"lang.inc"}) |
tup.rule({"param.asm", extra_inputs = {"lang.inc"}}, "fasm %f %o " .. tup.getconfig("KPACK_CMD"), "param") |
/programs/other/outdated/param/trunk/build_en.bat |
---|
0,0 → 1,5 |
@erase lang.inc |
@echo lang fix en >lang.inc |
@fasm param.asm param |
@erase lang.inc |
@pause |
/programs/other/outdated/param/trunk/build_ru.bat |
---|
0,0 → 1,5 |
@erase lang.inc |
@echo lang fix ru >lang.inc |
@fasm param.asm param |
@erase lang.inc |
@pause |
/programs/other/outdated/param/trunk/param.asm |
---|
0,0 → 1,56 |
use32 |
org 0x0 |
db 'MENUET01' |
dd 0x01 |
dd START |
dd I_END |
dd 0x100000 |
dd 0x7fff0 |
dd I_PARAM ; 㪠§ â¥«ì ¯ à ¬¥âàë |
include "lang.inc" |
include "cmdipc.inc" ; ®¤ª«îç¨âì ä ©« CMDIPC.INC |
START: |
call initipc ; ¨¨æ¨ «¨§¨à®¢ âì ¤«ï à ¡®âë á CMD |
mov eax,47 ; ¢ë¢¥á⨠ᮮ¡é¥¨¥ |
mov ebx,mess |
call print |
call eol ; ¯à®¯ãáâ¨âì áâபã |
call eol |
cmp [I_PARAM],byte 0 ; ¯à®¢¥à¨âì, ¥áâì «¨ ¯ à ¬¥âàë |
jz noparam |
mov eax,43 |
mov ebx,mess1 |
call print |
call eol |
mov eax,30 ; ¢ë¢¥á⨠¯ à ¬¥âàë |
mov ebx,I_PARAM |
call print |
jmp end1 ; ¯¥à¥å®¤ ¢ ª®¥æ ¯à®£à ¬¬ë |
noparam: |
mov eax,40 ; ¢ë¢¥á⨠ᮮ¡é¥¨¥ ® ⮬, çâ® ¥â ¯ à ¬¥â஢ |
mov ebx,mess2 |
call print |
end1: |
jmp endipc ; § ¢¥àè¨âì ¯à®£à ¬¬ã |
mess db 'PARAM.ASM - Test params in IPC programs for CMD' |
mess1 db 'This program was started with this params: ' |
mess2 db 'This program was started without params!' |
I_PARAM db 0 |
I_END: |
Property changes: |
Added: svn:eol-style |
+native |
\ No newline at end of property |