Есть ли способ записать значение регистра непосредственно в файл?

Я пытаюсь сделать что-то, что печатает остаток, разделенный на знаменатель как дробь в базовой десятке.

Потому что я страх Мне не нравится доступ к памяти без выравнивания, я использую регистр для буферизации последних восьми вычисленных цифр.

Тем не менее, я не мог найти способ записать буфер непосредственно в вывод.

Я знаю, что могу переместить буфер в память и записать это, но я предпочитаю этого не делать.

Есть ли способ записать значение регистра непосредственно в файл?

Я использую встроенную сборку в C ++ с gcc-4.7 на 64-битной Ubuntu.

Редактировать:

Мне очень жаль задавать такой невероятно глупый вопрос.

Я играл с встроенной сборкой и пытался эффективно записать вывод, сгенерированный побайтно, в вывод. Я попытался сделать это, сместив байты, которые были сгенерированы, в один регистр, сохранив этот регистр в памяти и записав 8 байтов с этим адресом памяти на выход (хотя я не уверен, будет ли это совместимым с прямым порядком байтов).

Когда я задавал этот вопрос, я имел в виду, что в нем не было «сохранения этого регистра в памяти». В конце я просто сохранял регистр в буфере каждый раз, когда он содержал 8 байтов, и когда буфер был заполнен, я печатал весь буфер вместо 8 байтов за раз.

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

-2

Решение

«Есть ли способ записать значение регистра непосредственно в файл?»

Нет.

«Так как я опасаюсь невыровненного доступа к памяти, я использую регистр для буферизации последних восьми вычисленных цифр».

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

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

2

Другие решения

Других решений пока нет …