Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Assembler

Автор: delover
Дата сообщения: 26.03.2013 17:15
bomzzz
Спасибо, не знал просто в Delphi были проблеммы с PortOut PortIn. Думал это общая тенденция.
Автор: STEPADAF
Дата сообщения: 27.03.2013 17:37
Ребят помогите до работать программу. есть программа которая управляет кулером,но она не работает
Автор: STEPADAF
Дата сообщения: 29.03.2013 18:20
Мне кто-нибудь ответит?
Автор: bomzzz
Дата сообщения: 29.03.2013 19:03
где твоя программа. может не работать, если матплата управление кулером не поддерживает
Автор: STEPADAF
Дата сообщения: 31.03.2013 13:05
bomzzz
а как проверить можно поддерживает она или нет?
Автор: MERCURY127
Дата сообщения: 31.03.2013 13:24
Автор: bomzzz
Дата сообщения: 31.03.2013 13:48
в описании матплаты почитать, или в настройках биоса посмотреть
Автор: STEPADAF
Дата сообщения: 01.04.2013 15:46
Материнка поддерживает управление кулером

вот ссылка на программу
http://www.findthatzipfile.com/search-27166429-hZIP/winrar-winzip-download-kur_asm.zip.htm
подскажите может я что-то не понимаю
Автор: MERCURY127
Дата сообщения: 01.04.2013 16:52
STEPADAF, я не уверен, что мои скромные знания позволяют сделать однозначный вывод, но мне кажется, что вот эта строчка

Код: PortLTP DW 378h
Автор: ForposT_ForeveR
Дата сообщения: 10.04.2013 15:01
Здравствуйте.
Помогите, пожалуйста, решить на TASM'e:

Цитата:

Составить программу, которая запрашивает стоимость книг, сумму денег, внесенную покупателем, количество книг, определяет сдачу (если денег больше - печатает на сколько, если равно, то печатает "спасибо", если меньше - то сколько нужно доплатить).
Автор: bomzzz
Дата сообщения: 10.04.2013 15:04
на кибер форуме лучше попроси, но целиком писать да еще такую сложную с выводом никто не будет. все равно надо болванку какую то для начала
Автор: MERCURY127
Дата сообщения: 10.04.2013 15:07
ForposT_ForeveR, все-таки, если можно, поточнее - таки помочь или таки решить? числа все целые или дроби есть?
Автор: ForposT_ForeveR
Дата сообщения: 10.04.2013 15:10
MERCURY127
Если по точнее - то решить.
Числа дробные.
Автор: delover
Дата сообщения: 10.04.2013 17:25
MERCURY127
Думаю тип Currency, жаль нет текущего FreePascal - передрал бы асм.
Автор: 1234567890qwe
Дата сообщения: 12.04.2013 14:09
Ребят такой вопрос... формат 16-битной инструкции содержит смещение до 1 байта... собственно я задаюсь вопросом в поле MOD (2ой байт КОП) (при 16-битной инструкции) когда установлено значение "01" все ясно "смещение задано байтом" но когда "10" - "смещение 16-битное", как оно туда влазиет то, может там какоето расширение происходит нифига не пойму???
спасибо.

если есть ссылки связанные с качественным описанием инструкций команд буду оч. признателен.)
Автор: akaGM
Дата сообщения: 12.04.2013 14:31
ну так при mod 10 и говорится, что в инструкции присутствует 16-битное смещение...
Автор: 1234567890qwe
Дата сообщения: 12.04.2013 15:52
в книге Микропроцессоры intel Барри Брэя, говориться что для него отведено только 8бит... стр 157
Смещение 0-1 байт


а вот таблица MOD (каким образом 16 бит?):





Автор: akaGM
Дата сообщения: 12.04.2013 16:39
в твоей таблице ошибка
смещение может быть 0-2 байта
Автор: MERCURY127
Дата сообщения: 12.04.2013 16:43
1234567890qwe, и что тут такого? ну добавится еще один байт к команде, и выйдет вся команда трехбайтовая... [more=картинка] [/more]

Добавлено:

Цитата:
смещение может быть 0-2 байта

давно уже и 4 и 8 может быть... 16 пока, слава богу, не видел...
Автор: akaGM
Дата сообщения: 12.04.2013 16:55
для 16-битных _только_ 0,1,2 байта, для 32- и 64-разрядных камней да -- 4 и 8...
Автор: MERCURY127
Дата сообщения: 12.04.2013 17:00

Цитата:
для 16-битных _только_ 0,1,2 байт

а где сейчас достать _только_ 16-битный проц?
Автор: akaGM
Дата сообщения: 12.04.2013 17:02
за сколько возьмёшь?
Автор: MERCURY127
Дата сообщения: 12.04.2013 17:08
за 286 возьму...
Автор: akaGM
Дата сообщения: 12.04.2013 17:35
я тебе в нагрузку ещё и 8088 прицеплю...
Автор: 1234567890qwe
Дата сообщения: 12.04.2013 23:04
akaGM, MERCURY127 понял, спасибо большое всем за ответы!.
Автор: 1234567890qwe
Дата сообщения: 19.04.2013 00:11
помогите понять разницу между двумя командами, то что делают понятно а вот почему именно это?
ADD CL, TEMP (суммирует байт из сегмента данных по смещению TEMP(т.е. берет значение из TEMP, типо косвенная ссылка получается) с CL)
и
ADD BX, TEMP[DI] (сложение слова расположенного по смещению TEMP+DI(не могу понять как он здесь то узнает что нужно суммировать именно смещение TEMP а не его значение, и DI указано что косвенная ссылка а суммирует именно смещение!......))
Автор: akaGM
Дата сообщения: 19.04.2013 00:51
почему, например, ADD -- это суммирование, а не правило ролевой системы Advanced Dungeons&Dragons?
синтаксис ассемблера, формат команд такой, что здесь объяснять...
Автор: akaGM
Дата сообщения: 19.04.2013 11:56
или тебя смущают записи

int a, b, c[100], i;
a = b;
a = c[i];
a = *(c + i);

в Сях тоже?
Автор: 1234567890qwe
Дата сообщения: 19.04.2013 20:58

Цитата:
ADD -- это суммирование, а не правило ролевой системы Advanced Dungeons&Dragons?

именно суммирование.

Цитата:
в Сях тоже?

здесь как не пиши понятно что к значению обращается, а когда в роль вступает указатель тот тут же он конкретно указывается "*", а в примере который я привел по идее должно было быть так "какбы" (если с Сями сравнивать):
ADD BX, TEMP[DI] -> ADD BX, *TEMP+*[DI]

но он то каким то образом знает без особых указаний что нужно сложить именно смещение хотя в другой такой же команде, с подобным синтаксисом (просто тут смещение задано одним операндом) он уже берет само значение:
ADD CL, TEMP

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


Добавлено:
и еще можно вопросец, вот к примеру сегмент данных:
.DATA

DATA1 DW DATA2
DW DATA3

здесь DATA1 указывает смещение DATA2, DATA1+2 соответственно на DATA3, то есть DATA1 это смещение (если я правильно понимаю), а DATA2 и DATA3 тогда что если они не определены в коде, вот в чем существенная разница между DATA1 и DATA2,DATA3 в этом случае?
спасибо...
Автор: Abs62
Дата сообщения: 19.04.2013 21:17
1234567890qwe

Цитата:
но он то каким то образом знает без особых указаний что нужно сложить именно смещение хотя в другой такой же команде, с подобным синтаксисом (просто тут смещение задано одним операндом) он уже берет само значение:
ADD CL, TEMP

Нет тут никакого "само значение". Для ассемблера имя переменной - это её адрес. Команда "ADD CL, TEMP" означает "прибавить к CL значение, лежащее по адресу TEMP". "ADD CL, TEMP[DI]" - "прибавить к CL значение, лежащее по адресу TEMP+DI". Это обычная адресная арифметика.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384

Предыдущая тема: .NET GUI компоненты


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.