Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 635 • Страница 31 из 32<  1 ... 28  29  30  31  32  >
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Member
Статус: Не в сети
Регистрация: 16.05.2008
Откуда: DE
Vladson
maco
воот, спасибо. Мне значит базовый будет самое то.



Партнер
 

Member
Статус: Не в сети
Регистрация: 16.05.2008
Откуда: DE
var dw 0, 0FFFh, 0FFh, 1A, 3C

mov ax, var+7

что запишется в ах? 1A00 или 3C00?


 

Member
Статус: Не в сети
Регистрация: 15.02.2009
Откуда: Лангепас
Bad Fox писал(а):
var dw 0, 0FFFh, 0FFh, 1A, 3C

mov ax, var+7

что запишется в ах? 1A00 или 3C00?


Бред запишется, так как var - это указатель на массив слов и если он, к примеру, равен 0aaaah:0bbb0h то var+7, будет равен 0aaaah:0bbbeh (так как слово занимает 2 байта), а не 0aaaah:0bbb7h как Вы ожидаете...


 

Advanced member
Статус: Не в сети
Регистрация: 10.04.2003
Откуда: Москва
00, 00, FF, 0F, FF, 00, 1A, 00, 3C, 00
Отсчитывай 7 и 8 байты.


 

Member
Статус: Не в сети
Регистрация: 07.01.2010
serj писал(а):
00, 00, FF, 0F, FF, 00, 1A, 00, 3C, 00
Отсчитывай 7 и 8 байты.

там вроде как дворды объявлено было, разве не получится
00 00 00 00 FF 0F 00 00 FF 00 00 00 и т.д.?


 

Advanced member
Статус: Не в сети
Регистрация: 10.04.2003
Откуда: Москва
ToSHiC, dword = 'dd'
:)


 

Member
Статус: Не в сети
Регистрация: 07.01.2010
serj писал(а):
ToSHiC, dword = 'dd'
:)

мсдн даёт о себе знать :)


 

Member
Статус: Не в сети
Регистрация: 16.05.2008
Откуда: DE
serj писал(а):
00, 00, FF, 0F, FF, 00, 1A, 00, 3C, 00
Отсчитывай 7 и 8 байты.

7-й запишется в al или ah?


 

Advanced member
Статус: Не в сети
Регистрация: 10.04.2003
Откуда: Москва
У х86 процессора нет разночтений.
При любом способе доступа (байт/word/dword/qword...) нулевой байт пишется в младшую часть(биты 7-0), первый в следующий (биты 15-8) и т.д.


 

Member
Статус: Не в сети
Регистрация: 16.05.2008
Откуда: DE
serj спасибо


 

Junior
Статус: Не в сети
Регистрация: 10.04.2011
всем привет! буду очень благодарен если поможете)

Задан массив А из N чисел. Найти сумму четных чисел (делящихся без остатка на 2).


 

Member
Статус: Не в сети
Регистрация: 04.10.2004
x86 sample (array of unsigned byte):
Код:
   xor Sum_L,Sum_L
   xor Sum_H,Sum_H
   mov Index,Init_Addr
   mov   Cnt,N
Start:
   mov Temp,[Index]
   test Temp,1
   jnz Odd
   add Sum_L,Temp
   adc Sum_H,0
Odd:
   inc Index
   loop Start


 

Member
Статус: Не в сети
Регистрация: 11.01.2006
Откуда: Таганрог
Ребят, а кто-нибудь писал программы под MMIX архитектуру? Чет не разберусь как настроить симулятор и ассемблер :roll:


 

Member
Статус: Не в сети
Регистрация: 25.09.2009
Откуда: Тула
Привет прошу помощи с ассемблером. Нужно вывести сообщение "Процессор поддерживает/ не поддерживает Cool'n'Quiet". Знаю, что нужно использовать CPUID, но как? Какую литературу посоветуете почитать?
P.S. не прошу сделать за меня, прошу лишь немного информации.


 

