Project

General

Profile

Actions

Bug #10063

closed

[Mips] Некорректная запись в память MEM

Added by Alexander Protsenko almost 5 years ago. Updated almost 5 years ago.

Status:
Closed
Priority:
Normal
Category:
MMU Plugin
Target version:
Start date:
01/24/2020
Due date:
% Done:

0%

Estimated time:
Detected in build:
64ac3d424d6b691d021feed9e4e62e95d30431c4
Platform:
Published in build:
2.5.1-beta-200127

Description

op mips64_store:

    temp64_2 = temp64_0 | temp64_1;
    trace("temp_address  = 0x%x", temp_address);
    trace("MEM #1 in = 0x%x", MEM[temp_address >> 3]);
    trace("store value  = 0x%x", temp64_2);
    MEM[temp_address >> 3] = temp64_2;
    trace("MEM #2 out = 0x%x", MEM[temp_address >> 3]);

Лог:

0xffffffff80002074 sw $t4, 0($t2)
temp_address  = 0xffffffff80080008
KSEG0: va=FFFFFFFF80080008, pa=80008
temp_address  = 0xffffffff80080008
KSEG0: va=FFFFFFFF80080008, pa=80008
MEM #1 in = 0x100000008
store value  = 0x100000001
KSEG0: va=FFFFFFFF80080008, pa=80008
KSEG0: va=FFFFFFFF80080008, pa=80008
MEM #2 out = 0x100000008

Описание: записываем "1", а там "8".

Архитектура: Mips
Шаблон: bubble_sort_word.rb

Actions

Also available in: Atom PDF