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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.06.2010, 15:17   #1
untitled
Новичок
Джуниор
 
Регистрация: 26.06.2010
Сообщений: 2
По умолчанию вывод через видеопамять

здравствуйте! Я новичок в ассемблере, учусь на втором курсе. Возникла такая проблема: необходимо отсортировать одномерный массив по убыванию, оформить в виде com файла и вывести напрямую через видеопамять. Вроде бы задачу сделал, но при выводе на экран вместо цифр выводятся какие-то символы. При компиляции ошибок нет. Вообщем кому несложно помогите решить проблему. Вот код на который меня хватило

.model small
.186
.code
org 100h

start:
jmp go
mas db 2,3,4,6,3,1,5,8
go:

mov cx,7

l1:
mov di,cx
mov ah,mas[di]
mov al,mas[di-1]
cmp ah,al
jg gol
mov mas[di],al
mov mas[di-1],ah
gol: loop l1

mov ax,0003h
mov si, 7
int 10h
cld
mov di,offset ctable
mov cx,7
vyv:
mov al,byte ptr mas[si]
add al,45
stosw
loop vyv
mov ax,0B800h
mov es,ax
xor di,di
mov cx, 7
rep movsw
ret
ctable:
end start
untitled вне форума Ответить с цитированием
Старый 27.06.2010, 14:22   #2
x128
Форумчанин
 
Регистрация: 03.02.2010
Сообщений: 178
По умолчанию

пока писал исправления, получилась программа целиком... в общем выложу свой вариант, комментарии не писал.
Код:
	.model tiny
	.code

	org 100h

len	equ	e-mas

start: 
	mov 	ax, 0003h
	int 	10h 
	mov 	ax, 0B800h 
	mov 	es, ax 
	
	mov	si, offset mas
	mov 	cx, len-1
l1:
	mov	al, [si]
	push	cx
	mov	cx, len
	mov 	di, si
l2:	
	inc	di
	mov	ah, [di]
	cmp	al, ah
	jb	next
	ror	ax, 8
	mov	[si], al
	mov	[di], ah
next:
	loop	l2
	pop	cx
	inc	si
	loop	l1

	mov 	si, offset mas
	xor 	di, di
	cld
	mov 	cx, len
	mov 	ah, 15
vyv: 
	lodsb
	add	al, 30h
	stosw
	loop 	vyv
	
	ret

mas 	db 2,3,4,6,3,1,5,8
e	db ?

	end start
x128 вне форума Ответить с цитированием
Старый 27.06.2010, 21:14   #3
untitled
Новичок
Джуниор
 
Регистрация: 26.06.2010
Сообщений: 2
По умолчанию

спасибо большое за помощь) буду разбираться
untitled вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Видеопамять lilufonel Паскаль, Turbo Pascal, PascalABC.NET 4 28.05.2010 17:00
вывод строки цвета фона через bios и видеопамять ohucheni Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 19.03.2010 23:38
Видеопамять на Intel GMA 4500M Pavel_Ine Компьютерное железо 0 10.10.2009 11:04
Массивы, ввод.вывод через TEdit/TMemo MaksimSeriy Общие вопросы Delphi 5 02.04.2009 01:04
Вывод через Int 10h braun Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 11.11.2007 17:46