diff --git a/opene906/demo/sim/sim.s b/opene906/demo/sim/sim.s index 74b884b..ef0b4dc 100644 --- a/opene906/demo/sim/sim.s +++ b/opene906/demo/sim/sim.s @@ -1,11 +1,31 @@ +/*Copyright 2020-2021 T-Head Semiconductor Co., Ltd. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ .global main main: -# csrsi mstatus, 0x8 -# csrci mhcr, 0x1 -# csrci mhcr, 0x2 +csrsi mstatus, 0x8 +csrci 0x7C1, 0x1 # csrci mhcr, 0x1 +csrci 0x7C1, 0x2 # csrci mhcr, 0x2 loop: + addi x2, x2, 1 + addi x3, x3, 1 + addi x4, x4, 1 + addi x5, x5, 1 + addi x6, x6, 1 + addi x7, x7, 1 + addi x8, x8, 1 j loop - diff --git a/opene906/demo/sim/work/.gitignore b/opene906/demo/sim/work/.gitignore index b86ad13..c300060 100644 --- a/opene906/demo/sim/work/.gitignore +++ b/opene906/demo/sim/work/.gitignore @@ -2,4 +2,5 @@ *.pat *.obj *.hex -*.elf \ No newline at end of file +*.elf +*.dis \ No newline at end of file diff --git a/opene906/demo/sim/work/E906_DEBUG_PATTERN.s b/opene906/demo/sim/work/E906_DEBUG_PATTERN.s index a29bf88..cbcbb52 100644 --- a/opene906/demo/sim/work/E906_DEBUG_PATTERN.s +++ b/opene906/demo/sim/work/E906_DEBUG_PATTERN.s @@ -21,5 +21,12 @@ csrci 0x7C1, 0x1 # csrci mhcr, 0x1 csrci 0x7C1, 0x2 # csrci mhcr, 0x2 loop: + addi x2, x2, 1 + addi x3, x3, 1 + addi x4, x4, 1 + addi x5, x5, 1 + addi x6, x6, 1 + addi x7, x7, 1 + addi x8, x8, 1 j loop diff --git a/opene906/demo/sim/work/Makefile b/opene906/demo/sim/work/Makefile index 87d7264..6d54d32 100644 --- a/opene906/demo/sim/work/Makefile +++ b/opene906/demo/sim/work/Makefile @@ -83,6 +83,9 @@ ${FILE}.hex : ${FILE}.elf ${OBJCOPY} ${HEXFLAGS} $< ${DATA_HEX} -j .data* -j .bss -j .COMMON ${OBJCOPY} ${HEXFLAGS} $< $@ +${FILE}.dis : ${FILE}.elf + ${OBJDUMP} -S $< > ${FILE}.dis + INST_PAT = inst.pat DATA_PAT = data.pat FILE_PAT = case.pat @@ -93,15 +96,14 @@ FILE_PAT = case.pat ${CONVERT} ${DATA_HEX} ${DATA_PAT} ${CONVERT} ${FILE_HEX} ${FILE_PAT} - #-------------------------------------------------------------------- # target setting .PHONY :all -all : ${FILE}.pat ${FILE}.hex ${FILE}.elf ${FILE}.obj +all : clean ${FILE}.pat ${FILE}.hex ${FILE}.elf ${FILE}.obj ${FILE}.dis #--------------------------------------------------------------------- # clean some medium code and .pat .PHONY :clean clean: - rm -rf *.o *.pat *.obj *.hex + rm -rf *.o *.pat *.obj *.hex *.dis