Find Jobs
Hire Freelancers

Assembler RegExp

$30-50 USD

В роботі
Опублікований about 20 years ago

$30-50 USD

Оплачується при отриманні
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.
ID проекту: 3149438

Про проект

3 пропозицій(-ї)
Дистанційний проект
Активність 20 yrs ago

Хочете заробити?

Переваги подання заявок на Freelancer

Вкажіть свій бюджет та терміни
Отримайте гроші за свою роботу
Опишіть свою пропозицію
Реєстрація та подання заявок у проекти є безкоштовними
Доручений:
Аватарка користувача
See private message.
$42,50 USD за 60 дні(-в)
4,9 (4 відгуки(-ів))
1,4
1,4
3 фрілансерів(-и) готові виконати цю роботу у середньому за $41 USD
Аватарка користувача
See private message.
$42,50 USD за 60 дні(-в)
0,0 (1 відгук)
0,0
0,0
Аватарка користувача
See private message.
$38,25 USD за 60 дні(-в)
0,0 (0 відгуки(-ів))
0,0
0,0

Про клієнта

Прапор UNITED STATES
United States
0,0
0
На сайті з лип. 30, 2003

Верифікація клієнта

Дякуємо! Ми надіслали на вашу електронну пошту посилання для отримання безкоштовного кредиту.
Під час надсилання електронного листа сталася помилка. Будь ласка, спробуйте ще раз.
Зареєстрованих користувачів Загальна кількість опублікованих робіт
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Завантажуємо для перегляду
Дозвіл на визначення геолокації надано.
Ваш сеанс входу закінчився, і сеанс було закрито. Будь ласка, увійдіть знову.