Определение цвета точки (assembler)

Низкоуровневое программирование портов, микроконтроллеров и т.д.

Модератор: Andy

Ответить
bigelow
Сообщения: 2
Зарегистрирован: 22 апр 2009, 20:00

Привет всем.Нужна срочно ваша помощь
Вообщем надо написать программу на Assembler:

Сделать функцию определения цвета точки в указанной позиции, подобно GetPixel в языке Pascal.

Помогите кто может))Вопрос жизни и зачета)))
bigelow вне форума Добавить отзыв для bigelow Пожаловаться на это сообщение Редактировать/Удалить сообщение
Аватара пользователя
somewhere
Сообщения: 1858
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

Функция ODh прерывания 10h

На входе: CX, DX - координаты X,Y соответственно
На выходе: AL - цвет пикселя
It's a long way to the top if you wanna rock'n'roll
bigelow
Сообщения: 2
Зарегистрирован: 22 апр 2009, 20:00

А можешь полностью написать пожалуйста?тебе я думаю это не очень сложно!А мне это очень поможет!)0)
заранеее огромное спасибо!)
Vaper
Сообщения: 3
Зарегистрирован: 06 май 2009, 19:45

Код на MASM:

Код: Выделить всё

.386
.model small
.data
EnterX db 'Input an X coord: ',13,'$'
EnterY db 'Input an Y coord: ',13,'$'
Answer db 'The point has a color: $'
.code
mov si,EnterX
call PutStr

mov ah,10h
int 16h
push al

mov si,EnterY
call PutStr

mov ah,10h
int 16h
push al
pop dx
pop cx

mov ah,0dh
int 10h
push al

mov si,Answer
call PutStr

pop al
call show

mov ah,10h
int 16h
int 21h

PutStr proc
 mov ah,0Eh	
 mov bh,0	
 mov bl,7	

nextchar:	
 lodsb
 or al,al		
 jz return	
 int 0x10	
 jmp nextchar	
return:		
 ret		
PutStr endp

show proc
 mov ah,0Eh
 mov bh,0
 mov bl,7	
 int 10h	
 ret
show endp

end
Ответить