Другие языки программирования и технологии

В Tasm решить l*(k+n)*m-h. h-dw l,m,n - db, все данные вводить с клавы.

Ребят, прошу помощи, вот это задание вызывает трудности.Можно код пж,я разберусь ...
Ну, хз... на тасме в наше время писать - это разновидность мазохизма.
 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 вызвать или на прерывания клавиатуры поставить свой обработчик, а вывод - хоть в видеопамять напрямую пиши. И то был геморрой вручную гонять данные между числовым форматом и строчкой.
РШ
Руслан Шурбин
54 053
Лучший ответ

Похожие вопросы