Помощь ассемблерному ламеру

Assembler programming questions
  • to lamers by lamers :)
    ошибка здесь:
    shl [kbr],8 ;сдвигаем на 8 бит сдвиг работает так (не знаю как объяснить :): shl(00110101)==01101010
    Надо делать вроде:
    mov ebx,kbr ;копируем адрес начала строки в ebx
    add ebx,[kbs]; добавляем длину==текущий символ
    mov [ebx],ah; копируем в память по адрему, что в ebx ah
    inc [kbs]; увеличиваем длину строки на 1
    jmp draw_window

    bottom:
    kbs dd 0; фасм помоему обнуляет dx ? объявления, но с чем чёрт :)
    Должно работать, проверить негде...
  • и ещё фикс:
    draw_text_input:
    mov eax,4
    mov ebx,8*65536+8
    mov ecx,0
    mov edx,kbr ;отображаем переменную
    ;mov esi,kbs ;копируется адрес переменной
    mov esi,[kbs]; копируется значение
    int 0x40
    ret
  • Menuet обнуляет неинициализированные переменные. А FASM, если они попадают в код, также полагает равными нулю.
  • О спасибо, с каждым таким советом я становлюсь ассемблерщиком всё больше и больше!...
  • ipr,а ты какие языки программирования знаеш,сколько лет программируеш(какой опыт),как долго изучаеш ассемблер ?

    (просто мне интересно узнать участников форума)
  • в лет 10 первый раз познакомился с компьютером, правда со спеутрумом, и почти сразу учил его
    бейсик. Затем был писюк, изучал сиснтаксис Qbasic'a. Потом C, C++. С тех времён прошло 8 лет, то бишь
    мне 18. Вот... А, да, сейчас учу ассемблер... А из планов следуюющее выучить Pascal/Delphi,Pithon и т.п. и т.д.
    В общем знать побольше языков.
  • Мне тоже 18,только мне так не повезло с компьютером.Впервые я увидел компьютер в 12 лет в школе(а что вы хотите- в селе ведь жил) - это был советский компьютер "ЭЛЕКТРОНИКА БК 0010-01".Программ к нему совершенно небыло и я учился программировать на бейсике.А через два года я увидел современный компьютер(но так как он был не моим,то на этом все и закончилось).Потом чудом мне удалось раздобыть книгу по DEC- овскому ассемблеру для электроники.Электроника была с 16!!! разрядным процессором частотой 3 мегагерца.Процессор содержал 64 команды(конечно там были mov,shr,shl,add,inc и другие команды).Я получал удовольствие от программировании(оптимизации) на ASM такого слабого(по современным меркам) процессора.Он был моим компьютером вплоть до 2003 года.В 2003 году,когда я стал учиться в университете,за пол года я освоил все устройство современного компьютера(до этого я ничего не знал об операционных системах и прочих элементарных вещах) и выучил Pascal.(а также узнал-что такое интернет и "с чем его едят")Начал изучать C++ - честно скажу он мне непонравился(я та и не закончил его изучение).Летом 2004 года мне купили компьютер,вот тогда я и попробовал ASM для х86 машин.Я быстро освоил этот ассемблер(сказался опыт DEC-овского асма).Ну вот собственно говоря и на этом пока заканчивается мое развитие в области языков программирования.(после асма изучать языки высокого уровня мне совсем не хочется)
  • andrew_programmer
    А мне тоже C++ не нравится... А вот когда я попробовал кодить на асме оказалось прикольно!
    Первый шок был тогда, когда я сделал hello world на basic'e и на asm'e. На бейсике это чудо программерской
    мысли :) весило 33,6 КБ, а на асме (для доса) 16 байт.
  • VASA
    Да знаю я как shl/shr работает!
    По крайней мере так у меня вводимый символ отображался!
  • ламерки... хы хы
    ipr, если б ты был немного повнимательнее, то прочитал бы мои посты на счёт GUI компонент под МеОС, и прочитав внимательно
    ты понял бы что данной задачей (вводимая строка и т.п.) уже давно решается многими людьми (не только мною ))
    так же на сайте тов. Хекса mestack.narod.ru ты бы нашёл исходники моих компонент, в которых кстати применён ООП подход...
    также присутствуют понятные комментарии и разобраться в работе было бы не сложно... а уж потом бы задавал такие вопросы...

    все мы начинали с бейсиков на спектрумах и паскакалей на 386... так что кто круче в этом плане тут как то спрашивать не стоит :)
  • FreGL
    Я уже много раз говорил:
    Я изучаю асм, я пытаюсь реализовать всё сам. А когда
    вхожу в тупик, я задаю вопросы, потому что в исходниках путаюсь и теряюсь.
    А если я буду использовать библиотеки, то это будет ужас! Я буду знать
    что оно работает, а как не знаю. Вот...
  • ламерки... хы хы
    Дедовщину разводим?Я те дам! :)
    Все были такими...Для меня ламер - человек, который не хочет познавать новое, т.е. остаёться на одном и том-же уровне.
    ipr, если б ты был немного повнимательнее, то прочитал бы мои посты на счёт GUI компонент под МеОС, и прочитав внимательно
    ты понял бы что данной задачей (вводимая строка и т.п.) уже давно решается многими людьми (не только мною ))
    так же на сайте тов. Хекса mestack.narod.ru ты бы нашёл исходники моих компонент, в которых кстати применён ООП подход...
    Ты внимательно читал его предыдущий пост?Он же говорил, что ещё не изучал Паскаль и Дельфи, а ты хочешь, чтобы он реализовал ООП подход... ;) Вот когда ipr подучиться немного, то уж точно поможет с реализацией многих программ и фичь 8) .
    все мы начинали с бейсиков на спектрумах и паскакалей на 386... так что кто круче в этом плане тут как то спрашивать не стоит
    Бррр...Как вспомню те годы и QBasic, то страшно становиться... :) А вообще ностальгия по тем временам мучает часто ;)
  • Да, Хекс ты всё правильно понял. Я собираюсь серьёзно кодить под МеОСь.
  • Да... а я ведь тоже начинал с БК-0010. Классная была машина для своего времени. Хоть и слизана с PDP-11, но несовместима с ней, потому программное обеспечение и вся документация написана програмистами любителями исключительно на русском языке. :-)
    Свою первую программу на асме я написал именно для БК. Типа фонографа - запись и воспроизведение звука с однобитным разрешением + ограничение памяти, я использовал экранную область ОЗУ, итого паршивенький звук на 16 секунд. Но! Какое приятное чувство удовольствия от реализации задуманного дела. :-)
    Кстати DEC’овская система команд гораздо удобней и гибче чем x86. Одних только способов адрессации не меньше 16 видов, вот простор для полёта программерской мысли.
    А как вам ассемблер + дизассемблер + отладчик + текстовый редактор и всё это вмещается в 10 КБ! Даже Менует отдыхает!
    Дальше у меня был немного ZX-spectrum48, а дальше почти год ZX-128-Дельта с дисководом, правда, я на Спектрумах больше играл. Очень сложно переходить с одного ассемблера на другой, особенно если мнемоническое обозначение команд отличается.
    Ну, а дальше появился Cyrix233/32+Trident+HDD-800M за который я закончил выплачивать кредит 1 апреля этого года. :-)
    Хотя этот комп давно уже стоит у меня под столом, был бы монитор организовал бы локалку.
  • Who is online

    Users browsing this forum: No registered users and 7 guests