Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на Assembler

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133

Открыть новую тему     Написать ответ в эту тему

ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Обсуждаются все вопросы, связанные с программированием на Ассемблере как общего так и конкретного характера.
 
важное примечание
для тех кто считает, что здесь место халявных исполнений курсовых и лабораторных работ.
тут обычно помогают тем, кто сам хоть что-то пытается понять и сделать, но что-то не понимает, что-то не получается...
ведь ассемблер изучают и задачки на нём дают обычно не менеджерам по продажам и даже не всем физ.-мат. специальностям
вы сами избрали этот путь? вот и идите по нему сами, ножками... с ручками и с головой...
 
короче, тут не сборище придурков-альтруистов, которым нечего делать и они ждут-не дождутся когда вы их попросите
что-то сделать _за_ вас
если позарез надо и вы даже готовы заплатить, тогда вам сюда
удачи
 
некоторые ресурсы
http://www.wasm.ru/ Самый популярный русскоязычный ресурс. https://wasm.in/
Ассемблер - книги (ASM, Assembler)
 
Просьба все большие листинги оформлять тегом more.
 
если вам вдруг не отвечают или ответ вас не устраивает
и вообще полезно прочитать всем спрашивающим

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 01:42 29-11-2006 | Исправлено: akaGM, 17:44 11-06-2020
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
A1exSun
а что не так-то?
например, можно не бояться вводить новые переменные...
 
Abs62
ну наверное...

Всего записей: 24116 | Зарегистр. 06-12-2002 | Отправлено: 21:10 18-03-2012
Abs62



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
A1exSun

Цитата:
количество каждой цифры в digits+цифра

Можешь использовать регистр и константу. Что-нибудь вроде "inc byte ptr [di+offset digits]".

----------
0 программистов ругал сердитый шеф
Потом уволил одного, и стало их FF

Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 21:28 18-03-2012
A1exSun



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Длинный код. Почему выводит пустую строку?
Сортировка пузырьком, код содран отсюда.

Всего записей: 1871 | Зарегистр. 25-11-2009 | Отправлено: 22:18 18-03-2012 | Исправлено: A1exSun, 22:30 18-03-2012
SERGE_BLIZNUK

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
A1exSun
для вывода текста функцией 9 нужно, чтобы в конце строки стоял знак '$'
этого можно добиться, например, так:

Код:
 
    ; виведення відсортованого рядка  
    lea di, text+1  
 
    mov bh, 0
    mov bl, [di]  
    mov byte ptr [di+bx+1], '$'
 
    lea dx, text+2  
    call print  
 

Всего записей: 2014 | Зарегистр. 12-09-2002 | Отправлено: 13:48 19-03-2012 | Исправлено: SERGE_BLIZNUK, 13:49 19-03-2012
A1exSun



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SERGE_BLIZNUK
Так это ведь:

Код:
text db 81, 0, 80 dup(0), '$'

Выводится именно пустая строка длиной в 80 символов, без текста, который там есть.
 
Хм.
 
 
Добавлено:
Спасибо!

Всего записей: 1871 | Зарегистр. 25-11-2009 | Отправлено: 15:13 19-03-2012 | Исправлено: A1exSun, 15:14 19-03-2012
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
A1exSun
а что там в тексте есть-то? нули? или 0"текст, который там есть"?
попробуй вывести тест без ввода с клавы:
 
text db 81, 'пример 1 3 5 пример', $'

Всего записей: 24116 | Зарегистр. 06-12-2002 | Отправлено: 15:46 19-03-2012
A1exSun



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
Да все уже ок. В завершающем $ была ошибка, хотя так и не понял почему.
Я думал должно выводится введенный текст + остальные 0, а выводились все 0 или хз. Пустота, пробелы.

Всего записей: 1871 | Зарегистр. 25-11-2009 | Отправлено: 16:06 19-03-2012
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
A1exSun
интересно, а какое граф. представление нуля ? :)
 

Цитата:
В завершающем $ была ошибка
понял, ты его не в той раскладке набрал :)

