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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.03.2013, 15:52   #11
RuRu*
Пользователь
 
Регистрация: 13.02.2013
Сообщений: 10
По умолчанию

я конечно понимаю, что для вас это наверное элементарные вещи, так же как и для меня рнр, но на самом деле я не знаю что куда вставить..
может кто-нибудь возьмется за нее, можно за вознаграждение)
по-моему прога не сложная, для тех кто разбирается
RuRu* вне форума Ответить с цитированием
Старый 14.03.2013, 16:13   #12
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Да она и для вас должна быть не сложной. Но после выделения стоит сделать проверки на успех выполнения функции - почитайте как работает функция, ведь в гугле вам обязательно про это расскажут. и пользуйтесь отладчиком - это здорово помогает (надеюсь, вы же в php не сразу код выдаете как исполняемый ).

Цитата:
Код:
	mov es, ax
	int 21h
вот это вообще порадовало)))
Вы в пхп тоже сначала присваиваете объект, а лишь потом его создаете? здесь по-сути такая же история - функция еще не выполнена, но вы уже пытаетесь обработать её результат. Поменяйте эти строчки местами - может здорово помочь...
Правильно поставленная задача - три четверти решения.

Последний раз редактировалось DiemonStar; 14.03.2013 в 16:17.
DiemonStar вне форума Ответить с цитированием
Старый 14.03.2013, 16:31   #13
RuRu*
Пользователь
 
Регистрация: 13.02.2013
Сообщений: 10
По умолчанию

очень здорово помогло))
если их поменять местами, то файл не создается. а так он хотя бы пустым создавался)
Ну неужели никто не может мне помочь?!

Последний раз редактировалось RuRu*; 14.03.2013 в 16:46.
RuRu* вне форума Ответить с цитированием
Старый 14.03.2013, 16:49   #14
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Цитата:
очень здорово помогло))
если их поменять местами, то файл не создается. а так он хотя бы пустым создавался)
ну тогда отладчик вам в зубы, и смотрите, что и откуда берется...
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 14.03.2013, 16:55   #15
RuRu*
Пользователь
 
Регистрация: 13.02.2013
Сообщений: 10
По умолчанию

сделайте мне за денюжку)
RuRu* вне форума Ответить с цитированием
Старый 14.03.2013, 17:50   #16
vadimych
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 325
По умолчанию

RuRu*, не знаю, какой там информацией надо файл заполнять. Заполняется символами asci.
Код:
.model small					; модель памяти ближнего типа
.stack 100h					        ; определить стек размером 100h
.data
	fname db 'report.txt',0

.code						        ; открыть сегмент кода
main:
        mov es,es:2ch                           ; выгружаем из памяти окружение дос
        mov ah,49h
        int 21h

	;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 Strr
	;int 21h
	;mov dx,offset Str1
	;int 21h
	;mov dx,offset Str2
	;int 21h
	;mov dx,offset Str3
	;int 21h
	;mov dx,offset Str4
	;int 21h
	;mov  ah,02h				; Установить положение курсора
	;mov  bh,00h				; Страница 0
	;mov  dx,0000h				; В левый верхний угол экрана
	;int  10h				; Вызвать BIOS


for_start : 
	mov ah,3ch
	mov cx,0
	mov dx,offset fname
	int 21h 
      push ax


	mov ah,48h 				; выделяем блок памяти
      mov bx,100h
    	int 21h
      jnc @ok
      mov ah,48h                              ; если запрошенное количество памяти
      int 21h                 ; не может быть выделено, то в bx вернётся значение
      @ok:                    ; доступной памяти в параграфах
      shl bx,4                ; умножаем на 16, получаем кол-во выделенных байт
      mov es,ax
      mov ds,ax
	mov di,0 				       ; Счетчик = 0 
      
for_loop: 					       ; метка для перехода назад 
      
      mov ax,di
	stosb				; увеличиваем DI на 1 
      cmp di,bx
	jnz for_loop 				; если не равно, переход на for_loop 

      dec di
      mov cx,di
      pop bx
	mov ah,40h
	xor dx,dx
	int 21h

for_finish: 					        ; если равно, выходим
	mov ah,3Eh 
	int 21h
      mov ax,4c00h
      int 21h
	end main
vadimych вне форума Ответить с цитированием
Старый 14.03.2013, 18:04   #17
RuRu*
Пользователь
 
Регистрация: 13.02.2013
Сообщений: 10
По умолчанию

Ооо, крутяяяяк!!
спасибо огромнейшее!!
А строки мои получается вывести нельзя??

аа, ну я очистку после поставила

Последний раз редактировалось RuRu*; 14.03.2013 в 18:06.
RuRu* вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как динамически выделять память? tur91 Общие вопросы .NET 11 08.01.2013 16:48
(Asm) Поиск символьной цепочки в памяти Lawliet32 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 8 19.05.2012 13:20
Как поместить блок в блок? mulderfbi HTML и CSS 6 28.09.2010 12:13
первый блок должен заливать весь фон, а второй блок блок выводить сплошную горизонтальную балку SanBorisych HTML и CSS 2 12.01.2010 17:42
Что такое динамически выделенный массив структур? -ushёl- Помощь студентам 5 02.01.2010 17:58