С Новым годом! Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
Assembler Выведите на экран значение максимального элемента и их количество. С++ и Ассемблер Цель работы Научится оперировать с циклами для данных в формате short*int. Исходные данные и результат должны быть проверены на диапазон допустимых значений. Порядок работы https://www.cyberforum.ru/ asm-beginners/ thread1898140.html Assembler Квадратичная иррациональность. Вывод массива непрерывной дроби на экран
Нужно написать программу на NASM: представление квадратичной иррациональности в виде непрерывной дроби Есть написанный мною код, но не могу проверить на правильность(компилится нормально), т.к я не знаю, как организовать вывод элементов массива на экран( в общем-то это и есть проблема) Все, что можно:различные материалы итд, пересмотрены по несколько раз, но так ничего и не стало...
Assembler Составить программу для нахождения y=2*min(x1,x2), где x1 и x2- числа, введённые с клавиатуры нужна помощь нужно составить программу для нахождения y=2*min(x1,x2), где x1 и x2- числа, введённые с клавиатуры. Результат вывести на экран. Нужна помощь, не шарю в Assembler, но нужно написать вот такую программку. есть код для нахождения min но он не выводит результат, а так компилиться нормально. Заранее спасибо за помощь. .model small .STACK 100h; .data array db 7, 20; и т. д. элементы... https://www.cyberforum.ru/ asm-beginners/ thread1897340.html Assembler Найти количество положительных и нулевых элементов в массиве https://www.cyberforum.ru/ asm-beginners/ thread1896809.html
найти количество положительных и нулевых элементов в массиве A={a} при условии c<=a<=d. Тип данных BYTE. %-) #include<stdio.h> #define N 10 int main() { short int A; long int counter;
Assembler Работа с прерываниями
Есть программа для работы с прерыванием по таймеру. Не могу до конца разобраться как и что работает. Прошу детально объяснить что тут и к чему. code segment assume DS: data, CS: code begin: timer dw 0 mov ax, data mov ds, ax xor ax, ax mov ax, 351ch ;функция 35h, вектор 1сh int 21h
Assembler Вывод цветной строки n раз https://www.cyberforum.ru/ asm-beginners/ thread1895939.html
Здравствуйте, как можно вывести какую-нибудь строку в цвете несколько раз? Вывести смог, но с цветом разобраться не могу :( .model tiny .code org 100h begin: mov cx,10 Label:
Assembler Дальний адрес массива в переменной-указателе https://www.cyberforum.ru/ asm-beginners/ thread1895047.html
Начал изучать ассемблер. И вот стало интересно как с помощью указателя сохранить дальний адрес массива в переменной-указателе?
Вычисление логических операций по формуле Assembler
Программа должна считать по заданной формуле. Программа написана для процессора 8086 под управлением DOS. Создал объектный файл через Tasm, затем через т-линк получил ехе. Программа запускается но после ввода значений всех аргументов формулы она не выводит ответ. Пытался проверить через td.exe, но все равно не очень понятно где ошибка. P.S. заранее благодарен ;Лабораторная работа...
Assembler Комментарии к программе Здравствуйте, нужна ваша помощь. Нужно написать комментарии к строкам данного кода. Спасибо за помощь) model small .286 .data a db 'stroki s takim znakom net ', '$' c db "I" b db 10,13,'$' .code https://www.cyberforum.ru/ asm-beginners/ thread1894934.html Assembler Перевод числа из OCT в BIN систему счисления ассемблер Доброго времени суток! Стоит задача перевести число из 8 в 2 систему счисления на ассемблере. При запуске программы вводим число в 8 системе счисления и программа переводит это число в бинарную систему счисления. Не знаю, как описать этот перевод на ассемблере. Объясните пожалуйста на примере программы. https://www.cyberforum.ru/ asm-beginners/ thread1894460.html
Простые делители числа Assembler
org 100h start: mov cx,2 mov ax, 32 push ax mov ax,a
Assembler Пример вызова подпрограммы Доброго времени суток, ну помогите пожалуйста с задачкой на tasm . Программа MAINPRO должна вызвать программу SUBPRO.В программе MAINPRO определенны переменные : QTY как DB, VALUE как DW, PRICE как DW. Программа SUBPRO должна разделить VALUE на QTY и записать частное в PRICE. https://www.cyberforum.ru/ asm-beginners/ thread1892430.html
Asm/C++/Delphi/Py/PHP/VBA
6750 / 1997 / 231
Регистрация: 14.12.2014
Сообщений: 4,202
Записей в блоге: 12
13.01.2017, 12:52 0

