Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- === strtoi2 ===========================================
- 1. Описание:
- Реализация функции int strtoi2(const char *nptr, char **endptr) для основания 2 и типа int
- Программа принимает указатель на строку (в формате asciz) в регистре R1 и указатель на endptr в регистре R2.
- В ходе работы регисты R1, R2, R3, R4, R5 не меняются.
- Программа выполняет конвертацию строки (содержащей 0 и 1) в 16 битное число.
- Если в начале строки содержатся пробельные символы, то они пропускаются (пробельными считаются ' ', '\n', '\r')
- 2. Результат работы программы:
- 1. если программа успешно завершилась, то значение возвращается в регистре R0,
- в памяти по адресу endptr будет содержать адрес символа, следующего за последним преобразованным элементом.
- 2. если произошла ошибка, то endptr равен адресу nptr (в регистре R0 лежит 0).
- 3. Пример входных данных:
- Строка записанная ввиде
- "100100"
- будет кодироваться как
- 60 * 256 + 61, 61 * 256 + 60, 60*256 + 60, 0;
- (порядок байтов little endian)
- d 2000=005000
- d 2002=010146
- d 2004=010346
- d 2006=005003
- d 2010=010446
- d 2012=010546
- d 2014=004737
- d 2016=3000 call
- d 2020=012704
- d 2022=20
- d 2024=000401
- d 2026=112103
- d 2030=162703
- d 2032=60
- d 2034=002407
- d 2036=005303
- d 2040=003005
- d 2042=005203
- d 2044=006300
- d 2046=050300
- d 2050=077412
- d 2052=000401
- d 2054=005301
- d 2056=005702
- d 2060=001401
- d 2062=010112
- d 2064=012605
- d 2066=012604
- d 2070=012603
- d 2072=012601
- d 2074=000207 return
- d 3000=112103
- d 3002=122703
- d 3004=40
- d 3006=001774
- d 3010=122703
- d 3012=15
- d 3014=001771
- d 3016=122703
- d 3020=12
- d 3022=001766
- d 3024=000207 return
- === strnset ===========================================
- Функция char *strnset(char *str, int ch, size_t count)
- заменяет первые count символов строки str на символ ch и возвращает указатель на измененную строку.
- В случае, если длинна строки str меньше, чем count, то мы получим строку той же длинны, что и str, состоящую из символов ch.
- Строка str записывается в кодировке ASCIZ, то есть должна заканчиваться символом 0.
- В ходе выполнения подпрограммы будут разрушены R0, R1, R2.
- Перед вызовом функции положите адрес изменяемой строки (*str) в R0, символ (ch) в R1, счетчик (count) в R2.
- Функция вернет адрес измененной строки в R0.
- 005702
- 001406
- 010046
- 105710
- 001402
- 110120
- 077204
- 012600
- 000207 return
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement