Subversion Repositories Kolibri OS

Compare Revisions

No changes between revisions

Regard whitespace Rev 2837 → Rev 2838

/programs/other/luhna/build.bat
0,0 → 1,7
@fasm luhna.asm luhna
@kpack luhna
@pause
 
 
 
 
/programs/other/luhna/luhna.asm
0,0 → 1,94
; LuhnA - Luhn algorithm
; by Albom
 
use32
org 0
db 'MENUET01'
dd 1
dd _start
dd _end
dd _memory
dd _stack
dd _param
dd 0
 
include '../../macros.inc'
 
 
align 4
_start:
 
mov al, [_param]
test al, al
jz exit
 
call luhna
xor edx, edx
mov ecx, 10
div ecx
 
test edx, edx
jz valid
mov ebx, msg_not
jmp print
valid:
mov ebx, msg_valid
 
print:
mov [notifyapp+2*4], ebx
mcall 70, notifyapp
 
 
exit:
mcall -1
 
 
 
 
align 4
luhna:
xor edx, edx
xor ecx, ecx
xor eax, eax
mov esi, _param
@@:
lodsb
test al, al
jz .exit
sub al, '0'
mov dl, [odd+eax]
add ecx, edx
lodsb
test al, al
jz .exit
sub al, '0'
add ecx, eax
jmp @b
.exit:
mov eax, ecx
ret
 
align 4
msg_not db 'NOT '
msg_valid db 'VALID', 0
 
align 4
odd: db 0, 2, 4, 6, 8, 1, 3, 5, 7, 9
 
align 4
notifyapp:
dd 7
dd 0
dd 0 ;  ¤à¥á á®®¡é¥­¨ï
dd 0
dd 0
db '@notify', 0
 
 
_end:
align 4
rb 256
_stack:
align 4
_param rb 256
_memory:
/programs/other/luhna/readme.txt
0,0 → 1,9
 
LuhnA - àëãîðèòì Ëóíà (Luhn algorithm) äëÿ ïðîâåðêè ïðàâèëüíîñòè íîìåðà áàíêîâñêîé êàðòû.
 
Åù¸ îäíà áåñïîëåçíàÿ óòèëèòà. Íàïèñàíà â ýëåêòðè÷êå íà ëèñòå áóìàãè, äëÿ ðàçâëå÷åíèÿ è ðàçìèíêè ìîçãà.
http://ru.wikipedia.org/wiki/Àëãîðèòì_Ëóíà
 
================
Albom
01/07/2012
/programs/other/luhna
Property changes:
Added: tsvn:logminsize
+5
\ No newline at end of property