Форум программистов, компьютерный форум, киберфорум
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Assembler this system does not support fullscreen mode https://www.cyberforum.ru/ assembler/ thread882161.html
this system does not support fullscreen mode В чем может быть ошибка?
Assembler Какое будет содержимое регистров после выполнения данного фрагмента программы
Уважаемые форумчане! Подскажите пожалуйста каково буде содержание регистра ECX в десятичном формате после выполнения следующей программы: MOV ECX,28 CLD MOV AL,100 LEA EDI,STRING REPNE SCASB ---------------------------------------- STRING DB "Abcdefghijklmnop qrstuvwxyz"
Assembler проверка оборудования https://www.cyberforum.ru/ assembler/ thread881675.html
прошу помощи. напишите код с комментариями. заранее спасибо. для компьютера на своем рабочем столе определить: - тип компьютера; - версию MS-DOS; - число дисковых накопителей; - тип и число видеоадаптеров; - число периферийных устройств; - количество памяти;
Assembler Ассемблер.повторное нажатие клавиши и использование таймера tasm Есть программа, в которой прорисовывается фигура и при нажатии любой клавиши должна начинаться смена цвета. Подскажите, пожалуйста, как сделать, чтобы при повторном нажатии той же клавиши или после 7 секунд смена цвета останавливалась Процедура смены цвета: changcv proc inc color call zvezda jmp changcv ret https://www.cyberforum.ru/ assembler/ thread880292.html
Запрет на удаление файла Assembler
Задача: Резидентная программа по горячей клавише выводит окно, в котором с помощью клавиш 'стрелка вверх' и 'стрелка вниз' выбирается режим работы с файлами, т.е. тип файлов, которые нельзя удалять. В случае попытки удалить файл с выбранным расширением, программа выдает сообщение. Предусмотреть возможность выгрузки программы и защиту от повторной загрузки. Состоит из двух программ: основной и...
Assembler Идентификация производителя монитора https://www.cyberforum.ru/ assembler/ thread879437.html
Здравствуйте, не первый день пытаюсь найти способ узнать (идентифицировать) производителя монитора. Например (из аиды64): ID монитора SAM0691 Программу нужно написать на TASM, нашёл только информацию по EnumDisplayDevices, но как реализовать не знаю, и ещё вычитал про прерывание INT 1Dh, но про него тоже не где нечего нет...
Assembler Графика MASM Помогите доделать! не могу понять почему движение фигуры происходит только наискось, а должна влево вправо вверх и вниз. вроде все правильно но не работает, помогите разобраться... data segment col db ? horiz dw ? vert dw ? https://www.cyberforum.ru/ assembler/ thread879186.html Часы вторым каналом таймера Assembler
Надо запилить часы с помощью второго канала системного таймера, именно второго, не используя нулевой, с его перерыванием. Где то на просторах интернета, нарыл код, просто стартуем канал в режиме 3, фиксируем значение регистра канала, отнимаем предыдущее значение от текущего, получаем разницу. Теперь в чем загвоздка - как узнать, с какой частотой декрементит свой счетчик второй канал таймера?
Assembler Связь ассемблера с Pascal https://www.cyberforum.ru/ assembler/ thread877335.html
Сформируйте массив, в котором соответствующий элемент является произведением элементов двух массивов. Помогитею.
Assembler Текстовый редактор - своя ОС Доброго времени суток. Задача: написать загрузчик, который выбирал бы либо unix(win) или свою ОС + написать свою ОС - текстовый редактор где можно заменять и удалять участки текста. Загрузчик: ;Bootloader entry-code main: cli ;Clear interrupts https://www.cyberforum.ru/ assembler/ thread877212.html
Как узнать откуда запущена программа? Assembler
напишите пожалуйста код ассемблерной вставки для делфи, например функцию, определяющую откуда запущена программа Добавлено через 15 минут Format of environment block: Offset Size Description 00h N BYTEs first environment variable, ASCIZ string of form "var=value" N BYTEs second environment variable, ASCIZ string ... N BYTEs last environment variable, ASCIZ string of form...
Assembler Почему в TASM нельзя сравнивать память-память? То есть я понимаю, что можно либо регистр-память, либо память-регистр, либо регистр-регистр. Но почему так? И существуют ли методы, как это обойти, кроме как заносить значение переменной в содержимое регистра? https://www.cyberforum.ru/ assembler/ thread875222.html
435 / 246 / 43
Регистрация: 05.08.2013
Сообщений: 1,670
06.10.2013, 18:27 0

FAQ для раздела Assembler, MASM, TASM - Assembler - Ответ 5145942

06.10.2013, 18:27. Показов 148282. Ответов 65
Метки (Все метки)

Ответ

сортировка вставками.
Assembler
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
format PE console
include 'include\win32a.inc'
entry start
 
section '.data' data readable writeable
        array dd 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, -100500
        size=($-array)/4
 
section '.code' code readable executable
start:
        stdcall insert_sort, array, size
        invoke ExitProcess, 0
 
insert_sort:
i equ ecx
j equ edx
        push ebp
        mov ebp, esp
        pushad
 
        mov esi, [ebp+8]     ;esi=array
        mov i, 1             ;i=1
is1:    cmp i, [ebp+12]      ;i<size
        ja is_exit
        mov eax, [esi+i*4]    ;eax=key=array[i]
        mov j, i              ;j=i-1
        dec j
is2:    cmp j, 0              ;j>=o
        jl is3
        cmp [esi+j*4], eax    ;array[j]>key
        jl is3
        mov ebx, [esi+j*4]    ;array[j+1]=array[j]
        mov [esi+j*4+4], ebx
        dec j                 ;j-=1
        jmp is2
