Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

08.03.2008, 13:47
|
|
Участник форума
Регистрация: 01.12.2007
Сообщений: 141
Провел на форуме: 1208190
Репутация:
136
|
|
Dos
|
|
|

08.03.2008, 13:55
|
|
Постоянный
Регистрация: 05.01.2007
Сообщений: 508
Провел на форуме: 2360904
Репутация:
1393
|
|
тогда компиль с флагом /AT
|
|
|

08.03.2008, 14:33
|
|
Участник форума
Регистрация: 01.12.2007
Сообщений: 141
Провел на форуме: 1208190
Репутация:
136
|
|
ml /c /AT first.asm - команда проканала
link /SUBSYSTEM:CONSOLE first.obj - ругаца..
warning LNK4033: converting object format from OMF to COFF
fatal error LNK1190: invalid fixup found, type 0x0001
вот кодес:
Код:
;---------------------------------
TITLE PRIMER11
;---------------------------------
CODSEG SEGMENT
ASSUME CS:CODSEG, DS:CODSEG, SS:CODSEG, ES:CODSEG
ORG 100H
BEGIN:
JMP BEG_CODE
TEXT DB 'My first program on assembler. $'
BEG_CODE:
MOV AX,CS
MOV DS,AX
LEA DX,TEXT
MOV AH,9
INT 21H
MOV AH,4CH
INT 21H
CODSEG ENDS
END BEGIN
|
|
|

15.03.2008, 00:01
|
|
студент
Регистрация: 30.07.2007
Сообщений: 800
Провел на форуме: 4275992
Репутация:
1188
|
|
не могу понять...
есть процедура на асме которая выставляет частоту микросхемы таймера.
____________________________________________
Код:
SetTimeFraq Proc
ARG freq:word
push bp
mov bp,sp
mov al, 36h
out 43h,al
jmp $+2
mov ax, freq
out 40h,al
jmp $+2
xchg al,ah
out 40h, al
pop bp
ret
SetTimeFraq EndP
____________________________________________
Вопрос: почему для задержки при переходе к след. инструкции используется JMP $+2 (а не nop или друг.)
В асме поке не силен так что сильно не ругайте)
Последний раз редактировалось De-visible; 29.04.2008 в 00:59..
Причина: теги [code]
|
|
|

15.03.2008, 00:38
|
|
Moderator - Level 7
Регистрация: 17.05.2007
Сообщений: 220
Провел на форуме: 3013539
Репутация:
441
|
|
потому что $ - адрес команды jmp, команда занимает 2 байта (short), + 2 переход на следующую команду (mov ax, freq),
можно очевидно в данном случае nop также использовать
|
|
|

15.03.2008, 09:45
|
|
Reservists Of Antichat - Level 6
Регистрация: 04.02.2007
Сообщений: 1,152
Провел на форуме: 3008839
Репутация:
1502
|
|
Сообщение от VERte][
потому что $ - адрес команды jmp, команда занимает 2 байта (short), + 2 переход на следующую команду (mov ax, freq),
можно очевидно в данном случае nop также использовать
Да на самом деле не особо понятно, зачем вообще ждать...
__________________
Bedankt euch dafür bei euch selbst.
H_2(S^3/((z1, z2)~(exp(2pi*i/p)z1, exp(2pi*q*i/p)z2)))=Z/pZ
|
|
|

15.03.2008, 16:15
|
|
студент
Регистрация: 30.07.2007
Сообщений: 800
Провел на форуме: 4275992
Репутация:
1188
|
|
Сообщение от desTiny
Да на самом деле не особо понятно, зачем вообще ждать...
На сколько я понял все таки нужно ждать, потому что:
каждый из 3-х каналов микросхемы таймера i8253 (i8254) состоит из 3-х регистров. Доступ к каждой группе регистров осуществляется через 1 порт (номера портов от 40h до 42h соответственно каналам 0-2).
Порт связан с 8-битн регистром ввода/вывода. Через порт отправляется 2-байтн значение (с младш байта) которое сохраняется в 16 битн регистре.
ИМХО) по ходу задержка для того чтоб в 2 этапа протолкнуть 16 битн значение через 8 битн порт.
если не прав помогите понять что к чему)
|
|
|

16.03.2008, 09:15
|
|
Banned
Регистрация: 18.05.2005
Сообщений: 1,981
Провел на форуме: 1941233
Репутация:
2726
|
|
nop использовать не стоит, т.к. jmp short занимает куда больше тактов процессора
Ждать надо, что бы успела обработать аппаратура. Только не надо спрашивать конкретнее - что куда там обработать, как микросхема пашет и пр. - я хз.
|
|
|

16.03.2008, 11:01
|
|
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме: 2209675
Репутация:
537
|
|
ребят, у меня мандрива линукс 2007.
скажите пожалуйста что нужно установить и сделать, чтобы скомпилить самую примитивную прогу на ассемблере? чтоб проще неё уже ниче придумать нельзя было.
какие пакеты нужны?
редактор? (вима хватит?)
исходный код (в его содержимом после разберусь)
как компильнуть и запустить?
|
|
|

16.03.2008, 11:25
|
|
Постоянный
Регистрация: 25.05.2007
Сообщений: 448
Провел на форуме: 4226446
Репутация:
1564
|
|
2Дикс
nasm
http://linux.softpedia.com/get/Programming/Compilers/NASM-The-Netwide-Assembler-643.shtml
nasm manual
http://nasm.sourceforge.net/doc/nasmdoc0.html
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|