CSEG segment org 100h Begin: mov ah,9 mov dx,offset Message int 21h int 20h Message db 'Hello, world!$' CSEG ends end Begin Ребята подскажите, тут разбираться не в чем, а подскажите, для чего строка "mov ah,9" Зарание спасибо.
mov ah,09h помещает в регистр ah номер функции,в данном случае 9,которая вызывается после прерывания int 21h, для вывода строки на экран...Ну вроде так,ассемблером под дос давно не увлекался... А так параллельно с калашниковым читай ассемблер под дос,WINODWS,UNIX,автора только не помню,но там вроде описывается все это...
Т.е. как я понял, что-бы вызвть "int 21" нужно засунуть в ah - 9, подругому данное прерывание не вызвать... !?
Nextor Неправильно. В помощью вызова int 21 можно делать много чего. Что именно хочется сделать, определяется значением регистра AH. В данном случае значение 09 означает, что вам хочется вывести строку на экран.
А что у Калаша не написано зачем это? В ah записывается номер прерывания. Например 9h - вывод на экран, 2h - ввод с клавы и т.д. _http://www.kulichki.com/inkwell/comp/msdos.htm
9H это собственно функция DOS, вывода строки. INT 21H - interrupt-прерыванте, одно из прерываний зарезервированных DOS-ом для своих нужд. MOV AH, 9H помешает в регистр процессора AH, функцию вывода строк 9H, а прерывание INT 21H выполняет эту функцию. Функция 9H, кстати берет данные из регистра DX(значит их надо туда сперва поместить). Об этом рассказывается в книге Калашникова.
Nextor mov ah,<func_number> - вот как надо трактовать эту строчку. прерываание 21h - это аналог Win32API, но для DOS и чтобы вызвать функцию в DOS тебе надо заюзать это прерывание и передать номер функции. Также это походит syscall в Win NT(и выше) там тоже в регистр номер функции закидываается. Т.е. это распространенная практика по вызову из какого либа нобора функций конкретной функции.
Всем спасибо теперь понял. Просто у Калашникова в некоторых главах расплывчато написано. mupsy Спасибо за подсказку о книге, автор - Зубков. Думаю данную тему можно закрыть...
Калашникова ? Имхо, не стоит. А вот Зубкова можно, достойно пишет. Но ни один учебник не заменит бессоных ночей и воскликов "Блин, второй день трахаюсь, а это в 15-й строке ошибка-то была" ))) Эти возгласы лучше всего формируют понимание асма )
Nextor Мне кажется, не стоит с таким вопросом) Так ты по любому чиху на форум лезть будешь. По ассембелру море литературы в сети есть. Посмотри вот здесь: _http://ebdb.ru/Search.aspx?p=1&s=%D0%B0%D1%81%D1%81%D0%B5%D0%BC%D0%B1%D0%BB%D0%B5%D1%80&x=0&y=0
Phuntik Теперь я понимю, что вопрос ламерский но когда не можешь найти решение - сгодиться все. По моему, форум - для того что-бы коллективно решать проблему, тем более в первом уроке описания данной команды небыло. Буду стараться с подобными вопросами на форум не лезть...