member+
Статус: Не в сети
Регистрация: 16.01.2004
Откуда: Estonia,Tallinn
VBIF542 писал(а):
Знаю, что нужно использовать CPUID, но как?

В гугле забанили ?

http://en.wikipedia.org/wiki/CPUID

(только там нет информации о том включен ли QnQ, там можно выяснить поддерживается ли он процессором)

_________________
X99-TF/E5-2678v3+Evo212/2x16Gb-DDR4-Gloway-TYPE-a@2133-12-13-13-26/GTX970/Asgard-AN3-2TNVMe


 

Member
Статус: Не в сети
Регистрация: 15.02.2009
Откуда: Лангепас
oxy писал(а):
Vladson писал(а):
(только там нет информации о том включен ли QnQ, там можно выяснить поддерживается ли он процессором)

О поддержке процом Сool&Quiet Википедия не даст. Он сможет сказать чё за проц стоит, а по нему можно попытаться и определить енту возможность.
Есть
Код:
EAX=80000000h: Get Highest Extended Function Supported
                  The highest calling parameter is returned in EAX.
[edit]EAX=80000001h: Extended Processor Info and Feature Bits
                  This returns extended feature flags in EDX and ECX.

Но они у каждого проца свои, читаем описалово cpuid от AMD
А почитать какой проц поддерживает, а какой нет можно в той же вики

З.Ы. Блин, это всё гугл за 5 мин.


 

Member
Статус: Не в сети
Регистрация: 16.05.2008
Откуда: DE
не разберусь с негативными числами
надо градусы из Фаренгейта перевести в Цельсий, формула Celsius = (Fahrenheit * 5 - 160) / 9
Код:
.data             
       F      DW   20      ;заданная температура по шкале Фаренгейта
       C      DW   0, 0    ; здесь будет температура по шкале Цельсия
       faktor   equ     5

.stack  16             
.code                       
.startup

       mov ax, F
       mov bx, faktor
       mul bx         
       sub ax, 160   ; после этой строчки в AX будет стоять FFC4h, что соответствует -60   
       mov bx, 9
       mov dx, 0
       idiv bx      ; а после этой   1C6Bh (т.е. 7275) , причем хоть div, хоть idiv, результат такой же
       mov C[0], ax
       mov C[2], dx   

В конце в C[0] должно стоять число -6, а получается 7275
Помогите найти, где косяк..

Добавлено спустя 9 минут 9 секунд:
то есть где косяк, вобщем-то понятно, процессор делит FFC4h на 9, и получает 1C6B, но мне-то надо чтобы получилось FFFA, т.е. -6..
не знаю, может есть еще какие-то команды для деления или корректировки результата?


 

Member
Статус: Не в сети
Регистрация: 15.02.2009
Откуда: Лангепас
mov dx, 0 - Это чё?

При умножении слов получаем двойное слово в AX:DX
При делении - делим AX:DX на слово.


По аналогии выше:
Если умножаем байты - то результатом будет слово
На байт делить надо слово.


 

Member
Статус: Не в сети
Регистрация: 16.05.2008
Откуда: DE
oxy писал(а):
mov dx, 0 - Это чё?

как показал опыт, в DX-регистр лучше предварительно загружать ноль, иначе резуьтат получается некорректный
oxy писал(а):
При умножении слов получаем двойное слово в AX:DX
При делении - делим AX:DX на слово.

умножение верно, а при делени содержимое регистра AX делится либо на байт, например BL (тогда в AL помещается результат, а в AH остаток) или на слово, как у меня, AX делится на BX. Тогда в АХ помещается результат, а в DX остаток


 

Member
Статус: Не в сети
Регистрация: 15.02.2009
Откуда: Лангепас
Bad Fox писал(а):
а при делени содержимое регистра AX делится либо на байт, например BL (тогда в AL помещается результат, а в AH остаток) или на слово, как у меня, AX делится на BX. Тогда в АХ помещается результат, а в DX остаток

Садись - два. - Сказал гугль первой же ссылкой


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 635 • Страница 31 из 32<  1 ... 28  29  30  31  32  >
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  



Лаборатория














Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan