Описание тега y86
Y86 is an academic simplification of the 80x86 CPU architecture. The language and architecture are often used for teaching CPU instruction encoding and decoding.
0
ответов
Сборка Y86 - суммирование связанного списка
Мне было интересно, может ли кто-нибудь помочь мне лучше понять, почему этот код, который я написал, не работает, и помочь мне также исправить это. Ниже приведен Y86, который я написал, который должен суммировать массив, который я определил в нем, о…
12 апр '16 в 17:17
0
ответов
Сборка Y86 сохраняет новое значение в глобальном синтаксисе
Мой профессор не привел много примеров Y86 только IA32. Мне удалось выяснить все для моего назначения, за исключением сохранения моего окончательного ответа в результате глобальной переменной. Это заявлено следующим образом. .align 4 результат: .lon…
15 ноя '15 в 18:42
2
ответа
Перевести код C в код сборки?
Я должен перевести этот код C в код сборки: #include <stdio.h> int main(){ int a, b,c; scanf("%d",&a); scanf("%d",&b); if (a == b){ b++; } if (a > b){ c = a; a = b; b = c; } printf("%d\n",b-a); return 0; } Мой код ниже, и неполный. …
10 июл '12 в 22:21
1
ответ
Получение ошибки ADR в программе y86, понятия не имею, почему. Стек, кажется, настроен хорошо
У меня есть следующая программа y86-64 из лаборатории архитектуры CMU, которая должна суммировать значения связанного списка. # Adam Cooper ac251190 init: .pos 0x0 irmovq Stack, %rsp # set up stack pointer irmovq Stack, %rbp # set up base pointer ca…
01 май '16 в 03:43
1
ответ
Помещение связанного списка в стек
Это в y86(сборочная архитектура, которая похожа на x86, но пропускает много инструкций), но это должно иметь смысл. Я пытаюсь поместить весь связанный список в стек, связанный список выглядит следующим образом. .align 4 ele1: .long 0x00a .long ele2 …
20 окт '13 в 21:21
1
ответ
Доступ к элементам массива внутри массива - сборка Y86
Мне интересно, что в сборке (в моем случае Y86), возможно ли иметь массив внутри массива? И если это так, как бы я получить доступ к элементам внутри этого массива. Я знаю, что вы разыменовываете массивы, чтобы получить их элементы, но это только с …
03 авг '18 в 03:38
1
ответ
Y86, получение ADR. Не понимаю почему
Так что в основном я учусь здесь. У меня есть этот код C, и я пытаюсь перевести на Y86 сборки. Я продолжаю получать эту ошибку: PC = 0x2058a090, Invalid instruciton address Stopped in 2 steps at PC = 0x2058a090. Exception 'ADR', CC Z=1, S=0, O=0 Cha…
11 апр '14 в 07:21
1
ответ
Проблема компиляции кода сборки Y86
Итак... Мой учитель попросил нас сделать игру понг для наших симуляторов Y86, и он дал нам компилятор сборки и компоновщик для создания бинарных файлов. Проблема в том, что симулятор продолжает вызывать глобальные переменные, помещает TONS nops в се…
10 июл '12 в 06:35
1
ответ
Почему в коде y86 ожидается ошибка запятой
Может кто-нибудь сказать мне, почему я могу получить эти ошибки. когда я пытаюсь вбежать./yas - Error on line 22: Expecting Register ID Line 22, Byte 0x0032: subl $24, %esp Error on line 24: Expecting Register ID Line 24, Byte 0x0036: subl $0,8(%ebp…
16 окт '13 в 08:09
1
ответ
Развертывание петли y86
Я пытаюсь развернуть цикл в коде y86, но я получаю 2 разных значения при попытке запустить тестовую программу. Рег. код является: xorq %rax,%rax # count = 0; andq %rdx,%rdx # len <= 0? jle Done # if so, goto Done: Loop: mrmovq (%rdi), %r10 # read…
26 окт '16 в 01:37
1
ответ
Как конвертировать инструкцию из IA32 в Y86
У меня есть этот код сборки IA32, который я пытаюсь преобразовать в код сборки Y86: bubble_a: pushl %ebp movl %esp, %ebp pushl %edi pushl %esi pushl %ebx movl 8(%ebp), %edx movl 12(%ebp), %edi subl $1, %edi testl %edi, %edi jg .L11 jmp .L8 .L9: movl…
19 ноя '13 в 17:48
2
ответа
Преобразование кода x86-64 в код Y86-64
Я сейчас очень смущен, когда пытаюсь различить язык ассемблера. Меня просят преобразовать следующий код x86-84 в Y86-84: long arith(long int x, long int y, long int z) { return (x+y+z) & (x+4+48*y); } В x86-64: arith: leaq (%rsi, %rsi, 2), %rax …
02 ноя '17 в 02:19
1
ответ
Наиболее эффективный способ подсчета положительного, отрицательного и нулевого числа с использованием разворачивания цикла
Скажем, у меня есть следующая инструкция, просто проверяет, является ли число положительным или нет (отрицательным или нулевым), и если оно было положительным, добавьте 1 к нашему счетчику (и нам все равно, является ли число отрицательным или нулевы…
12 апр '16 в 23:13
0
ответов
Создание базового процессора Y86 в JLS, нужна помощь в создании инструкции
Мне поручено создать базовый процессор Y86 для проекта. Я сделал большую часть этого, все, что мне не хватает, это пара инструкций. Инструкции pcmmovl и mpcmovl - вот где я застрял. Я должен быть в состоянии сохранить компьютер и содержимое назначен…
06 дек '14 в 23:19
1
ответ
Y86 сборки глобальных переменных
Я изо всех сил пытаюсь заставить глобальные переменные работать правильно для моего назначения Y86. К сожалению, единственные примеры, которые нам предоставили, находятся в сборке IA-32. Я искал последние несколько часов, но безрезультатно. Это очен…
14 ноя '15 в 22:48
0
ответов
Переполнение "addq" при максимальном 32-битном знаковом числе
Я пытаюсь написать простой компилятор для калькулятора. Тем не менее, все мои инструкции по сборке (сложение, вычитание и умножение) продолжают переполняться и уменьшаться до 2 147 483 647 и -2 147 483 648 соответственно, а не до максимальных 64-бит…
22 мар '17 в 22:11
1
ответ
Инициализация многомерного массива (2x2) на языке ассемблера - Y86
Я новичок в ассемблере, и я использую более простую версию под названием Y86, по сути, то же самое. Интересно, как инициализировать многомерный массив в таком формате, конкретно сделав 2х2. Позже с 2x2 я буду добавлять две матрицы (или массивы в это…
28 июл '18 в 18:59
0
ответов
Обработка зависимости данных в трубопроводе
mov $10, %eax add $2, %eax mov $4, %ebx mov $5, %ecx add $1, %ebx add $1, %ecx add %ecx, %eax add %ebx, %eax Если у вас есть вышеуказанная сборка, общий 5-этапный конвейер будет выглядеть примерно так, как показано ниже, но, поскольку существует зав…
14 апр '17 в 06:16
1
ответ
C++ Y86 дизассемблер - Как интерпретировать.quad
Итак, для назначения класса мы пишем дизассемблер Y86 (игрушечный процессор) на C++. Достаточно просто, у меня почти все сделано, кроме разборки инструкций в директиву.quad. Директива quad принимает числовое или шестнадцатеричное значение, а затем п…
05 фев '19 в 17:23
0
ответов
Вложено для цикла в Y86
Поэтому я пытаюсь написать вложенный цикл в Y86. (Я теперь, что Y86 только для обучения). Я рассмотрел, как сделать регулярный цикл for, но не уверен, как это сделать для вложенного цикла, особенно когда вы вызываете 2 функции, одну сразу за другой.…
06 дек '18 в 16:11