Другие языки программирования и технологии
В Tasm решить l*(k+n)*m-h. h-dw l,m,n - db, все данные вводить с клавы.
Ребят, прошу помощи, вот это задание вызывает трудности.Можно код пж,я разберусь ...
Ну, хз... на тасме в наше время писать - это разновидность мазохизма.
Остальную часть я вообще не понял. Что означает это "h-dw l, m, n - db"?
Я бы лучше посоветовал взять Си от Борланда, написать это на нём и скомпилировать в ассемблерный листинг на минималках (поотключать оптимизацию, лишние библиотеки и т.п.). Потом вручную подчистить листинг, чтобы казалось, будто его руками написали.
Для ввода-вывода можно сишный рантайм подключить и сказать, мол, для удобства вызываю scanf, printf :-)
А иначе я и в душе не представляю, как в современных операционках на голом ассемблере что-то ввести с клавиатуры, не потратив неделю на разработку. Ну ладно, в досе были прерывания, можно было там int 21 вызвать или на прерывания клавиатуры поставить свой обработчик, а вывод - хоть в видеопамять напрямую пиши. И то был геморрой вручную гонять данные между числовым форматом и строчкой.
mov eax, [k] ; ax = k
add eax, [n] ; ax = ax + n
mul [l] ; dx:ax = ax * l
mul [m] ; dx:ax = ax * m (правильнее перед этим убедиться, что dx = 0)
sub eax, [h] ; ax = ax - h
Предполагается, что всё уже введено и находится в памяти по соответствующим адресам.Остальную часть я вообще не понял. Что означает это "h-dw l, m, n - db"?
Я бы лучше посоветовал взять Си от Борланда, написать это на нём и скомпилировать в ассемблерный листинг на минималках (поотключать оптимизацию, лишние библиотеки и т.п.). Потом вручную подчистить листинг, чтобы казалось, будто его руками написали.
Для ввода-вывода можно сишный рантайм подключить и сказать, мол, для удобства вызываю scanf, printf :-)
А иначе я и в душе не представляю, как в современных операционках на голом ассемблере что-то ввести с клавиатуры, не потратив неделю на разработку. Ну ладно, в досе были прерывания, можно было там int 21 вызвать или на прерывания клавиатуры поставить свой обработчик, а вывод - хоть в видеопамять напрямую пиши. И то был геморрой вручную гонять данные между числовым форматом и строчкой.
Похожие вопросы
- Помогите составить блок схему. Данны целые числа n, k (n>=k>=0). Вычислить n(n-1)*(n-2)... (n-k-1)/k!
- Помогите испрвить код Переписать первые элементы каждой строки матрицы a(n*m), больше некоторого числа C, в массив b .
- C++, какой смысл приписывать к числам букву L? (long N(0L), N % 2L) Чем грозит неприписывание? Особенн в Visual studio.
- даны натуральные числа n и m(0 <=m <= 9)дополнить запись числа n в начале и в конце цифрой m
- Матрица M*N, состоящая из "0" и "1", найти наибольшую фигуру из единиц с помощью рекурсии. С++
- В матрице А (m, n) (m<=5, n<=7)найти произведение элементов столбика, в котором находится максимальный элемент.
- как решить? Найти сумму элементов прямоугольной матрицы X(n,m), находящихся по периметру этой матрицы. язык: С++
- Помогите пожалуйста!Паскаль. Дано натуральное число N. Получить наименьшее число вида 2(m в степени), превосходящее N.
- задан массив(с++) n*m нужно найти минимальный элемент в каждой строчке, а затем среди них максимальный
- Дана действительная матрица размера n * m организовать однонаправленный список матрицы. Паскаль