/programs/other/archer/trunk/@RCHER.ASM |
---|
110,7 → 110,7 |
else |
Msg 0 |
Msg 1 |
mcall 40,10000101b |
mcall 40,1000101b |
; jmp again |
CmdLine |
cmdl: |
/programs/other/archer/trunk/arcmacro.inc |
---|
261,8 → 261,8 |
;; mov esi,path |
mov edi,path |
xor eax,eax |
mov ecx,200 |
rep stosb |
mov ecx,(1024+16)/4 |
rep stosd |
;mov [get_loops],0 |
mov [dlg_pid_get],0 |
301,7 → 301,7 |
mov eax,60 |
mov ebx,1 ; define IPC |
mov ecx,path ; offset of area |
mov edx,150 ; size 150 bytes |
mov edx,1024+16 ; size |
int 0x40 |
mcall 40,1000111b |
309,7 → 309,7 |
; STEP 3 run SYSTEM XTREE with parameters |
; |
mcall 58,run_fileinfo |
mcall 70,run_fileinfo |
call redproc |
318,16 → 318,15 |
mov eax,23 |
mov ebx,50 ;0.5 sec |
int 0x40 |
dec eax |
jz mred |
dec eax |
jz mkey |
dec eax |
jz mbutton |
cmp al, 7-3 |
jz mgetmes |
cmp eax,1 |
je mred |
cmp eax,2 |
je mkey |
cmp eax,3 |
je mbutton |
cmp eax,7 |
je mgetmes |
; Get number of procces |
mcall 9,os_work,-1 |
mov ebp,eax |
405,14 → 404,14 |
ready: |
; |
; The second message get |
; Second message is 100 bytes path to SAVE/OPEN file |
; Second message is 1024 bytes path to SAVE/OPEN file |
; shl path string on 16 bytes |
; |
cld |
mov esi,path+16 |
mov edi,path |
mov ecx,200 |
rep movsb |
mov ecx,1024/4 |
rep movsd |
mov [edi],byte 0 |
jmp openoff |
428,11 → 427,11 |
dd 0,0 ; Type of dialog |
run_fileinfo: |
dd 16 |
dd 7 |
dd 0 |
dd param |
dd 0 |
dd os_work ; 0x10000 |
dd 0 |
;run_filepath |
db '/RD/1/SYSXTREE',0 |
/programs/other/archer/trunk/data.inc |
---|
68,8 → 68,8 |
; db '/hd/1/zip/test2.zip',0 |
end if |
db 0 |
rb 256-($-filename) |
I_END: |
rb 1024+16-($-filename) |
if SYS eq win |
cr_lf db 0xa,0xd |
/programs/other/archer/trunk/macros.inc |
---|
143,6 → 143,11 |
; language for programs |
lang fix ru ; ru en fr ge fi |
; optimize the code for size |
__regs fix <eax,ebx,ecx,edx,esi,edi,ebp,esp> |
174,7 → 179,7 |
macro mov arg1,arg2 |
{ |
if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0')) |
if (arg1 in __regs) & (arg2 eqtype 0) |
if (arg2) = 0 |
xor arg1,arg1 |
else if (arg2) = 1 |
/programs/other/archer/trunk/sys.inc |
---|
385,12 → 385,26 |
} |
StartPad: |
; mcall 19,editorcmd,dumpfile |
pusha |
mov esi,[outfile.size] |
; dpd esi |
mov [par_fsize],esi |
mcall 19,editorcmd,editor_par |
; convert number in esi to decimal representation |
mov ecx, 10 |
push -'0' |
mov eax, esi |
@@: |
xor edx, edx |
div ecx |
push edx |
test eax, eax |
jnz @b |
mov edi, par_fsize |
@@: |
pop eax |
add al, '0' |
stosb |
jnz @b |
mcall 70,fileinfo |
mov ecx,eax |
mcall 5,20 |
mcall 60,2,,[outfile.out];output |
398,7 → 412,13 |
popa |
ret |
editorcmd db 'TINYPAD ' |
fileinfo: |
dd 7 |
dd 0 |
dd editor_par |
dd 0 |
dd 0 |
db '/RD/1/TINYPAD',0 |
editor_par db '*' |
par_fsize dd ? |
par_fsize rb 11 |
end if |