Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.02.2007, 21:35   #1
-danger-
 
Регистрация: 15.02.2007
Сообщений: 7
По умолчанию Определение типа видеокарты (TASM)

привет всем.
работаю в TASM. очень нужен текст проги, которая определяет тип видеоадаптера. как минимум нужно чтобы определяло видяха EGA или VGA. в книжке В.Пирогова нашел что-то подобное, но когда я этот текст пропускаю через TASM, то выдает кучу ошибок. подскажите что не так? или может подскажете какой-то другой вариант проги.
з.ы. на выходе должен быть .exe, не .com

Код:
WHAT_AD PROC
PUSH DX
PUSH BX
PUSH CX
;проверка наличия у прерывания 10H функции 1AH - есть у VGA
XOR AL,AL
MOV AH,1AH
INT 10H
CMP AL,1AH
JNZ NO_VGA
XOR AL,AL
JMP SHORT EXIT
NO_VGA:
;проверка наличия у прерывания 10H функции 12H - есть у EGA
MOV AH,12H
MOV BL,10H
JZ NO_EGA
MOV AL,1
JMP SHORT EXIT
NO_EGA:
;проверка наличия CGA
MOV DX,3D4H
CALL SEARCH_6845
JC NO_CGA
MOV AL,3
JMP SHORT EXIT
NO_MDA:
MOV AL,4
EXIT:
POP CX
POP BX
POP DX
RET
WHAT_AD ENDP
;проверка наличия контроллера 6845
;проверка осуществляется путем записи в регистр а потом чтения из него
;если значения совпали то контроллер присутствует
;номер регистра - 0FH но адрес порта у CGA и MDA разный
SEARCH_6845 PROC
MOV AL,0FH
OUT DX,AL
INC DX
IN AL,DX
MOV AH,AL
MOV AL,66H
OUT DX,AL
MOV CX,100H
DELAY:
LOOP DELAY
IN AL,DX
XCHG AH,AL
OUT DX,AL
CMP AH,66H
JZ QUIT
STC
QUIT:
RET
SEARCH_6845 ENDP
-danger- вне форума Ответить с цитированием
Старый 16.02.2007, 20:11   #2
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

это же только кусок программы!!!!!...........
что за ошибки, может ты подключаешь какие нибудь файлы.....

Последний раз редактировалось rpy3uH; 16.02.2007 в 20:21.
rpy3uH вне форума Ответить с цитированием
Старый 16.02.2007, 23:54   #3
-danger-
 
Регистрация: 15.02.2007
Сообщений: 7
Радость 1111

Цитата:
Сообщение от rpy3uH Посмотреть сообщение
это же только кусок программы!!!!!...........
что за ошибки, может ты подключаешь какие нибудь файлы.....
да, ошибки были из-за того что это кусок проги. вот мне помогли дописать ее до конца. но она компилируется в .com, поправьте плиз текст проги, чтобы компилилась в .exe ?
Цитата:
.286
.Model TINY
CSEG segment
assume CS:CSEG, SS:CSEG, ES:CSEG
org 100h
start:
pusha
call WHAT_AD
test al, 0
je VGA_PRESENT
test al, 1
je EGA_PRESENT
test al, 2
je CGA_PRESENT
mov dx, offset _mda
jmp PRINT_PRESENT
VGA_PRESENT:
mov dx, offset _vga
jmp PRINT_PRESENT
EGA_PRESENT:
mov dx, offset _ega
jmp PRINT_PRESENT
CGA_PRESENT:
mov dx, offset _cga
jmp PRINT_PRESENT
PRINT_PRESENT:
mov ah, 9h
int 21h
mov dx, offset _present
mov ah, 9h
int 21h
popa
int 20h

WHAT_AD PROC
PUSH DX
PUSH BX
PUSH CX
;проверка наличия у прерывания 10H функции 1AH - есть у VGA
XOR AL,AL
MOV AH,1AH
INT 10H
CMP AL,1AH
JNZ NO_VGA
XOR AL,AL
JMP SHORT EXIT
NO_VGA:
;проверка наличия у прерывания 10H функции 12H - есть у EGA
MOV AH,12H
MOV BL,10H
JZ NO_EGA
MOV AL,1
JMP SHORT EXIT
NO_EGA:
;проверка наличия CGA
MOV DX,3D4H
CALL SEARCH_6845
JC NO_CGA
MOV AL,3
JMP SHORT EXIT
NO_CGA:
MOV AL,4
EXIT:
POP CX
POP BX
POP DX
RET
WHAT_AD ENDP
;проверка наличия контроллера 6845
;проверка осуществляется путем записи в регистр а потом чтения из него
;если значения совпали то контроллер присутствует
;номер регистра - 0FH но адрес порта у CGA и MDA разный
SEARCH_6845 PROC
MOV AL,0FH
OUT DX,AL
INC DX
IN AL,DX
MOV AH,AL
MOV AL,66H
OUT DX,AL
MOV CX,100H
DELAY:
LOOP DELAY
IN AL,DX
XCHG AH,AL
OUT DX,AL
CMP AH,66H
JZ QUIT
STC
QUIT:
RET
SEARCH_6845 ENDP
_mda db 0Ah, 0Dh, 'MDA$'
_cga db 0Ah, 0Dh, 'CGA$'
_ega db 0Ah, 0Dh, 'EGA$'
_vga db 0Ah, 0Dh, 'VGA$'
_present db ' is present$'
CSEG ends
end start
-danger- вне форума Ответить с цитированием
Старый 17.02.2007, 09:21   #4
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

какие параметры компилятора используешь при компиляции?
rpy3uH вне форума Ответить с цитированием
Старый 17.02.2007, 12:43   #5
-danger-
 
Регистрация: 15.02.2007
Сообщений: 7
По умолчанию

Цитата:
Сообщение от rpy3uH Посмотреть сообщение
какие параметры компилятора используешь при компиляции?
в случае с .com версией такие:
Код:
tasm video.asm
tlink -t video.obj
но как екзешник сделать не шарю...
-danger- вне форума Ответить с цитированием
Старый 18.02.2007, 15:43   #6
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

попробуй с параметром /tpe
вообще попробуй ввести в командной строке tlink /?
rpy3uH вне форума Ответить с цитированием
Старый 18.02.2007, 21:03   #7
-danger-
 
Регистрация: 15.02.2007
Сообщений: 7
Радость

Цитата:
Сообщение от rpy3uH Посмотреть сообщение
попробуй с параметром /tpe
вообще попробуй ввести в командной строке tlink /?
спасиба. получилось.
-danger- вне форума Ответить с цитированием
Старый 23.03.2011, 22:17   #8
Absolut-55722
Новичок
Джуниор
 
Регистрация: 23.03.2011
Сообщений: 1
По умолчанию

Доброго времени суток. Я пытался запустить эту программу, но на экран выводится мусор. Я использовал ключ tlink/? и все равно не помогло.
Absolut-55722 вне форума Ответить с цитированием
Старый 24.03.2011, 06:13   #9
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

Absolut-55722
tlink с ключом /? выдает справку о программе tlink в командной строке. Почитайте эту справку внимательно (потребуется минимальное знание английского языка), может быть многие вопросы отпадут сами собой
Mikl___ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определение типа микропроцессора (TASM) -danger- Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 5 24.11.2013 20:58
TASM дело тонкое!:) (Где в TASM IDE?) 3.14oner Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 9 15.11.2011 16:20
RivaTuner программа для разгона видеокарты! execom Софт 29 10.06.2008 18:06
тестирование видеокарты Андрій Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 02.04.2008 21:36
Доступ к драйверу видеокарты ILY@H@ Win Api 4 12.01.2007 08:51