|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Июн 17, 2003 15:17:01 Подскажите в чем ошибка? .model small ; модель памяти, используемая для EXE .stack 100h; сегмент стека размером в 256 байтов .code start: mov ax,4f02h ;иницилизация графики mov bx,0100h ;640*480*256 int 10h mov di,0 drow: inc di ;mem [$a000:cx]:=bx mov ax,0a000h push ax mov bx,33 pop es mov es:[di],bx mov ax,di ;ax mod 5 xor dx,dx mov bx,05h div bx xchg dx,ax cmp ax, 0 jne drow in ax,60h cmp ax, 1 ; если <ESC> - выход из цикла je pp jmp drow pp: mov ax,4C00h int 21h ; функция DOS "завершить программу" .data message db 'Hello World!',0Dh,0Ah,'$' ppp db ' ','0' end start |
|
|
Дата: Июн 17, 2003 16:30:37 mov es:[di],bx при di=0ffffh |
|
|
Дата: Июн 17, 2003 17:38:55 Black_mirror А почему она там вылетает? Вроде недолжно. |
|
|
Дата: Июн 18, 2003 04:05:05 Pavia Меня смущает Ваша попытка поймать Esc, imho читать надо в AL, а не в AX, т.е. [code] in al,60h; вместо in ax,60h [/code] Что должна сделать Ваша программа? |
|
|
Дата: Июн 18, 2003 06:43:50 Pavia А почему она там вылетает? Вроде недолжно. А вылетает она потому что размер сегмента 64К, а при попытке записать слово по адресу 0ffffh куда следует записывать старший байт? Процессор этого не знает и генерирует исключение. А зачем записывать bx, а не bl, когда у нас 256 цветов? |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.039 |