,
,
嗨Max
感谢您的回复。我使用传统的ST62微处理器直到现在。就像我说我用汇编程序编写代码。使用ST62我使用了一个文本文件mycode.asm并用ast6.exe编译它以获取我用程序员发送到ST62的mycode.hex。
设置ST62的复位向量通常如下所示
-------------------------------------------------- -------------------------------------------------- -------
.org 0080h
开始,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.org 0ff0h
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.org 0ffch
jp ,,, nmi_int ,,,,,,,,,,,,,,,,,,,,,,,,中断向量
jp ,,,, start ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
。结束
-------------------------------------------------- -------------------------------------------------- -------
现在我使用STVD,我不熟悉。
有一个自动生成的mapping.asm文件,其中包含放置重置向量的信息。
-------------------------------------------------- -------------------------------------------------- -------
STM8 /
,------------------------------------------------- -----
,
,STVD自动生成的分段映射文件,
,不应该手动修改。 ,
,当文件重新生效时,更改将丢失。 ,
,------------------------------------------------- -----,
♯包括'mapping.inc'BYTES,以下地址长8位
,
ram0_segment_start-ram0_segment_end'ram0'WORDS的段字节,以下地址长16位
,
ram1_segment_start-ram1_segment_end'ram1'WORDS的段字节,以下地址长16位
,
stack_segment_start-stack_segment_end'track'WORDS的段字节,以下地址长16位
,
段字节在4000-43FF'eeprom'WORDS,以下地址长16位
,
段字节在8080-FFFF'rom'WORDS,以下地址是16位长
,
段字节在8000-807F'vectit'END
-------------------------------------------------- -------------------------------------------------- -------
那我现在要做什么呢?地点
,,,
, , ,分割 , , ,
'vectit'
,,,,,,,, jp ,,,开始
进入我的主程序?
我在文档INT中发现使用命令而不是JP,但INT并未将其识别为STVD的有效命令。
谢谢你的帮助。
以上来自于谷歌翻译
以下为原文
,
,
Hi Max
Thanks for reply. I used legacy ST62 micros until now. Like I said I write my code in assembler. With the ST62 I used a text file mycode.asm and compiled it with ast6.exe to get the mycode.hex which I sent to the ST62 with the programmer.
Set up the reset vector for ST62 usually looks like this
-----------------------------------------------------------------------------------------------------------
.org 0080h
start , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,,main prog
.org 0ff0h
, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,,some other vectors
.org 0ffch
jp , , ,nmi_int , , , , , , , , , , , , , , , , , , , , , ,,interrupt vector
jp , , ,start , , , , , , , , , , , , , , , , , , , , , , , , , , ,,reset vector pointed to the start of the program
.end
-----------------------------------------------------------------------------------------------------------
Now I use STVD and I`m not familiar with.
There is an automatic generated mapping.asm file which contains the info where to place the reset vector.
-----------------------------------------------------------------------------------------------------------
stm8/
,------------------------------------------------------
,
, SEGMENT MAPPING FILE AUTOMATICALLY GENERATED BY STVD ,
, SHOULD NOT BE MANUALLY MODIFIED. ,
, CHANGES WILL BE LOST WHEN FILE IS REGENERATED. ,
,------------------------------------------------------ ,
♯ include 'mapping.inc'BYTES , The following addresses are 8 bits long
,
segment byte at ram0_segment_start-ram0_segment_end 'ram0'WORDS , The following addresses are 16 bits long
,
segment byte at ram1_segment_start-ram1_segment_end 'ram1'WORDS , The following addresses are 16 bits long
,
segment byte at stack_segment_start-stack_segment_end 'stack'WORDS , The following addresses are 16 bits long
,
segment byte at 4000-43FF 'eeprom'WORDS , The following addresses are 16 bits long
,
segment byte at 8080-FFFF 'rom'WORDS , The following addresses are 16 bits long
,
segment byte at 8000-807F 'vectit'END
-----------------------------------------------------------------------------------------------------------
So what I have to do now? Place
, , ,
, , ,segment , , ,
'vectit'
, , , , , , , , ,jp , , ,start
into my main program?
I found in the documentation INT as command to use instead of JP , but INT it`s not recognized as a valid comand by STVD.
Thanks for any help.