Форум программистов, компьютерный форум, киберфорум
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
6747 / 1993 / 231
Регистрация: 14.12.2014
Сообщений: 4,187
Записей в блоге: 12
13.01.2017, 12:52 0

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

13.01.2017, 12:52. Показов 1230. Ответов 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
Заказать работу у эксперта

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.01.2017, 12:52
Готовые ответы и решения:

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

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

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

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

5
13.01.2017, 12:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.01.2017, 12:52
Помогаю со студенческими работами здесь

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

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

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

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

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru