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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.10.2011, 13:59   #1
DinoAsm
Пользователь
 
Аватар для DinoAsm
 
Регистрация: 29.10.2010
Сообщений: 31
По умолчанию Програма создание файла с таблицей 4-х степеней

Попробовал написать прогу, которая должна создать файл с масивом 64-битных 4-х степеней чисел. Прога вылетает при обращении к переменной. Помогите, плз.

Код:
	.386
	.model flat, stdcall
	option casemap :none

	include \MASM32\INCLUDE\windows.inc
	include \MASM32\INCLUDE\kernel32.inc
	include \MASM32\INCLUDE\shell32.inc

	includelib \MASM32\LIB\kernel32.lib
;	includelib \MASM32\LIB\shell32.lib

; #########################################################################
vardata segment
buf DD 49796*8 dup (?)
thID DD ?
thH DD ?
extFileH DD ?
extFileBWritten DD ?
vardata ends

data segment
extFileName DB 'out.bin',0
data ends

code segment

start:

push offset thID
push 0
push 0
push offset thread2
push 0
push 0
call CreateThread
TEST EAX,EAX
je start
mov thH,EAX

mov ECX,1
mov EBX,0

loop1:

mov EAX,ECX
mul ECX
mul EAX
mov [EBX*8 + offset buf], EAX
mov [EBX*8 + offset buf + 4], EDX

inc ECX
inc EBX

cmp ECX, 24898
jne loop1

invoke WaitForSingleObject, thH, INFINITE
invoke CreateFileA, offset extFileName, GENERIC_READ, FILE_SHARE_READ, 0, CREATE_ALWAYS, 0, 0
mov extFileH,EAX
invoke WriteFile, EAX, offset buf, 398368, offset extFileBWritten, 0
invoke CloseHandle, extFileH
invoke ExitProcess, 0

thread2:;-----------------------------------------------------

mov ECX,24898
mov EBX,24897

loop2:

mov EAX,ECX
mul ECX
mul EAX
mov [EBX*8 + offset buf], EAX
mov [EBX*8 + offset buf + 4], EDX

inc ECX
inc EBX

cmp ECX, 49797
jne loop2

invoke ExitProcess, 0

code ends

end start

; #########################################################################
В гостях - хорошо. Дома – лучше. В пути туда и обратно - терпимо. Стоять в проходе и по пол часа прощаться – ужасно.
DinoAsm вне форума Ответить с цитированием
Старый 28.01.2012, 12:28   #2
DinoAsm
Пользователь
 
Аватар для DinoAsm
 
Регистрация: 29.10.2010
Сообщений: 31
По умолчанию

Сори за флуд Я скопипастил и забыл поменять ExitProcess на ExitThread.
В гостях - хорошо. Дома – лучше. В пути туда и обратно - терпимо. Стоять в проходе и по пол часа прощаться – ужасно.
DinoAsm вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести таблицу степеней 2 (от 0-ой до 16-й) в следующем виде: Ромиk Помощь студентам 9 14.09.2011 08:05
создание формы с подчинённой таблицей aleika Microsoft Office Access 0 25.04.2010 21:14
Програма чтения из файла на дельфи terminadoor Помощь студентам 18 03.07.2008 18:14
Создание вложенного слоя с таблицей Adamant JavaScript, Ajax 2 13.12.2007 01:04