хм… я например ассемблер X86 смог изучить после изучения ассемблера 8-контроллеров например Atmel или PIC, потом перешел на 32-битные микроконтроллеры.Как вариант… У атмела, например, очень похожий синтаксис инструкций с X86.
INT 21 – DOS 2+ – GET FREE DISK SPACE
AH = 36h
DL = drive number (00h = default, 01h = A:, etc)
Return: AX = FFFFh if invalid drive
else
AX = sectors per cluster
BX = number of free clusters
CX = bytes per sector
DX = total clusters on drive
Notes: free space on drive in bytes is AX * BX * CX
total space on drive in bytes is AX * CX * DX
"lost clusters" are considered to be in use
according to Dave Williams' MS-DOS reference, the value in DX is
incorrect for non-default drives after ASSIGN is run
this function does not return proper results on CD-ROMs;
use AX=4402h"CD-ROM" instead
(FAT32 drive) the reported total and free space are limited to 2G-32K
should they exceed that value
INT 21 – Windows95 – FAT32 – GET EXTENDED FREE SPACE ON DRIVE
AX = 7303h
DS:DX -> ASCIZ string for drive ("C:\" or "\\SERVER\Share")
ES:DI -> buffer for extended free space structure (see #01789)
CX = length of buffer for extended free space
Return: CF clear if successful
ES:DI buffer filled
CF set on error
AX = error code
Notes: on DOS versions which do not support the FAT32 calls, this function
returns CF clear/AL=00h (which is the DOS v1+ method for reporting
unimplemented functions)
under DOS 7.x (i.e. "MSDOS Mode" under Windows95), the ASCIZ string
pointed at by DS:DX *must* include the drive letter, or this function
will return CF set/AX=0015h (invalid drive). In a DOS box, omitting
the drive letter (DS:DX -> "\") results in the free space for the
current default drive, as expected
BUG: this function returns a maximum of 2GB free space even on an FAT32
partition larger than 2GB under some versions of Win95 and Win98,
apparently by limiting the number of reported free clusters to no
more than 64K — but only in a DOS window if a TSR has hooked INT 21h
Format of extended free space structure:
Offset Size Description (Table 01789)
00h WORD (ret) size of returned structure
02h WORD (call) structure version (0000h)
(ret) actual structure version (0000h)
04h DWORD number of sectors per cluster (with adjustment for compression)
08h DWORD number of bytes per sector
0Ch DWORD number of available clusters
10h DWORD total number of clusters on the drive
14h DWORD number of physical sectors available on the drive, without
adjustment for compression
18h DWORD total number of physical sectors on the drive, without
adjustment for compression
1Ch DWORD number of available allocation units, without adjustment
for compression
20h DWORD total allocation units, without adjustment for compression
24h8 BYTEs reserved
Мда, эволюция – Pascal, С, Asm… Потом нужно выучить FORTH и сойти с ума. Потрясающий язык. Я после него в хранимых процедурах SQL путаться начинал.
А при изучении ассемблера неплохо было бы почитать interrupts list.
Для начального знакомства с предметом – архивы Калашниковской рассылки и книжка Зубкова;
Для понимания того, как оно все работает и как программировать низкоуровневые вещи – Абель;
Для программирования на ассемблере под венду – туториалы Iczelion'а;
И как самый полный и самый новый справочник – интеловская документация (intel ia32 and ia64 architectures software developer's manual).
после паскаля лучше сначала си хотяб азы, чтоб мозг не слишком сломан оказался, а потом асм
либо уже постараться совсем не сравнивать с тем что знал и начинать разбираться с логики
начинающему надо разобраться с форматом комманд, а их, насколько мне помнится в Зубкове обособленно не предоставленно, но если уже есть навыки программирования на других языках, то можно разобраться, если же навыков нет совсем, то можете так же почитать Абеля ( //lib.ru/CTOTOR/IBMPC/abel.txt )по-моему вполне на доступном языке, и в конце есть таблица прерываний, примеры программ с комментариями и т п
а так же Пильщикова ( //cracklab.narod.ru/asm/ )
ыть
зависит от того, какие задачи будешь решать – чем сложнее, тем, конечно, лучше
а,например, меня учили по стандартной схеме – HelloWorld, арифметика, работа со строками, потом адресация, стек, подпрограммы, графика. Примерно как-то так.
Подоборка литературы у меня до сих пор валяется на компе + книжечка в столе. Сложно сказать, что нужно начинающему. Начинающему нужно то, в чем он найдет ответ на возникшие вопросы при решении конкретных задач, а универсальной одной книги не существует.
14 июля 2009 в 22:03
хм… я например ассемблер X86 смог изучить после изучения ассемблера 8-контроллеров например Atmel или PIC, потом перешел на 32-битные микроконтроллеры.Как вариант… У атмела, например, очень похожий синтаксис инструкций с X86.
14 июня 2009 в 18:04
Спосибо!
14 июня 2009 в 18:00
INT 21 – DOS 2+ – GET FREE DISK SPACE
AH = 36h
DL = drive number (00h = default, 01h = A:, etc)
Return: AX = FFFFh if invalid drive
else
AX = sectors per cluster
BX = number of free clusters
CX = bytes per sector
DX = total clusters on drive
Notes: free space on drive in bytes is AX * BX * CX
total space on drive in bytes is AX * CX * DX
"lost clusters" are considered to be in use
according to Dave Williams' MS-DOS reference, the value in DX is
incorrect for non-default drives after ASSIGN is run
this function does not return proper results on CD-ROMs;
use AX=4402h"CD-ROM" instead
(FAT32 drive) the reported total and free space are limited to 2G-32K
should they exceed that value
INT 21 – Windows95 – FAT32 – GET EXTENDED FREE SPACE ON DRIVE
AX = 7303h
DS:DX -> ASCIZ string for drive ("C:\" or "\\SERVER\Share")
ES:DI -> buffer for extended free space structure (see #01789)
CX = length of buffer for extended free space
Return: CF clear if successful
ES:DI buffer filled
CF set on error
AX = error code
Notes: on DOS versions which do not support the FAT32 calls, this function
returns CF clear/AL=00h (which is the DOS v1+ method for reporting
unimplemented functions)
under DOS 7.x (i.e. "MSDOS Mode" under Windows95), the ASCIZ string
pointed at by DS:DX *must* include the drive letter, or this function
will return CF set/AX=0015h (invalid drive). In a DOS box, omitting
the drive letter (DS:DX -> "\") results in the free space for the
current default drive, as expected
BUG: this function returns a maximum of 2GB free space even on an FAT32
partition larger than 2GB under some versions of Win95 and Win98,
apparently by limiting the number of reported free clusters to no
more than 64K — but only in a DOS window if a TSR has hooked INT 21h
Format of extended free space structure:
Offset Size Description (Table 01789)
00h WORD (ret) size of returned structure
02h WORD (call) structure version (0000h)
(ret) actual structure version (0000h)
04h DWORD number of sectors per cluster (with adjustment for compression)
08h DWORD number of bytes per sector
0Ch DWORD number of available clusters
10h DWORD total number of clusters on the drive
14h DWORD number of physical sectors available on the drive, without
adjustment for compression
18h DWORD total number of physical sectors on the drive, without
adjustment for compression
1Ch DWORD number of available allocation units, without adjustment
for compression
20h DWORD total allocation units, without adjustment for compression
24h8 BYTEs reserved
Sapienti sat…
14 июня 2009 в 17:00
люди добрые! помогите! мне надо код для определения свободногоместа на диске!…или гссылку где его можно подсмотеть! благодарю заранее!:)
7 июня 2009 в 0:02
х86, инфа 100%. Если человек спрашивает про литературу, то гарантированно восемьдесят шестой.
6 июня 2009 в 23:03
Во первых какая архитектура автор?
6 июня 2009 в 13:03
Мда, эволюция – Pascal, С, Asm… Потом нужно выучить FORTH и сойти с ума. Потрясающий язык. Я после него в хранимых процедурах SQL путаться начинал.
А при изучении ассемблера неплохо было бы почитать interrupts list.
6 июня 2009 в 11:00
Для начального знакомства с предметом – архивы Калашниковской рассылки и книжка Зубкова;
Для понимания того, как оно все работает и как программировать низкоуровневые вещи – Абель;
Для программирования на ассемблере под венду – туториалы Iczelion'а;
И как самый полный и самый новый справочник – интеловская документация (intel ia32 and ia64 architectures software developer's manual).
6 июня 2009 в 11:00
Ну и wasm.ru конечно.
6 июня 2009 в 10:03
Это точно! +1)
6 июня 2009 в 0:04
Юрова фтопку.
6 июня 2009 в 0:03
после паскаля лучше сначала си хотяб азы, чтоб мозг не слишком сломан оказался, а потом асм
либо уже постараться совсем не сравнивать с тем что знал и начинать разбираться с логики
5 июня 2009 в 22:02
я вот паскаль хорошо изучил, начал читать асемблер ничего не понял недогоняю
5 июня 2009 в 22:00
Зубков – однозначно, но не для полных нубов, а для кодеров. Калашников же хорош для нубов и ненубов (но не более того ).
Юров – ТОЛЬКО для СТУДЕНТОВ. Мозг программера этого не выдерживает…
5 июня 2009 в 21:00
//asm.shadrinsk.net/docum.htm вот там ещё есть нормальный учебник
5 июня 2009 в 18:01
начинающему надо разобраться с форматом комманд, а их, насколько мне помнится в Зубкове обособленно не предоставленно, но если уже есть навыки программирования на других языках, то можно разобраться, если же навыков нет совсем, то можете так же почитать Абеля ( //lib.ru/CTOTOR/IBMPC/abel.txt )по-моему вполне на доступном языке, и в конце есть таблица прерываний, примеры программ с комментариями и т п
а так же Пильщикова ( //cracklab.narod.ru/asm/ )
5 июня 2009 в 17:02
ыть
зависит от того, какие задачи будешь решать – чем сложнее, тем, конечно, лучше
а,например, меня учили по стандартной схеме – HelloWorld, арифметика, работа со строками, потом адресация, стек, подпрограммы, графика. Примерно как-то так.
Подоборка литературы у меня до сих пор валяется на компе + книжечка в столе. Сложно сказать, что нужно начинающему. Начинающему нужно то, в чем он найдет ответ на возникшие вопросы при решении конкретных задач, а универсальной одной книги не существует.
5 июня 2009 в 15:00
сколько времени надо угрохать чтоб разобраться с этим языком??
охота прогать на ней
5 июня 2009 в 13:00
Инфупо ассемблеру лучше брать с wasm`а и cracklab` а
5 июня 2009 в 12:02
Зубков +1
А вообще пользуйся поиском, тема такая была, ответы там все есть!!!
5 июня 2009 в 8:00
Алексей Skvo Самоквитов, +1
5 июня 2009 в 0:02
Зубков С.В. – Ассемблер для dos, windows и unix.