LINUX.ORG.RU

Сообщения Assembler

 

простая програмка на Haskell

здрасть, здрасьте люди добрые...

помогите пожалуйста понять как сделать на Haskell програмку чтобы она через case of выводила значение факториала...

module Main where

main::IO()

fact x 
      |x==0 = 1
      |x>0 =x*fact(x-1)


например, если я введу с клавиатуры число 7, то считается этот факториал, а если любое другое _то просто выводит i love LOR.RU

 

Assembler
()

Haskell на Gentoo

здрасть здрасьте люди

я не знаю что такое Haskell. видел тут пару тем. и кто-то пытался установить его на Gentoo. я то же решил.

буду честным Gentoo установил не сам. решил установить Haskell но не выходит.


emerge hadkell-platform

выдает
all ebuilds that coild satisfy have been masked.

помогите установить

 

Assembler
()

arm компьютеры. прошу совет

здрасьте здрасьте люди добрые...

начитался тем нашего замечательного форума связанных с arm и тоже захотел приобрести такой.

прошу вас дать ссылку на пк arm или ноутбук . если ноут, то с возможностью установки на него linux. тема не для того чтобы обсудить, а для того чтобы выбрать. если есть минутка, то пожалуйстамнапищите какой девайс посовнтовали бы. сам уже смог узнать об raspbry и об orange. хотелось бы что то посерьезней.

 

Assembler
()

что почитать?

здрасьте здрастье люди добрые пожалуйста подскажите литературу для изучения Assembler arm, его синтаксиса

 

Assembler
()

Почему «С» процедурный язык?

Здрасть, здрасьте люди добрые. Скажите пожалуйста, почему 'С' процедерный язык. Чего я не понимаю? По мне так его можно считать и обьектно-ориентированным. Напишите пожалуйста, если несложно, что определяет язык, как Функциональный, а что модульный, и что относит язык к обьектно-ориентированному?

 

Assembler
()

попытка написать загрузчик

здрасьте здрасьте люди добрые

хочу попытаться написать что-то вроде загрузчика для Linux.

вызыванно это влиянием нашего форума. тяжело не пытаться сделать что-то самому, когда все кругом этим занимаются.

скажите с чего начать? писать планирую в Nano.

возникают вопросы, каким должно быть расширение файла? 

и если несложно то скажите на каком языке лучше это делать? на Assembler или лучше перевести сразу в машинные инструкции?

 ,

Assembler
()

usb3.0 установка Linux

здрасьте здрасьте люди добрые

скажите пожалуйста, какой дистрибутив можно установить на ноутбук через usb3.0

к сожалению другие не работают.

вобще это возможно?

 

Assembler
()

Заглавие

здрасьте здрасьте люди добрые

 

Assembler
()

ноутбук не видит диск

здрасьте, здрасьте люди добрые

скажите пожалуста, жив ли чипсет?

я понимаю, что когда мало инфы, то вот так прям сказать сложно, но все же вдруг сможете диагностировать со слов

вобщем в bios диск виден, usb3.0 работает

но как только выхожу из меню bios выставив ssd на приоритет в загрузке, то через мгновение на черном экране появляется надпись, что загрузочный диск ненайден. вылетало еще что-то про police hdd, я не успело прочитать, и больше это не появлялось. меня настораживает , то что usb 2,0 отваливается. это я заметил тогда , когда выставлял настройки в биос.

скажите, может ли при мертвом чипсете работать клава хоть и сомнительно , а также обнаруживаться ssd в bios?

спасибо

 ,

Assembler
()

машинные инструкции процессора Intel коде на Assembler

здрасьте здрасьте люди добрые

помогите пожалуйста разобраться в устройстве машинных команд. Я очень верю, что тут есть люди, которые в этом разбираются и у них найдется минутка

section .text
.global main
main:

.byte 0b01001000, 0b11000111, 0b11000000, 0b00000001 


позмаыслу должно было в mov $1, %rax

но не работает. что делаю неправильно? система Linux x86_64 процессор интел

 

Assembler
()

адресация AT&T

здрасьте здрасьте люди добрые помогите пожалуйста разобраться в этой конструкции.

когда-то очень давно находит описание, но вылетело из головы.

mov (%rdx, %rax), %edx;  как это прочитать? 

меня смущает в источнике команды mov значение двух регистров.

как это читать?

 

Assembler
()

makefile

здрасьте здрасьте люди добрые

помогите пожалуйста разобраться с makefile

.PHONY: all
all: m.c
    gcc m.c

скажите пожалуйста all -это зарезервированое слово? утилита make его знает? или в роли all может выступить любой набор букв?

tgc: m.c
    gcc m.c

и еще непонятно, tgc -это цель. после make должен появиться файл с именем tgc?

или цель служит для того чтобы можно было сделать make tgc , то есть запустить make не сначала файла, если цель не одна, а с определенного места, указанного целью.

какая роль цели?

 

Assembler
()

