Форум программистов, компьютерный форум, киберфорум
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 24.05.2014
Сообщений: 2

Из COM в ASM

24.05.2014, 14:41. Показов 2275. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Есть в книге Абеля COM-код. Помогите его перевести, пожалуйста, для компиляции в EXE. Да и вообще, полезно было бы узнать как их переводить (гугл все время выдает мне Debug на эту тему). Собственно, сама задача звучит так, мне лишь бы EXE получить:
Кликните здесь для просмотра всего текста
Разработать программу на языке ассемблера, выполняющую: установку графического режима, выбора зеленого фона и вывода на экран точек (50 строк по 300 столбцов). В программе должно происходить увеличение значения цвета на 1 для каждой строки с повторением цветов через каждые 7 строк.

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
TITLE GRAPHIX (COM) Пример цвета и графики
CODESG SEGMENT PARA 'Code'
ASSUME CS:CODESG,DS:CODESG,SS:CODESG
ORG 100H
 
MAIN PROC NEAR
MOV AN,00 ;Установка режима графики
MOV AL,0DH ; для EGA (CGA=04)
MOV AH,0BH ;Установить палитру
MOV BH,00 ;Фон
MOV BL,02 ;Зеленый
INT 10H
MOV BX,00 ;Начальные цвет,
MOV CX,00 ; столбец
MOV DX,00 ; и строка
A50:
MOV AH,0CH ;Функция вывода точки
MOV AL,BL ;Установить цвет
INT 10H ;BX, CX, и DX сохраняются
INC CX ;Увеличить столбец
CMP CX,320 ;Столбец 320?
JNE A50 ; нет - цикл,
MOV CX,00 ; да - сбросить столбец
INS BL ;Изменить цвет
INS DX ;Увеличить строку
CMP DX,40 ;Строка 40?
JNE A50 ; нет - цикл,
RET ; да - завершить
MAIN ENDP
CODESG ENDS
END MAIN
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.05.2014, 14:41
Ответы с готовыми решениями:

Delphi и ASM - не работает вызов функции Invoke через asm
В Delphi не работает вызов функции Invoke через asm. часть кода: asm invoke CloseHandle,ebx; invoke ExitProcess,0; ...

Создание проекта с участием c++ и asm модулей. Ошибка asm модуля
Доброго времени суток! Подскажите, пожалуйста, как исправить данную ошибку (А2008)?

ASM atmega написать программу на ASM
Нужна помощь в написании программы с объяснениями.. Проверить свою программу Вашу работу. Подпрограмма для ATmega1284 на Асм,...

3
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
24.05.2014, 16:57
Лучший ответ Сообщение было отмечено Basisd1 как решение

Решение

Basisd1,
внимательнее набирай программу ошибки идиотские!
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
; masm dos exe #
.286
.model small
.code
 
MAIN:mov ax,0Dh ;Установка режима графики для EGA (CGA=04)
    int 10h
    mov ah,0Bh ;Установить палитру
    mov bx,2 ;Фон Зеленый
    int 10H
    mov bx,0 ;Начальные цвет,
    mov cx,0 ; столбец
    mov DX,0 ; и строка
    mov ah,0Ch ;Функция вывода точки
A50:mov al,bl ;Установить цвет
    int 10h 
    inc cx ;Увеличить столбец
    cmp cx,320 ;Столбец 320?
    jne A50 ; нет - цикл,
    mov cx,0; да - сбросить столбец
    inc bl ;Изменить цвет
    inc dx ;Увеличить строку
    cmp dx,40 ;Строка 40?
    jne A50 ; нет - цикл,
    mov ah,0;ждем нажатия на клавиатуру
    int 16h
    mov ax,3;восстанавливаем текстовый графический режим
    int 10h
    mov ah,0
    int 16h
    mov ah,4Ch; да - завершить
    int 21h
END MAIN
0
0 / 0 / 0
Регистрация: 24.05.2014
Сообщений: 2
24.05.2014, 17:41  [ТС]
Mikl___, код скопировал из учебника, честное слово не моя вина. И не скажете как примерно переводить из COM для EXE? Спасибо за перевод)

Добавлено через 29 минут
Да и чтобы стало понятнее, где же тут ошибки были? Если надо, могу некоторые пруфы привести, откуда взял код.
0
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
24.05.2014, 17:50
Basisd1,
сравни мой код со своим, по-строчно и по-буквенно... и с книгой Абеля можешь сравнить, там ошибок нет
обрати внимание на 7, 24, 25 строки

Добавлено через 4 минуты
и между 8 и 9 строкой команда пропущена
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.05.2014, 17:50
Помогаю со студенческими работами здесь

pascal+asm, не подключается модуль asm
Не получается подключить модуль ассмблера ( находится в каталоге с .pas)). Для примера взял элементарный код на паскале: 1 {$L...

При сборке выдает ошибку "MASM: fatal error A1000: : 1.asm.asm"
"MASM : fatal error A1000: : 1.asm.asm :\1>link16 /TINY 1.asm.obj, 1.asm.com" Вопользовался кодом из темы Собирал через...

IDE для для работы с STM8 (на ASM и C) и STM32 (на C, ASM)
Планирую перезод на МК от STM. Сегодня стал обладателем платки STM32F4-Dyscovery и пакетика восьмибитных STM. Под восьмибитники планирую...

C++ и ASM
Всем привет. Необходимо посчитать уравнение на языке ASM и вывести ответ на языке С++. Вот готовая программа на ASM с выводом на...

asm в C#
Ребята всем привет, вопрос такой: У меня есть ассемблеровская программа, можно ли вставить исходный код в C#, как бы идет везде...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru