|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Ноя 14, 2003 19:33:45 Короче в data segment: NAMEPAR LABEL BYTE ;Имя списка параметров: MAXNLEN DB 20 ; макс. длина имени NAMELEN DB ? ; число введенных символов NAMEFLD DB 20 DUP(' '),'$' ;имя и ограничитель для вывода на экран И есть Демон(функшн): D10INPT PROC NEAR MOV AH,0AN ;Функция ввода LEA DX,NAMEPAR INT 21H RET Далее по коду есть еще один демон: E10CODE PROC NEAR MOV BH,00 ; (в книге похоже опечатка) Замена символа Return (0D) MOV BL,NAMELEN ; на зв. сигнал (07) 1. MOV NAMEFLD[BX],07 2. MOV NAMEFLD[BX+1],'$' ;Установить ограничитель RET Говорится что при наборе максимумума возникает звук, ума неприложу как? Медитировал. Пил. Все без толку. Кроме этого не пойму что означает адреса в строках 1 и 2. |
|
|
Дата: Ноя 15, 2003 00:30:42 EvilsInterrupt Потому не понял, что методика у тебя неверная! Скомпилируй, слинкуй. И посмотри, во что преобразуется конструкция. Всего делов. Если хочется больше теории, тогда знай, что то, с чем ты столкнулся, называется "Indexed Addressing Mode", где в качестве индекса может использоваться bx/bp/si/di. Твое выражение MOV NAMEFLD[BX],07 можно заменить на mov [BX+NAMEFLD],07. Думаю, так понятнее. А почему там стоит именно символьное имя, а не адрес - ну, должен уже и сам понимать. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.105 |