сборка masm число встречаемости [дубликат]

Пожалуйста, проверьте, как только выбранная база данных не была вызвана, потому что некоторая база данных не выбрана

Проверьте

mysql_select_db('database name ')or DIE('Database name is not available!');

перед запросом MySQL, а затем перейдите к следующему шагу

$result = mysql_query('SELECT * FROM Users WHERE UserName LIKE $username');

f($result === FALSE) {
    die(mysql_error());
2
задан rkhb 25 December 2015 в 19:57
поделиться

2 ответа

Я получаю только пустой экран окна cmd

search:
    mov ecx,elementcount
    cmp eax,[esi]
    je L1
    add esi,4
    loop search

Это бесконечный цикл, потому что вы сбросите счетчик ecx на каждой итерации. Переместите выделение ecx вне цикла, и вы должны быть в порядке:

mov ecx,elementcount

search:
    cmp eax,[esi]
    je L1
    add esi,4
    loop search

Кстати, вы, вероятно, замените этот цикл на rep scasd, который, я считаю, делает то же самое. Не уверен, что это «лучше» в любом случае.

mov ecx,elementcount
rep scasd
je L1

Отказ от ответственности: код не проверен, и прошло несколько лет с момента создания x86 asm:)

3
ответ дан Martin 4 September 2018 в 09:29
поделиться

Вы просматриваете один массив несколько раз, не меняя его? Является ли массив длиной более восьми-десяти предметов? Если это так, самым быстрым способом сделать это с помощью алгоритма является создание массива и сортировка его во внешнем цикле, а затем всякий раз, когда вы хотите выполнить поиск во внутреннем цикле, выполните двоичный поиск. Бинарный поиск - O (log n), в то время как прямой линейный поиск, такой как вы здесь, - O (n).

Также, как совет, сортировка в сборке легко --- вызовите qsort. Это действительно не стоит писать свой собственный код машины!

0
ответ дан David Given 4 September 2018 в 09:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: