Ребята, никак не понимаю - что требуется сделать.
Составить процедуру, выводящую на экран число заданного формата. На входе
процедуры аргумент находится в регистре AL/AX или в паре регистров DX:AX
(где в DX - старшее слово, в AX - младшее слово), в зависимости от размерности.
Составить процедуру выводящую число
Модератор: Andy
Тут все понятно написано - вывести на экран число, которое хранится в AX или AX XРебята, никак не понимаю - что требуется сделать.
It's a long way to the top if you wanna rock'n'roll
Т.е. преподаватель говорит - число 100. Я должен это число положить в АХ, а затем вывести на экран?
Процедура это не программа? Как это будет выглядеть ума не приложу.
p,s спасибо за ответ. Ассемблер дается непросто(
Процедура это не программа? Как это будет выглядеть ума не приложу.
p,s спасибо за ответ. Ассемблер дается непросто(
Ну даТ.е. преподаватель говорит - число 100. Я должен это число положить в АХ, а затем вывести на экран?
Процедура - это часть программы. Перед ее вызовом в АХ должен быть агрумент, то есть нужное для вывода число.Процедура это не программа? Как это будет выглядеть ума не приложу.
Сам код вызова может выглядеть примерно так
Код: Выделить всё
бла-бла-бла
...
mov ax, 100
call PrintNumber
...
mov ax, 4C00h
int 21h
It's a long way to the top if you wanna rock'n'roll
Да, спасибо. Как вывести число я знаю... Хм.. не пойму тогда в чем подвох этого задания. наверное, число может быть большим по размеру, чем размерность AX или меньшим (АL).
Ты мне очень помог. Единственное, что еще вызывает вопрос - как число может быть в "паре регистров DX:AX".. насколько я понимаю, мы его кладем в ах или в dх..
Дай бог тебе здоровья)))
Ты мне очень помог. Единственное, что еще вызывает вопрос - как число может быть в "паре регистров DX:AX".. насколько я понимаю, мы его кладем в ах или в dх..
Дай бог тебе здоровья)))
Если число больше 65535, то пара регистров может расширить его до 32 бит. Если старшая часть будет в DX, тогда число 65536 будет записано как DX=1, AX=0; 65537 хранится как DX=1, AX=1;как число может быть в "паре регистров DX:AX".. насколько я понимаю, мы его кладем в ах или в dх..
В общих чертах требуемое число = AX + DX*65536
На процессорах 386 и выше можно использовать регистр EAX. Регистровые пары для расширения числа до 32 бит уже лет 10 как не используются. Даже для расширения до 64 бит не особо часто используются - проще использовать регистр FPU для вывода. Можете передать это преподу - думаю он будет в шоке
It's a long way to the top if you wanna rock'n'roll