WMmail.ru - сервис почтовых рассылок

четверг, 30 июня 2016 г.

RFpro.ru: Ассемблер? Это просто! Учимся программировать

 
Если выпуск не отображается, вы можете прочесть его на сайте
  

  
V90-DAC V90-DAC
Купить за 16299 руб. Подробнее...

  AVSC-2164 AVSC-2164
Купить за 29990 руб. Подробнее...

  Экран настенный Digis DSOB-1106 (Optimal-B, формат 1:1, 129", 240*240, MW) Экран настенный Digis DSOB-1106 (Optimal-B, формат 1:1, 129", 240*240, MW)
Купить за 28518 руб. Подробнее...

 
  
     
   RFpro.ru: Ассемблер? Это просто! Учимся программировать
  

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты в разделе

Коцюрбенко Алексей aka Жерар
Статус: Мастер-Эксперт
Рейтинг: 354
• повысить рейтинг »
andruxa2112
Статус: 1-й класс
Рейтинг: 1
• повысить рейтинг »
Куликов Роман Евгеньевич
Статус: 1-й класс
Рейтинг: 0
• повысить рейтинг »

• Assembler

Номер выпуска:1621
Дата выхода:30.06.2016, 19:21
Администратор рассылки:Лысков Игорь Витальевич (Старший модератор)
Подписчиков / экспертов:24 / 9
Вопросов / ответов:1 / 1

Консультация # 189617: Здравствуйте! Недавно решил начать изучать ассемблер по книге О.А.Калашникова 'Ассемблер - это просто'.Дело в том,что в книге говорится о сайте kalashnikoff.ru,откуда можно было бы приобрести необходимые программы-masm 6.11,masm32,codeview.Оказывается,что этот сайт уже не существует,но книга то существует)))Пожалуйста,помогите с программным...

Консультация # 189617:

Здравствуйте! Недавно решил начать изучать ассемблер по книге О.А.Калашникова 'Ассемблер - это просто'.Дело в том,что в книге говорится о сайте kalashnikoff.ru,откуда можно было бы приобрести необходимые программы-masm 6.11,masm32,codeview.Оказывается,что этот сайт уже не существует,но книга то существует)))Пожалуйста,помогите с программным обеспечением,дайте ссылки на скачивания этих программ.Я попробовал установить их самостоятельно,но были проблемы со совместительностью.У меня windows 7,64-разрядная операционная система.Буду благодарен за любую информацию