AT&T метки

здрасьте здрасьте люди добрые

скажите пожалуйста, в чем отличие от


.section .bss


A: .space 8

от


.comm A, 8

интересны все отличие. скажите пожалуйста их

 

Assembler
()

AT&T и имена функций

здрасте здресте люди добрые

помогите пожалуйста окончательно понять как формирует имя функции компилятор. сейчас постараюсь объяснить для чего это мне. допустим у меня есть уже написанные функции на GAS и я хочу использовать их в коде на СИ


.section .text
global _Z3fooi
_Z3fooi:

//суть вот в чем, компилятор после _Z указывает количество букв в имени функции, дальше имя фукнции и i-это тип аргументов функции.
но что значит _Z? помогите понять. если я это пойму , то смогу сам формировать имена функций, на GAS, которые можно будет запускать в коде на СИ без ошибок.

ret




#include <stdio.h>

extern void foo(int);

int main()
{

foo(5);

return 0;
}


очень нуждаюсь в вашей помощи. пожалуйста отнеситесь серьезно

 

Assembler
()

прочитать из стека

здрасьте здрасьте

помогите пожалуйста прочитать из стека и вывести на экран


.section .text
.global main
main:

push %rbp
mov %rsp, %rbp

movq $111, -16(%rbp)
mov $1, %rax
mov $1, %rdi
lea -16(%rbp), %rsi

mov $8, %rdx

syscall 


leave 
ret




 

Assembler
()

попытка вывести на экран массив символов

здрасьте здрасьте люди добрые.

как вы считаете почему не получается вот такой вот трюк:

.section .text
.global main
main:

push %rbp
mov %rsp, %rbp
subq $16, %rsp

movq $777, -16(%rsp)

mov $1, %rax
lea -16(%rsp), %rsi
mov $5, %rdx

syscall 


leave
ret

что исправить, чтобы прочитать из локальной переменной -16(%rsp) c помощью системного вызова?

 

Assembler
()

процессор на Ebay

здрасьте здрасьте люди добрые

помогите разобраться.

нашел процессор Xeon E5-2658 V3 по очень нормальной цене, но он отмечен на крышке «X» , а продавец говорит что необращайте внимания проц полностью рабочий но может только отлетели пару конденсоторов.

вопрос: стоит ли покупать? возможно ли самому припаять конденсаторы? или это гиблое дело?

просто нужно мнение понимающих людей

 

Assembler
()

шина данных. адреса

здрасьте здрасьте люди добрые

помогите пожалуйста разобраться

у меня 64битный процессор, к примеру.

это, как я понял, значит , что адресная шина 64разрядная.

существует два режима: физический, и защищенный. при защищенном режиме мы можем адресовать больше , чем 2^20 . если мой процессор 64 разрядный, то это 2^64 и работать он будет в защищенном режиме. но как и в реальном, так и в защищенном режимах сегментные регистры остались 16битными. 2^16-это 64килобайта и назвали это сегмент памяти. и так как раньше нужно было с помощью 16битных регистров можно было адресовать 64Килобайта, а шина была 20 битной, то они добавляли 4бита, то есть смещали влево на 4 разряда. в 4 битах можно закодировать 16 байт. и эти 16 байт назвали параграф. параграф==странице?

не могу понять где тут место страницам. я описал сегментный тип памяти, но он тоже имеет страницы. чему они равны?

 ,

Assembler
()

переменная PATH настройка

здрасьте здрасте люди добрые

помогите пожалуйста настроить эту переменную. я не так давно использую Linux. что смог, то и на гуглил.

пока не сделаю в терминале


PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"

не работает много чего.

скажите пожалуйста куда зайти и где прописать, чтобы каждый раз при запуске системы не вводить это в терминал

 

Assembler
()

виды адресации Ассемблер

здрасьте здрасьте люди добрые.

тысячу извинений, прошу понять и не гневаться на простые вопросы.

но я немного запутался в видах адресации.

пожалуйста поправте. что я понимаю:

есть прямая адресация и косвенная.

прямая делится на относительнопрямую адресацию и абсолютно прямую адресацию.

не понимаю, что такое поле смещение

абсолютно прямая

mov P, %rax; в %rax вместо метки поместится адрес. 

относительно прямая


mov P(bp+ ip), %rax; в регистр %rax поместиться адрес со смещением.

что -то мне подсказывает , что я неправ.

далее косвенная.

косвенно базовая или регистровая.
mov (%rax), %r15;  пройдет по адресу что лежит в регистре %rax, возмет оттуда значение и поместит в %r15;




косвеннобазовая со смещением.

mov 4(%rax), %r15; возмет адрес с rax прибавит к нему 4 и пройдет по этому новому адресу возьмет оттуда значение и поместит в %15


непонятно что есть косвенно-индексная и косвеннобазово-индексная адресация.

пожалуйста поправьте и дополните

 

Assembler
()

RSS подписка на новые темы