Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
5 / 4 / 2
Регистрация: 24.01.2017
Сообщений: 52

Подредактировать готовый код

18.04.2017, 16:40. Показов 3194. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем добрый день. Мне нужно переделать готовый код, что бы он был через реализацию сегментного кода, а также сделать его как то более читабельней, вообщем немного подредактировать. Заранее спасибо.
P.S. не уверен, что код на 100% правильный, но ошибок не выдает, и как я проверил, по идеи, все же правильный. Делал в EMU8086. Что то нужно в шапке исправить/изменить, и в самом коде, но не уверен.
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
TITLE MOVE2
 
MOVE2 SEGMENT 'CODE' 
ASSUME CS: MOVE2, DS:DATA 
MYPROC PROC 
OUTPROC:
 
MOV AX,DATA
MOV DS,AX
MOV AH,BH
MOV AH,X
MOV CH,3
MOV AX,3
MOV AX,Y
MOV [SI],CX
MOV [BP],CX
MOV [SI],258
MOV [BP+516],1027
MOV BYTE PTR X,255
MOV BYTE PTR [DI + 515], 4
MOV WORD PTR [DI + 515], 4
MOV [DI+BP+515],258
MOV AX,[SI+BX+258]
MOV AH,4CH
 
INT 21H
 
MYPROC ENDP 
MOVE2 ENDS 
DATA SEGMENT 
X DB 1 
Y DW 2
DATA ENDS 
END MYPROC
Добавлено через 7 минут
Просьба также написать коментарии к коду, это идеально будет, пока что только разбираюсь.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.04.2017, 16:40
Ответы с готовыми решениями:

Переделать готовый код с NASM в TASM под DosBox
section .text org 0x100 mov si,arr+1 mov bh,0 mov bl,2 mov cx,8 first: mov al,byte

Подредактировать код
Здравствуйте!Программа строит сферу,при отрисовке в каркасном виде идет искривление меридиан,подскажите как исправить,пожалуйста.

Подредактировать код
Всем привет! Помогите разобраться с кусочком кода, который пишет и читает с com порта. В таком варианте все работает и модем отвечает ОК,...

7
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8655 / 4490 / 1669
Регистрация: 01.02.2015
Сообщений: 13,898
Записей в блоге: 12
18.04.2017, 19:45
vladyslavh, конечно же каждый пользователь форума дорог и ценен, но встать на каждый mov с 8 по 26 строки и нажать по три раза кнопку Tab (табуляция) вы всё же можете и самостоятельно.
Я обычно форматирую так
Assembler
8
9
        MOV     AX,     DATA
        MOV     DS,     AX
А директивы компилятора, метки - оставляю на 1-й позиции.

Вопрос
Цитата Сообщение от vladyslavh Посмотреть сообщение
через реализацию сегментного кода
просто непонятен. Это требует пояснения, и, лучше, с коротким (на 5-10 строк) примером.
0
5 / 4 / 2
Регистрация: 24.01.2017
Сообщений: 52
18.04.2017, 20:21  [ТС]
Ну смотрите, попытаюсь обьяснить, рад что отписались )
У нас была лабораторная (все исходники я кину) и там нужно было сделать рабочий код на основе листинга, но потом также дополнительно дали задания, переработать код (по идеи именно шапку, что бы подключить .code segment и с его реализации сделать, что бы код работал). Надеюсь задача стала более яснее, заранее благодарю.
Миниатюры
Подредактировать готовый код  
Вложения
Тип файла: docx Лабораторная.docx (22.6 Кб, 10 просмотров)
0
5 / 4 / 2
Регистрация: 24.01.2017
Сообщений: 52
18.04.2017, 20:39  [ТС]
Все, я смог сам разобраться, больше вопрос не актуален, спасибо!
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8655 / 4490 / 1669
Регистрация: 01.02.2015
Сообщений: 13,898
Записей в блоге: 12
18.04.2017, 20:58
Тогда поделитесь, что за "реализация сегментного кода"?
0
5 / 4 / 2
Регистрация: 24.01.2017
Сообщений: 52
19.04.2017, 06:05  [ТС]
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
.model tiny
.code
org 100h
OUTPROC: MOV AH, BH
MOV AH, X
MOV CH, 3
MOV AX, 3
MOV AX, Y
MOV [SI], CX
MOV [BP], CX
MOV word ptr [SI], 258
MOV [BP+516], 1027
MOV BYTE PTR X, 255
MOV BYTE PTR [DI+515], 4
MOV WORD PTR [DI+515], 4
MOV word ptr [DI+BP+515], 258
MOV AX, [SI+BX+258]
INT 20h
X DB 1
Y DW 2
end OUTPROC
Добавлено через 8 минут
Попрошу лишь, если можете, прокоментировать строки, ну кроме первых 3. Спасибо.
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8655 / 4490 / 1669
Регистрация: 01.02.2015
Сообщений: 13,898
Записей в блоге: 12
19.04.2017, 07:58
Вы использовали упрощённую сегментацию для одной из моделей памяти (в данном случае - tiny).

В методичке рассмотрены все эти варианты пересылки данных. Они имеют мудрючие названия, которые сразу и не вспомнить.
9 регистровый косвенный (индексный) т.к. регистр si
10 регистровый косвенный (базовый) т.к. регистр bp
И т.д.
0
3410 / 1829 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
19.04.2017, 12:08
Лучший ответ Сообщение было отмечено vladyslavh как решение

Решение

vladyslavh,
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
.model tiny
.code
org 100h
OUTPROC: MOV AH, BH-регистровая
MOV AH, X- прямая памяти
MOV CH, 3- непосредственная
MOV AX, 3
MOV AX, Y
MOV [SI], CX - косвенная(дальше для всех)  индексная памяти
MOV [BP], CX -базовя стека
MOV word ptr [SI], 258 - индексная памяти
MOV [BP+516], 1027 -непосредственная базовая со смещением стека
MOV BYTE PTR X, 255 - прямая памяти
MOV BYTE PTR [DI+515], 4 - индексная со смещением
MOV WORD PTR [DI+515], 4
MOV word ptr [DI+BP+515], 258 -базово индескная стека
MOV AX, [SI+BX+258]-базаво индексная памяти
INT 20h
X DB 1
Y DW 2
end OUTPROC
Еще обращайте внимание на размер операндов.
Адресуется память или стек зависит от того, кокой сегментный регистр используется по умолчанию: если в команде есть BP или SP то стек.
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.04.2017, 12:08
Помогаю со студенческими работами здесь

подредактировать код
Ребят, есть вот такой код, программа считает кл-во символов в текстовом документе и заносит результат в новый текстовый документ, а...

Подредактировать код HTML
Здравствуйте, есть html <style> #pravila { margin: 0; padding: 0; list-style-type: none; ...

Подредактировать програмный код
У меня такое задание, программа покадрогвого просмотра файлов. Ну тоесть как я понял, посимвольного считывания строк, Которая выдает код...

Малость подредактировать код
мне нужно подредактировать код немного. на рисунке показана моя мысль в голове как я хочу сделать это. Вот код: <?php ...

подредактировать код программы маленько
#include <string.h> #include <stdio.h> #include <conio.h> int main(void) { clrscr(); char destination; char *blank =...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
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