Дата отправки: 25.06.2016, 19:04
Вопрос задал: crazypunisher98 (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Лысков Игорь Витальевич (Старший модератор):

Здравствуйте, crazypunisher98!
Так понимаю, сами программы Вы нашли, но они у Вас не работают smile
Если бы сайт kalashnikoff.ru существовал, Вы бы там взяли те же самые программы, которые у Вас также бы не работали... Проблема в другом.
Как Вы правильно заметили, проблема в совместимости. Все эти программы рассчитаны на работу в 16-битной ДОС. И если ОС эмулирует среду ДОС, то все досовские программы прекрасно работают. Но в 64-битных системах отсутствует эмуляция 16-битных досовских программ!
Но выход всегда есть! Найдите DosBox. Под ней все заработает! Успехов!

Консультировал: Лысков Игорь Витальевич (Старший модератор)
Дата отправки: 29.06.2016, 12:30
Рейтинг ответа:

НЕ одобряю +1 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!

 
     Прошлые выпуски
RFpro.ru: Ассемблер? Это просто! Учимся программироватьRFpro.ru: Ассемблер? Это просто! Учимся программироватьRFpro.ru: Ассемблер? Это просто! Учимся программироватьВсе выпуски рассылки
 
 
Subscribe.Ru / АО «Интернет-Проекты» / О компании / Политика конфиденциальности

суббота, 25 июня 2016 г.

RFpro.ru: Ассемблер? Это просто! Учимся программировать

 
Если выпуск не отображается, вы можете прочесть его на сайте
  
  
Узнайте как стать эффективным менеджером! Вебинар 7 июля в 15.00 МИМ ЛИНК. Подробнее...
  

  
Music Style 500 Set 5.0 (500+200+c200) Music Style 500 Set 5.0 (500+200+c200)
Купить за 102330 руб. Подробнее...

  Targa HDTV (9:16) 302/119" 147x264 MW (моторизиров Targa HDTV (9:16) 302/119" 147x264 MW (моторизиров
Купить за 90441 руб. Подробнее...

  Music Style 900 + 200 + Center 2 + Sub 25A Music Style 900 + 200 + Center 2 + Sub 25A
Купить за 156240 руб. Подробнее...

 
  
     
   RFpro.ru: Ассемблер? Это просто! Учимся программировать
  

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты в разделе

Коцюрбенко Алексей aka Жерар
Статус: Мастер-Эксперт
Рейтинг: 368
• повысить рейтинг »
Куликов Роман Евгеньевич
Статус: 1-й класс
Рейтинг: 0
• повысить рейтинг »
Козлова Ольга Александровна
Статус: 1-й класс
Рейтинг: 0
• повысить рейтинг »

• Assembler

Номер выпуска:1620
Дата выхода:25.06.2016, 12:21
Администратор рассылки:Лысков Игорь Витальевич (Старший модератор)
Подписчиков / экспертов:24 / 8
Вопросов / ответов:1 / 1

Консультация # 189597: Уважаемые эксперты! Пожалуйста, ответьте на вопрос: Программа CompModel Жмакина Задание: Вывод на дисплей содержимого группы ячеек памяти в числовой форме (адрес и длина группы — параметры подпрограммы) Используемые ВУ: Дисплей, таймер Пояснение: Содержимое ячейки распаковывается (с учетом знака), каждая цифра преобразуется в соотве...

Консультация # 189597:

Уважаемые эксперты! Пожалуйста, ответьте на вопрос:

Программа CompModel Жмакина
Задание: Вывод на дисплей содержимого группы ячеек памяти в числовой форме (адрес и длина группы — параметры подпрограммы)
Используемые ВУ: Дисплей, таймер
Пояснение: Содержимое ячейки распаковывается (с учетом знака), каждая цифра преобразуется в соответствующий ASCII-код и выдается на дисплей. При переходе к выводу содержимого очередной ячейки формируется задержка 10 с

Дата отправки: 20.06.2016, 11:47
Вопрос задал: darkdimon (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Лысков Игорь Витальевич (Старший модератор):

Здравствуйте, darkdimon!

Код (Assembler) :: выделить код
;зададим  параметры программы  RD #92 ;адрес начала массива чисел  WR 90 ;ячейка памяти с адресом начала массива чисел  RD #4 ;количество чисел  WR 91 ;ячейка памяти с количеством  RDI #100123 ;-123  WR 92  RD #125 ;125  WR 93  RD #0 ;0  WR 94  RDI #100010 ;-10  WR 95    ;начало самой программы  RD #101 ;команда очистки дисплея  OUT 11 ;в регистр CR  RD #11 ;разрешаем дисплей с автоинкрементом адреса  OUT 11 ;в регистр CR    RD 90 ;адрес массива чисел в регистр R1  WR R1  RD 91 ;количество в R2  WR R2    ;основной цикл  M0:RD #250 ;зададим счетчик таймера 1 на порядка 10 сек   OUT 21 ;в регистр Т1  RDI 1101 ;k=01, автодекремент счета, без прерывания, включение таймера 1  OUT 22 ; в регистр CT1R    ;ждем, когда таймер отсчитает время  M1:IN 20 ;ждем флаг в регистре SR  JZ M1     ;останавливаем таймер  RDI 1000 ;выключаем таймер 1  OUT 22   RD #101 ;сбрасываем флаг отсчета времени в SR  OUT 20     CALL M ;считываем и выводим очередное число    RDI 32 ;отделим пробелом  OUT 10    JRNZ R2,M0 ;по всем числам массива    HLT ;останов    ;считывание и вывод знакового числа  M:RDI 0  WR R5 ;счетчик цифр = 0  RD @R1+ ;очередное число, с автоинкрементом адреса  WR R3 ;сохраним в R3  JNS LOOP ;число положительное?  ;для отрицательного выведем минус  RDI 45 ;'-'   OUT 10  RD R3 ;исходное число  MULI 100001 ;меняем знак на +, умножением на -1  WR R3 ;и сохраним в R3  LOOP: ;вывод положительного числа  ;сначала сформируем последовательность цифр числа  ;сохраним их в стеке, т.к. они будут использованы в обратном порядке  DIVI 10 ;делим на основание с.с. = 10  WR R4 ;сохраним частное в R4  MULI 10 ;опять умножим на 10, т.о. обнулили младший разряд  SUB R3 ;отняв исходное число, получим очередной разряд, но со знаком -  MULI 100001 ;сделаем его положительным  WR R6 ;сохраним в R6 для PUSH-а  PUSH R6 ;в стек!  RD R5 ;и считаем разряды  ADI 1  WR R5  RD R4 ;частное от деления на 10  JZ PRINT ;=0? если да, то разряды кончились  WR R3 ;иначе сохраним в R3  JMP LOOP ; и на повтор  PRINT: ;осталось вывести на дисплей  POP R6 ;получаем очередную цифру  RD R6 ;в аккумулятор  ADI 48 ;делаем из нее символ  OUT 10 ;и на экран  RD R5 ;уменьшаем счетчик цифр   SBI 1  JZ RETURN ;цифры кончились?  WR R5 ;нет - продолжаем  JMP PRINT  RETURN:  RET  

Консультировал: Лысков Игорь Витальевич (Старший модератор)
Дата отправки: 21.06.2016, 20:56

5
благодарю
-----
Дата оценки: 22.06.2016, 18:19

Рейтинг ответа:

НЕ одобряю +1 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!

 
     Прошлые выпуски
RFpro.ru: Ассемблер? Это просто! Учимся программироватьRFpro.ru: Ассемблер? Это просто! Учимся программироватьRFpro.ru: Ассемблер? Это просто! Учимся программироватьВсе выпуски рассылки
 
 
Subscribe.Ru / АО «Интернет-Проекты» / О компании / Политика конфиденциальности

вторник, 21 июня 2016 г.

RFpro.ru: Ассемблер? Это просто! Учимся программировать

 
Если выпуск не отображается, вы можете прочесть его на сайте
  

  
  
     
   RFpro.ru: Ассемблер? Это просто! Учимся программировать
  

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты в разделе

Коцюрбенко Алексей aka Жерар
Статус: Мастер-Эксперт
Рейтинг: 364
• повысить рейтинг »
Куликов Роман Евгеньевич
Статус: 1-й класс
Рейтинг: 0
• повысить рейтинг »
Козлова Ольга Александровна
Статус: 1-й класс
Рейтинг: 0
• повысить рейтинг »

• Assembler

Номер выпуска:1619
Дата выхода:21.06.2016, 19:21
Администратор рассылки:Лысков Игорь Витальевич (Старший модератор)
Подписчиков / экспертов:24 / 8
Вопросов / ответов:1 / 1

Консультация # 189590: Здравствуйте! Прошу помощи в следующем вопросе: учил ассемблер и заметил что в одном уроке на fasm завершение программы пишут (на сайте)
Код (Assembler) :: выделить код
  
...

Консультация # 189590:

Здравствуйте! Прошу помощи в следующем вопросе:
учил ассемблер и заметил что в одном уроке на fasm завершение программы пишут (на сайте)

Код (Assembler) :: выделить код
  mov ax, 4c00h  int 21h

а в masm (в книге) уже
Код (Assembler) :: выделить код
int  20h

это разница в языке программирования (разновидность языка ассемблер) или компиляторов?
в обоих случаях это .com файлы запускал под DOS, вот примеры
fasm
Код (Assembler) :: выделить код
use16               ;Генерировать 16-битный код  org 100h            ;Программа начинается с адреса 100h         mov ax,255      ;Поместить 255 в регистр AX      inc ax          ;Увеличить содержимое AX на 1      nop             ;Эта команда ничего не делает      mov bx,ax       ;Поместить в BX содержимое AX         mov ax,4C00h    ;\      int 21h         ;/ Завершение программы  


masm
Код (Assembler) :: выделить код
  CSEG segment  org 100h  Begin:       mov ah,9       mov dx,offset Message       int 21h       ;-----------       int 20h       ;-----------  Message db 'Hello, world!$'  CSEG ends  end Begin  

Дата отправки: 16.06.2016, 18:58
Вопрос задал: arti-779 (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Лысков Игорь Витальевич (Старший модератор):

Здравствуйте, arti-779!

© Цитата:
это разница в языке программирования (разновидность языка ассемблер) или компиляторов?
Нет, это два способа завершения программы.
mov ax, 4c00h  int 21h
Это более универсальный способ. С его помощью можно завершать любую программу, как EXE, так и COM
Кроме того, в AL можно задать код возврата (который можно проанализировать в BAT-файле по ERRORLEVEL)
int  20h
Это более упрощенный выход. У него есть ограничение: на момент вызова в CS должен быть адрес сегмента PSP.
Но такому условию удовлетворяют практически все COM-программы. Поэтому чаще всего в них и используется.
Эта возможность, упомянутая в мини-форуме Константином Николаевичем, сводится к выходу по int 20h
Т.к. команда RET извлечет из вершины стека смещение-адрес возврата (а там обычно 0) и передаст туда управление.
А по смещению 0 лежит PSP, в первых 2 байтах которого записана команда int 20h, по которой программа и завершается :)
Надо сказать, что это не совсем корректно... Вполне может статься, что нуля в вершине стека может и не оказаться...
Но в большинстве случаев работает...

Консультировал: Лысков Игорь Витальевич (Старший модератор)
Дата отправки: 18.06.2016, 13:45
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!

 
     Прошлые выпуски
RFpro.ru: Ассемблер? Это просто! Учимся программироватьRFpro.ru: Ассемблер? Это просто! Учимся программироватьRFpro.ru: Ассемблер? Это просто! Учимся программироватьВсе выпуски рассылки
 
 
Subscribe.Ru / АО «Интернет-Проекты» / О компании / Политика конфиденциальности