Всего записей: 24116 | Зарегистр. 06-12-2002 | Отправлено: 17:55 19-03-2012
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
Что будет при

Код:
 
   inc byte ptr es:[di][bp]  
 

Но я думаю даже не каждому хакеру понятно. А почему собственно вместо bp не юзать dx?

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 19:50 19-03-2012
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
delover
при чём тут я?
ты меня во всех трейдах преследуешь...

Всего записей: 24116 | Зарегистр. 06-12-2002 | Отправлено: 20:24 19-03-2012
A1exSun



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребят, а чего здесь не так:

Код:
    sort proc  
         do_loop_top:  
         mov si, 0 ; i  
         mov di, 0 ; i+1  
         inc di  
         mov dh, 0 ; exchanges  
         dec dl ; n  
     for_loop:  
         mov ch, 0  
         mov cl, dl  
     for_loop_top:  
         jcxz  for_loop_done  
         mov al, [bx+si]  
         cmp al, [bx+di]  
         jle nexti  
         mov ah, [bx+di]  
         mov [bx+di], al  
         mov [bx+si], ah  
         inc dh ; exchanges++  
     nexti:  
         inc si  
         inc di  
         dec cx  
         jmp for_loop_top  
     for_loop_done:  
         cmp dh, 0  
         jg do_loop_top  
         ret  
     sort endp

Почему после сортировки первой оказывается кириллица, потом цифры и латиница?

Всего записей: 1871 | Зарегистр. 25-11-2009 | Отправлено: 22:07 19-03-2012
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
но все хоть по порядку? кирилица особенно

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 22:13 19-03-2012
A1exSun



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzzz
Да, все правильно. Пофиг, но интересно. Алгоритм взят по ссылке что я писал выше.

Всего записей: 1871 | Зарегистр. 25-11-2009 | Отправлено: 22:15 19-03-2012
Abs62



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
A1exSun

Цитата:
Почему после сортировки первой оказывается кириллица, потом цифры и латиница?

А потому, что работаешь с char, а не с unsigned char. Неужто в C с такими нюансами не сталкивался?

----------
0 программистов ругал сердитый шеф
Потом уволил одного, и стало их FF

Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 22:21 19-03-2012
A1exSun



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Abs62
Как работать с unsigned char на ассемблере?

Всего записей: 1871 | Зарегистр. 25-11-2009 | Отправлено: 22:30 19-03-2012
Abs62



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
A1exSun
Применять беззнаковое сравнение вместо знакового. jbe вместо jle и т.д. Как минимум.

----------
0 программистов ругал сердитый шеф
Потом уволил одного, и стало их FF

Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 22:35 19-03-2012 | Исправлено: Abs62, 22:37 19-03-2012
A1exSun



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Abs62
Спасибо

Всего записей: 1871 | Зарегистр. 25-11-2009 | Отправлено: 23:26 19-03-2012
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
люди а что неправильно? ошибка 87 неправильный параметр

Цитата:
    invoke CreateProcess,NULL,addr MyProg,NULL,NULL,FALSE,NORMAL_PRIORITY_CLASS,NULL,NULL, addr StartupInfo, addr hProcess
    invoke SetWindowsHookEx,WH_CALLWNDPROC,addr HookProc,NULL,hProcess.dwThreadId
    mov hHook, eax

 
Добавлено:
понял уже - это совершенно другой ид треда

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 14:10 21-03-2012
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
посоветуй те такую фигню
мне надо расширенные стили окна отключить в винде. может это можно вообще централизовано сделать. а если нельзя то какой лучше путь избрать - хукнуть конкретную программу и ловить ее окна, или спласингом всю процедуру
я пока в самом начале и конца не вижу куда мне все заведет.

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 17:10 21-03-2012
A1exSun



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Глупый вопрос - как 2012 поделить на 100?

Код:
mov ax, 2012
mov bh, 100
div bh

Ошибка переполнения. Почему?

Всего записей: 1871 | Зарегистр. 25-11-2009 | Отправлено: 20:49 21-03-2012
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на Assembler


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru