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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.01.2012, 15:36   #1
Joicey
 
Регистрация: 26.01.2012
Сообщений: 6
По умолчанию выделять английские символы в словах текстового файла зеленым фоном

выделять английские символы в словах текстового файла зеленым фоном

нечего толкового не получается! помогите с алгоритмом выделения зеленым фоном как это реализуется????
Joicey вне форума Ответить с цитированием
Старый 27.01.2012, 07:58   #2
Joicey
 
Регистрация: 26.01.2012
Сообщений: 6
По умолчанию

Фух сам догнал=)) Если кому надо!
Код:
.model small
.stack 100h
.data 
OLDDIRR         db   'FILE.txt',0
Buffer  DB 14h	DUP(0)	; буфер на 20 символов
cr	equ 	0dh			; возврат каретки
lf	equ	0ah			; подача строки
String db cr,lf,'LR RABOTA$'
String1 db cr,lf,'"Systemnoe Programmirovanie"$'
String2 db cr,lf,'Studenta gruppy 08po$'
String3 db cr,lf,'Tarabanov $'
String4 db cr,lf,'Variant: 5$'
ermes		db	'Err!$'
handle dw ?
SMESHENIE dw ?
.code
main:
;mov ah, 00h ;Функция установки режима
;	mov al, 02h ;Стандартный цветной текст 80 х 25
	;int 10h  ;


mov dx, 03DAh			; читаем из порта
in al, dx
int 10h
					; установкавидеорежима и атрибута мигания
mov dx, 03C0h			; пишем индекс регистра видеоадаптера
mov al, 10h
out dx, al
int 10h

mov dx, 03C0h			; пишем значение регистра видеоадаптера
mov al, 00h
out dx, al
int 10h

	mov ax, @data			; настраивается сегментный регистр
	mov ds, ax

	mov ah,09h			; вывод текстовой информации
	mov dx,offset String
	int 21h
	mov dx,offset String1
	int 21h
	mov dx,offset String2
	int 21h
	mov dx,offset String3
	int 21h
	mov dx,offset String4
	int 21h
	mov ah,10h			;Функция задержки до нажатия клавиши
	int 16h

mov  ah,06h			; Прокрутить экран вверх
mov  al,10h			; На 16 строк
mov  bh,07h			; Атрибут нормальный: черно-белый
mov  cx,0000			; Номер строки и столбца левого верхнего угла
mov  dx,184fh			; Номер строки и столбца нижнего правого угла
int  10h			; Вызов BIOS

	mov  ah,02h			; Установить положение курсора
	mov  bh,00h			; Страница 0
	mov  dx,0000h			; В левый верхний угол экрана
	int  10h			; Вызвать BIOS
xor si,si
mov  SMESHENIE, si

lol:
			mov ax,3d00h ; открываем FILE.txt
			mov dx, OFFSET OLDDIRR
			int 21h
			jc er
 			
mov handle, ax	


 mov ah, 42h ;функция установки указателя
 mov al, 0 
 mov bx, handle ;номер файла
 mov cx, 0 ;смещение равно нулю)
 ;inc dx
 mov dx, SMESHENIE ;
 int 21h ;устанавливаем указатель
 mov si, SMESHENIE 
inc si
mov  SMESHENIE, si

cmp SMESHENIE,23
je exit
			  
			mov bx,handle			; дескриптор файла в ВХ
			mov ah,3fh		; функция чтения файла
			mov cx,1h		; сколько читать-1 символ
			mov dx,OFFSET Buffer   	; заносим в буфер
			int 21h			
			jc er
		



   mov	ah, 3Eh
			int	21h

check1:				; диапазон A<

			;mov ah,8
			;int 21h
			;cmp al,10h ;выход на alt+Q
			;je exit
			mov al, buffer
			cmp al,41h
			jg check2
			cmp al,61h
			jg check2
			jne set

		Check2:				;диапазон >Z
			cmp al,5bh
			jl set_bl
			cmp al,7ah
			jl set_bl
			jne set
set:					; Вывод сиволов без атрибутов

	mov  ah,09h			; Функция вывода на экран
	mov  bh,00h 			; Страница 0
	mov  bl,07H			; Стандартный атрибут
	mov  cx,01h			; 1 повторение
	int  10h			; 

	jmp sdvig


set_bl:				; Вывод  атрибутами

	mov  ah,09h			; Функция вывода на экран
	mov  bh,00h			; Страница 0
	mov  bl,20H		
	mov  cx,01h			; 1 повторение
	int  10h

jmp sdvig

sdvig:					; Сдвиг курсора
	MOV AH,03 ;Определить положение курсора
	MOV BH,00 ;Установить страницу 0
	int 10h
	inc  dl			; Сдвинуть курсор на позицию вправо

	mov  AH,02			; Установить положение курсора
	mov  BH,00			; Страница 0
	int  10h			; 
	jmp lol


er:
		mov	ah, 9	; и выводим сообщение на экран
		lea	dx, ermes		; вывод сообщения ermes
		int 21h
		jmp	exit
exit:		
mov ah,49h			; Функция освобождения памяти.
	int 21h
	mov ah,4ch			; выход
	mov al,00h 		
	int 21h
 end main

Последний раз редактировалось Joicey; 27.01.2012 в 08:00.
Joicey вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
обробка текстового файла unior_C++ Общие вопросы C/C++ 5 04.11.2011 01:05
Из текстового файла в бд!!! Poltev86 БД в Delphi 5 16.05.2010 23:18
Выборка из текстового файла JeyKip Общие вопросы C/C++ 0 12.05.2010 17:00
создание текстового файла shaman1 Общие вопросы C/C++ 1 09.02.2010 16:13
считывание с текстового файла ciaonataha Помощь студентам 0 20.04.2009 12:09