Переход на несколько байт - Assembler - Ответ 10000384

13.01.2017, 12:52. Показов 1245. Ответов 5
Метки (Все метки)

Лучший ответ Сообщение было отмечено sergeiparshin как решение

Решение

Программы в формате EXE (DOS MZ или Win PE/NE) имеют заголовок, в котором хранится информация о размере программы, о кол-ве требуемой памяти и т.д. Если она "не помещается в оперативку", то при её запуске система выводит сообщение об ошибке. Есть EXE-файлы, которые помимо программного кода хранят данные (например, самораспаковывающиеся архивы - SFX). Система загружает код программы в оперативку (при этом данные за кодом не загружаются, в заголовке же написано сколько она занимает) и запускает. Далее программа считывает данные из файла (себя самой). По сути, это то же самое, как если бы этот архив был в отдельном файле, просто в том же файле удобнее (не потеряется). Под DOS, как уже сказано, были оверлеи - это когда часть кода хранится в отдельном файле и подгружается при необходимости.

По поводу перехода на 100 байт вперёд и пр. проблем нет. Во-первых, прога загружается всегда по одному и тому же линейному адресу, указанному в заголовке (Windows) либо по одному и тому же смещению (DOS, меняется лишь сегмент, но для настройки в том же EXE-шнике есть специальная таблица, использую которую происходит настройка... собственно, в прогах под Windows есть тоже свои таблицы).

Ну и во-вторых, если загрузить код, содержащий инструкции перехода/вызова (jmp, call и т.п.), то там используется не прямая, а относительная адресация (как правило, хотя можно сделать и переход по адресу, содержащемуся в регистре или памяти). Т.е. в примере ниже вне зависимости от адреса метки from переход всегда будет осуществляться к метке to, т.к. инструкция jmp хранит в себе информацию о переходе на 1 байт вперёд (относительно следующей инструкции):
Assembler
1
2
3
from: jmp to
      nop
to:   ret


Вернуться к обсуждению:
Переход на несколько байт Assembler
1
Заказать работу у эксперта
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.01.2017, 12:52
Готовые ответы и решения:

Переход по адресу из массива байт
не знаю просто как правильно назвать тему до форматирования пк была у меня она очень интересная...

Прочитать несколько байт с сокета
Здравствуйте, уважаемые форумчане. Вопрос у меня следующий. reader::reader(QObject *parent) :...

Arduino UNO. Прочитать несколько байт
Здравствуйте! Пытаюсь прочитать несколько байт в Arduino UNO. Я написал такой код: void setup()...

Несколько лишних байт при выводе
Доброго времени суток. Хотелось бы узнать вот о чем: Имеем простейший код, полностью читающий в...

5
13.01.2017, 12:52
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.01.2017, 12:52
Помогаю со студенческими работами здесь

Как сдвинуть указатель на несколько байт?
Сейчас разбираю пример из книжки и столкнулся со следующей проблемой. Компилирую в Visual Studio...

Как прочитать несколько байт из файла с n-го бита
Требуется считать байты из файла заданным смещением; смещение задается в БИТАХ; Например: c 3-го...

Как прочитать несколько байтов в файле с n-го байта по m-й байт ?
Как прочитать несколько байтов в файле с n-го байта по m-й байт ?

База данных: переход на несколько форм
Доброго времени суток всем. Я пытаюсь научиться работать с базами данных. Пока учебным пособием...

0
Новые блоги и статьи
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
Что такое NullReferenceEx­­­ception и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
Использование GraphQL в Go (Golang)
InfoMaster 08.01.2025
Go (Golang) является одним из наиболее популярных языков программирования, используемых для создания высокопроизводительных серверных приложений. Его архитектурные особенности и встроенные. . .
Что лучше использовать при создании класса в Java: сеттеры или конструктор?
Alexander-7 08.01.2025
Вопрос подробнее: На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru