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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.05.2009, 16:52   #1
yvviys73
 
Регистрация: 27.05.2009
Сообщений: 4
По умолчанию

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

прога не сложная но не для моих мозгов...

Последний раз редактировалось rpy3uH; 30.05.2009 в 08:27.
yvviys73 вне форума Ответить с цитированием
Старый 27.05.2009, 18:31   #2
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Собственно главная процедурка.
Код:
mov al,17h
out 70h,al ; послать AL в индексный порт CMOS
in bl,71h ; прочитать данные
mov al,18h
out 70h,al ; послать AL в индексный порт CMOS
in bh,71h ; прочитать данные
;в BX будет размер доп памяти
call PrintExt ; Вывод на экран кол-во доп памяти

mov al,15h
out 70h,al ; послать AL в индексный порт CMOS
in bl,71h ; прочитать данные
mov al,16h
out 70h,al ; послать AL в индексный порт CMOS
in bh,71h ; прочитать данные
;в BX будет размер осн памяти
call PrintMain ; Вывод на экран кол-во осн памяти
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4

Последний раз редактировалось Goodwin98; 27.05.2009 в 18:55.
Goodwin98 вне форума Ответить с цитированием
Старый 27.05.2009, 18:35   #3
yvviys73
 
Регистрация: 27.05.2009
Сообщений: 4
По умолчанию

подскажи пожалуйста а что ещё надо дописать ???
yvviys73 вне форума Ответить с цитированием
Старый 27.05.2009, 18:51   #4
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Надо дописать подпрограммы PrintMain и PrintExt, которые переводят число в BX в строку и выводят ее на экран. Размеры в кБ.
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4

Последний раз редактировалось Goodwin98; 27.05.2009 в 19:01.
Goodwin98 вне форума Ответить с цитированием
Старый 27.05.2009, 20:12   #5
yvviys73
 
Регистрация: 27.05.2009
Сообщений: 4
По умолчанию ни как ((((

Что то ни как ((((( после листинга возникают ошибки......может всё таки поможешь и с этим.....пожалуйста
yvviys73 вне форума Ответить с цитированием
Старый 27.05.2009, 23:12   #6
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Подправил и дополнил.
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Старый 29.05.2009, 21:03   #7
yvviys73
 
Регистрация: 27.05.2009
Сообщений: 4
По умолчанию ????

Конечно извиняюсь за свою нескромность, неосведомлённость и настойчивость но хотелось спросить..... это всё что надо написать???? а то у меня програмка эта что то не работает
yvviys73 вне форума Ответить с цитированием
Старый 29.05.2009, 22:05   #8
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Код
Код:
; Вывод на экран количества основной и дополнительноя памяти
.model tiny
.code
.186
org 100h ; СОМ-программа
start:
	mov al,17h
	out 70h,al ; послать AL в индексный порт CMOS
	in al,71h ; прочитать данные
	mov bl,al
	mov al,18h
	out 70h,al ; послать AL в индексный порт CMOS
	in al,71h ; прочитать данные
	mov bh,al
	;в BX будет размер доп памяти
	call PrintExt ; Вывод на экран кол-во доп памяти
	
	mov al,15h
	out 70h,al ; послать AL в индексный порт CMOS
	in al,71h ; прочитать данные
	mov bl,al
	mov al,16h
	out 70h,al ; послать AL в индексный порт CMOS
	in al,71h ; прочитать данные
	mov bh,al
	;в BX будет размер осн памяти
	call PrintMain ; Вывод на экран кол-во осн памяти
	mov ax,4c00h
	int 21h 
	ret


PrintMain:
	mov ah,9h
	lea dx,message2 ;в dx загружаем адрес сообщения Message2
	int 21h ;вывод строки на экран
	jmp	reg2str
PrintExt:
	
	
	mov ah,9h
	lea dx,message ;в dx загружаем адрес сообщения Message2
	int 21h ;вывод строки на экран
reg2str:
	xor cx,cx  ; дальше будем раскладывать по разрядам число в bx
	mov ax,bx
l1:
	cmp ax,10000 ; если число больше
	jb l2
	sub ax,10000	; то вычитаем
	inc cx		;и увеличиваем счетчик
	jmp l1
l2:
	add cl,30h	; теперь в cx разряд числа, чтобы он стал символом добавляем 30h
	mov [buff],cl
	xor cx,cx

l3:
	cmp ax,1000
	jb l4
	sub ax,1000
	inc cx
	jmp l3
l4:
	add cl,30h
	mov [buff+1],cl
	xor cx,cx
	
l5:
	cmp ax,100
	jb l6
	sub ax,100
	inc cx
	jmp l5
l6:
	add cl,30h
	mov [buff+2],cl
	xor cx,cx
	
l7:
	cmp ax,10
	jb l8
	sub ax,10
	inc cx
	jmp l7
l8:
	add cl,30h
	mov [buff+3],cl
	add al,30h
	mov [buff+4],al
	
	mov ah,9h
	lea dx,buff ;в dx загружаем адрес сообщения
	int 21h ;вывод строки на экран
	
	
	ret



.data
message		db "Extend memory is $"; символ $ означает конец строки
message2	db "Main memory is $"
buff		db "$$$$$ Kb",0Dh,0Ah,"$"; 0dh,0ah - это перевод строки
end start
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4

Последний раз редактировалось Goodwin98; 30.05.2009 в 20:06.
Goodwin98 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ищется человек способный вытащить информацию из программы (СПБ). Myaukcha Фриланс 4 28.01.2009 21:04
Программирование микросхемы CMOS Maklai Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 04.01.2008 16:57