is3:
        mov [esi+j*4+4], eax  ;array[j+1]=key
        inc i
        jmp is1
is_exit:
        popad
        leave
        ret 8
 
section '.idata' import data readable writeable
library KERNEL32, 'KERNEL32.DLL'
 
import KERNEL32,\
       ExitProcess, 'ExitProcess'
C
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
#include <stdio.h>
#include <stdlib.h>
 
void print_array(int*, int);
void ins_sort(int*, int);
 
int main(int argc, char *argv[])
{
  int array[]={9, 8, 7, 6, 5, 4, 3, 2, 1, 0, -500};
  print_array(array, sizeof(array)/sizeof(int));
  putchar('\n');
  ins_sort(array, sizeof(array)/sizeof(int));
  print_array(array, sizeof(array)/sizeof(int));
  getchar();
  return 0;
}
 
 
void print_array(int* array, int size)
{
     int i;
     for (i=0; i<size; ++i)
         printf("%d ", array[i]);
     
}
 
void ins_sort(int* array, int size)
{
     int i, j, key;
     for (i=1; i<size; ++i)
     {
         key=array[i];
         j=i-1;
         while (j>=0 && array[j]>key)
         {
               array[j+1]=array[j];
               j-=1;
         }
         array[j+1]=key;
     }
}


Вернуться к обсуждению:
FAQ для раздела Assembler, MASM, TASM Assembler
4
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.10.2013, 18:27
Готовые ответы и решения:

Глоссарий для раздела Assembler, MASM, TASM
Thread, AFP, Charles Kludge, 6a6kin, Убежденный, Ethereal, выкладывайте свои глоссарии - разложу ваши сообщения по алфавиту, если найдете...

Организация тем в разделе Assembler, MASM, TASM
Всем привет! Друзья, возник вопрос: как лучше организовать темы в разделе Assembler, MASM, TASM? Какие ветки-подразделы сделали бы...

Полезные макросы для MASM и TASM
Не претендую на создание чего-то нового и гениального, но макросы довольно полезные. Часть из того, что я сделал, уже делали другие. Тем не...

65
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.10.2013, 18:27
Помогаю со студенческими работами здесь

Видеоуроки по Ассемблеру MASM/TASM (для DOS) на русском языке
Всем доброго времени суток. Вобщем, ищу видеоуроки на русском языке по Ассемблеру. Нужно для подготовки к экзамену (нужно будет...

MASM, TASM, FASM: что выбрать для программирования в ядре
Какой асемлер выбрать для проганья в едре? вынь

Есть ли компиляторы Tasm или Masm для 64-разрядных систем
Есть ли компиляторы Tasm или Masm для 64-разрядной с-мы??? если есть просьба скинуть...

Подскажите ссылки на FAQ для разделов Assembler, MASM, TASM
Скиньте FAQ для разделов Assembler,MASM,TASM где много вариантов &quot;Hello,world!$&quot; и где написана статья &quot;Где скачать компилятор...

Assembler Переделать из TASM в masm
model small .stack 256h .data dbEnter db 10,13,'Enter string:$' dbCode db 10,13,'Code string:' dbStrM db 128 dbStrL db ...

0
Новые блоги и статьи
Микросервис с нуля на Go с Kafka
stackoverflow 12.02.2025
Когда я впервые столкнулся с необходимостью разделить монолитное приложение на микросервисы, передо мной встал вопрос выбора правильных технологий и подходов. После долгих экспериментов с различными. . .
Микросервис с нуля на C# с RabbitMQ
stackoverflow 12.02.2025
Переход от монолитной архитектуры к микросервисной - это не просто модное веяние, а закономерный этап эволюции программных систем. В отличие от монолита, где все компоненты тесно связаны между собой. . .
Docker для начинающих
stackoverflow 12.02.2025
В современном мире разработки программного обеспечения все чаще возникает необходимость быстро и надежно разворачивать приложения в различных средах. Разработчики постоянно сталкиваются с проблемой. . .
Создание бота для Телеграм на C#
stackoverflow 12.02.2025
В современном мире корпоративных коммуникаций Telegram-боты становятся незаменимым средством автоматизации бизнес-процессов и взаимодействия с сотрудниками. Как создать такого бота, который сможет. . .
Операторы сравнения (== и ===) в JavaScript
hw_wired 12.02.2025
JavaScript предоставляет два основных оператора сравнения - оператор нестрогого равенства (==) и оператор строгого равенства (===). На первый взгляд они могут показаться очень похожими, но их. . .
Определение адреса, откуда репозиторий Git был клонирован
hw_wired 12.02.2025
Система контроля версий Git хранит всю информацию о репозитории в специальной директории . git, включая данные об удаленных источниках. Эта информация необходима для синхронизации изменений между. . .
Объединение нескольких коммитов Git в один
hw_wired 12.02.2025
Представьте, что вы работаете над новой функциональностью и создали десяток небольших коммитов: исправление опечатки, форматирование кода, добавление комментариев, реализация основной логики. Каждый. . .
Как добавить локальную ветку в удалённый репозиторий Git
hw_wired 12.02.2025
Локальная ветка в Git - это изолированная линия разработки, существующая только на вашем компьютере. Представьте себе дерево с множеством веток - каждая ветка может расти в своем направлении, не. . .
Статическое отражение в C++
stackoverflow 12.02.2025
Статическое отражение представляет собой мощный механизм, позволяющий программам анализировать и манипулировать своей собственной структурой во время компиляции. Эта возможность открывает. . .
C++ в 21 веке - Бьярне Страуструп
stackoverflow 12.02.2025
В современном мире разработки программного обеспечения C++ продолжает оставаться одним из ключевых языков программирования, несмотря на свой солидный возраст - более 45 лет с момента создания. За это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru