Форум программистов, компьютерный форум, киберфорум
Наши страницы

Assembler, MASM, TASM

Войти
Регистрация
Восстановить пароль
 
boltiq
0 / 0 / 0
Регистрация: 20.10.2012
Сообщений: 2
#1

Описать принцип работы - Assembler

06.05.2013, 08:06. Просмотров 539. Ответов 1
Метки нет (Все метки)

Здравствуйте.
Есть программа на FASM'е, которая выводит частоту процессора. Может ли кто-нибудь, как можно подробнее описать принцип её работы?

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
org 100h        
 
jmp begin           
 
n1:             
 
rdtsc           
sub edx, ecx                    
sub eax, ebx                    
call outdec
jmp x
zz:
inc cx
cmp cx, 18
je n1
x:
 
 
mov al, 20h
out 20h, al
iret
 
begin:
rdtsc
mov ecx, edx
mov ebx, eax
 
mov cx, 0
mov ax, 0
mov es, ax
mov ax, zz
mov [es:8h*4], ax
mov [es:8h*4+2], cs
 
 
 
mov ah,0
int 16h
int 20h
 
outdec:
pushad
pushf
mov ebx,1000000000
xor cx,cx
.loop:
xor edx,edx
div ebx
or cl,cl
jnz .out
or al,al
jz .noout
mov cl,1
.out:
add al,'0'
mov ah,0eh
int 10h
.noout:
push edx
mov eax,ebx
xor edx,edx
mov ebx,10
div ebx
mov ebx,eax
pop eax
test ebx,ebx
jnz .loop
popf
popad
ret
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.05.2013, 08:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Описать принцип работы (Assembler):

принцип работы команды Add Ax, pole. - Assembler
Готовлюсь к экзаменам по информатике. Все вопросы проработал, а этот не получается. Пожалуйста, помогите с источниками, или напишите...

Объясните принцип работы - Программирование
Добрый день. Возник ряд вопросов: не могу понять, каким образом реализован на уровне BIOS механизм вывода символов на экран? Т. е. каким...

Объясните принцип работы стека - Программирование
Поясните пожалуйста подробно о работе стека. С курсов по С++ выяснил, что память в программе написанной на С++ можно выделить 3 разными...

Комментарии к коду или общий принцип программы - Assembler
Привет ребята! Не могу разобраться с кодом. Мог бы кто не будь прокомментировать его? НЕобязательно каждую сточку, просто, что бы мне...

Объясните принцип работы - Assembler
Здравствуйте. При написании программы, которая должна выводить целые числа в интервале от 1 до n, у меня получилось что-то странное: вот...

Принцип работы EPI/IP - Assembler
Добрый вечер! Вы бы не могли мне объяснить , принцип работы IP , я знаю как бы , но еще бы раз мне не помешал бы, или статью подскажите...

1
Mikl___
Заблокирован
Автор FAQ
06.05.2013, 09:17 #2
boltiq,
с ошибкой программа эту частоту выводит, у меня 2,99 Ghz программа выдала 2830779884, смысл программы
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
jmp begin            
n1:   rdtsc ;получаем 64-битное количество тактов с момента последнего сброса в регистрах EDX:EAX
sub edx, ecx ;вычитаем из него то значение, что было одну секунду назад                   
sub eax, ebx                    
call outdec; выводим это значение на экран
jmp x
zz:  inc cx  ;адрес нового прерывания 8h (прерывания 8 происходит каждые 55 миллисекунд
; приблизительно 18.2 раз в секунду)
cmp cx, 18
je n1; прошла приблизительно 1 секунда идем на метку n1
x:   mov al, 20h;Если аппаратное  прерывание не заканчивается этими строками, то микросхема 8259 не очистит               
     out 20h, al;информацию регистра обслуживания, с тем чтобы была  разрешена  обработка  прерываний 
     iret;с более низкими  уровнями, чем только что обработанное. Отсутствие  этих строк легко может привести к  ;краху программы, так как прерывания от   клавиатуры   скорее  всего  окажутся  замороженными и   даже 
;Ctrl-Alt-Del окажется  бесполезным.
begin:  rdtsc ; получаем 64-битное количество тактов с момента последнего сброса в регистрах EDX:EAX
mov ecx, edx;и запоминаем это значение в регистрах ECX:EBX
mov ebx, eax
mov cx, 0
mov ax, 0
mov es, ax; ES=0
mov ax, zz; адрес нового прерывания 8h
mov [es:8h*4], ax
mov [es:8h*4+2], cs
 mov ah,0; ждем нажатия на любую клавишу клавиатуры
 int 16h
 int 20h; выход из программы
outdec: pushad
pushf
mov ebx,1000000000
xor cx,cx
.loop:  xor edx,edx
div ebx; делим содержимое ЕАХ на 1000000000
or cl,cl
jnz .out; если CL не равно нулю идем на метку out
or al,al
jz .noout; если АL равно нулю идем на метку noout
mov cl,1
.out: add al,'0'
mov ah,0eh
int 10h;Вывод  в  режиме  телетайпа.   Данная    функция    позволяет использовать монитор, 
;как простой терминал.  Для выполнения  этой  функции необходимо установить в регистре  AH  шест.  
;значение  0E,  в  pегистр  AL поместить выводимый символ, цвет текста (в графическом режиме)  
;занести  в регистр BL и номер страницы для текстового режима - в регистр BH. Звуковой сигнал (код 07H),
;возврат на одну позицию  (08H),  конец  строки  (0AH)  и возврат каретки (0DH) действуют,  как  команды  
;для  форматизации  экрана. Данная функция  автоматически  продвигает  курсор,  переводит  символы  на
;следующую cтроку, выполняет прокрутку экрана и сохраняет текущие  атрибуты экрана.
.noout:  push edx
mov eax,ebx
xor edx,edx
mov ebx,10
div ebx
mov ebx,eax
pop eax
test ebx,ebx
jnz .loop
popf
popad
ret
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.05.2013, 09:17
Привет! Вот еще темы с ответами:

Описать принцип работы модели в терминах теории электрических цепей - Логика и множества
Помогите пожалуйста с заданием, либо хорошие направления как делать ?! Задание: Графически изобразить ключевую модель, реализующую...

Cобытийность. Принцип использования и принцип работы событий в jQ и GCT - JavaScript
Добрый день. Подготавливаюсь к собеседованию по чеклисту и не могу найти ответ на вопрос: событийность. Принцип использования и принцип...

Описать принцип осуществления резервного копирования и восстановления данных - Информатика
описать принцип осуществления резервного копирования и восстановления данных?

Принцип работы - C# MVC
ЗДравствуйте, первый вопрос по поводу выпадающего списка - его можно создать только через dropdownlist? И еще,пожалуйста,помогите...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.