Find Jobs
Hire Freelancers

Assembler RegExp

$30-50 USD

W trakcie realizacji
Opublikowano około 20 lat temu

$30-50 USD

Płatne przy odbiorze
I need a single procedure written in 16-bit assembly which accepts three strings (pointers). The function definition follows: regexp source, pattern, submatches As mentioned above, the 3 parameters are all 16-bit pointers to near strings. "source" is the string to be parsed and can contain any ascii value accept NULL. This string will be NULL terminated. Its location will be assumed to be [DS:source]. "pattern" will be the regexp pattern. The following symbols should be supported with thier standard meanings: *, +, ?, {}, ., x|y, (x), [abc], [^abc], a-z, \, % Pattern notes: {} accepts only one parameter (the number of times the preceding character will repeat). (x) always denotes a submatch range ("?:" is not supported). \ always escapes a literal (no "special characters" are supported). % denotes a hex literal (%0A denotes newline, %20 space, etc...). Submatches is the procedure OUTPUT and be the only modified parameter. It will always be defined as 255 characters long and may contain NULLs on input. It's format is: 1. One or more 1-byte pointers which point to each sub match string (offset from start of "submatches"). 2. One NULL to mark the end of the pointer-list. 3. One of more NULL-terminated submatch strings. For example: Source: "Robert Edward Lee" Pattern: "([^%20]+)%20([^%20]+)%20([^%20]+)" Submatches: 0x04 0x0B 0x11 0x00 "Robert" 0x00 "Edward" 0x00 "Lee" 0x00 Disclaimer: The above is just a general idea and may actually be incorrect, I didn't test that pattern. Also, submatches was done by hand. Only one match needs to be returned. If no matches are found just set submatches to 0x00 and return. The pattern will always start at the beginning of input and always end at the end of input. Please read deliverables for details. ## Deliverables TASM Ideal mode syntax is prefered. If you plan to use MASM syntax please let me know in your bid. AT&T syntax will not be accepted. A stack frame must be created. Procedure must use the stack for all parameters and use only local variables defined on the stack. Assume C calling conventions (don't clean up the stack and mind parameter order). AX should return a standard error code (0x0000 for success). Finding no matches should be error code 0xFFFF. Other error codes can be defined if required for other operational failures (invalid pattern, etc). That's optional. All code must be well commented. Don't bother describing the function itself but keep in mind that I will be modifying your code furthor at a later date. Just code like you would if you knew someone else has to go back and read it. If you want to break your code into additional procedures to be called indirectly by yours (for recursion, etc...) thats fine, and is in fact prefered if you can make the code easier to understand by breaking it down. But please prefix support procedures with "RgEx_". Otherwise, please use descriptive symbol names (labels, variables, procedures, constants). Use constants where appropriate instead of literals and magic numbers. Define globally if required. All deliverables should be included in a .ASM file. Please test and debug your work and let me know what assembler and linker options your using. Provide a test module if you have one (optional). 1) Complete and fully-functional working procedure as complete source code (no exe required). 2) Deliverables must be in ready-to-run condition. 3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc). ## Platform 16-bit assembly. 8086 through 80386. DOS 6.22. TASM Ideal mode preferred.
Identyfikator projektu: 3149438

Informację o projekcie

3 ofert
Zdalny projekt
Aktywny 20 lat temu

Szukasz sposobu na zarobienie pieniędzy?

Korzyści ze składania ofert na Freelancer.com

Ustal budżet i ramy czasowe
Otrzymuj wynagrodzenie za swoją pracę
Przedstaw swoją propozycję
Rejestracja i składanie ofert jest bezpłatne
Przyznano:
Awatar Użytkownika
See private message.
$42,50 USD w 60 dni
4,9 (4 opinii)
1,4
1,4
3 freelancerzy składają oferty o średniej wysokości $41 USD dla tej pracy
Awatar Użytkownika
See private message.
$42,50 USD w 60 dni
0,0 (1 opinia)
0,0
0,0
Awatar Użytkownika
See private message.
$38,25 USD w 60 dni
0,0 (0 opinii)
0,0
0,0

O kliencie

Flaga UNITED STATES
United States
0,0
0
Członek od lip 30, 2003

Weryfikacja Klienta

Dziękujemy! Przesłaliśmy Ci e-mailem link do odebrania darmowego bonusu.
Coś poszło nie tak podczas wysyłania wiadomości e-mail. Proszę spróbować ponownie.
Zarejestrowani Użytkownicy Całkowita Liczba Opublikowanych Projektów
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Wczytywanie podglądu
Udzielono pozwolenia na Geolokalizację.
Twoja sesja logowania wygasła i zostałeś wylogowany. Proszę, zalogować się ponownie.