| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Asm: Общие вопросы > Работа со структурами данных и функциями |
| Автор: zall 1.3.2010, 13:40 |
| Программе задается 1 параметр. Вывести его на экран. Дело в том что мы только начали ассемблер лектор болеет а лабораторные сдавать надо, помогите пожалуйста с программой и посоветуйте книгу по которой можно разобраться в самом начале. программу же буду использывать чтобы отталкиваться в дальнейшем)) |
| Автор: iff 1.3.2010, 17:39 | ||||||
| Что значит задается один параметр? иы имеешь в виду когда вводится команда (в COMMAND.COM или CMD.EXE), то выводится следующее:
Т.е. что-то вроде echo? Если да, то смотри: в PSP (префиксе сегмента программы) по адресу ds:80h нранятся данные об аргументах вызова программы. а именно так: 80h - в этой ячейки храниться длина аргумента, в нашем случае если аргумент hello, то в этой ячейки будет 06h (на один больше, чем на самом деле, видимо из-за пробела перед аргументом) 81h - здесь храниться пробел (20h), посмотрите ведь межлу аргументом и именем программы напечатан пробел 82h - от сюдаго начинается сам аргумент (в нашем случае это строка 'hello', 0dh; в конце 0dh, потому что мы при вводе команды в конце нажали Enter. Программа выводящая параметр на экран будет такая:
Я использую компилятор TASM5 и компилирую командой:
для создания программы типа COM. Размером получился 17 байт. |
| Автор: zall 1.3.2010, 18:26 |
| спасибо, это то что нужно и подробно ещё. большое спасибо. |