首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在ASM中为SDCC/LCC编译字符串文本

在ASM中为SDCC/LCC编译字符串文本
EN

Stack Overflow用户
提问于 2017-01-06 18:26:01
回答 1查看 329关注 0票数 0

我试图在ASM中为GBDK的LCC编写字符串文本。我可以写出每个单独的字符,编译器运行良好。

代码语言:javascript
运行
复制
.D_LINE = 0x0A
;; Works
.db "G", "I", "A", "N", "L", "U", "C", "A", #.D_LINE

但是,当我尝试将字符组合成单个字符串以使其更具可读性时:

代码语言:javascript
运行
复制
.D_LINE = 0x0A
;; Doesn't work
.db "GIANLUCA", #.D_LINE

我得到一个编译错误:

代码语言:javascript
运行
复制
text.s:12: Error: <o> .org in REL area or directive / mnemonic error

有什么办法可以绕过这件事吗?

版本信息

代码语言:javascript
运行
复制
$ lcc -v
lcc $Id: lcc.c,v 1.6 2001/10/28 18:38:13 michaelh Exp $

$ sdcc -v
SDCC : gbz80/z80 2.3.1/gbdk-2.96a (Nov  4 2001) (UNIX) 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-06 17:49:58

下面是指令列表:

代码语言:javascript
运行
复制
NULL,   ".byte",    S_BYTE,     0,  0,
NULL,   ".db",      S_BYTE,     0,  0,
NULL,   ".word",    S_WORD,     0,  0,
NULL,   ".dw",      S_WORD,     0,  0,
NULL,   ".df",      S_FLOAT,    0,  0,
NULL,   ".ascii",   S_ASCII,    0,  0,
NULL,   ".asciz",   S_ASCIZ,    0,  0,
NULL,   ".blkb",    S_BLK,      0,  1,
NULL,   ".ds",      S_BLK,      0,  1,
NULL,   ".blkw",    S_BLK,      0,  2,
NULL,   ".page",    S_PAGE,     0,  0,
NULL,   ".title",   S_TITLE,    0,  0,
NULL,   ".sbttl",   S_SBTL,     0,  0,
NULL,   ".globl",   S_GLOBL,    0,  0,
NULL,   ".area",    S_DAREA,    0,  0,
NULL,   ".even",    S_EVEN,     0,  0,
NULL,   ".odd",     S_ODD,      0,  0,
NULL,   ".if",      S_IF,       0,  0,
NULL,   ".else",    S_ELSE,     0,  0,
NULL,   ".endif",   S_ENDIF,    0,  0,
NULL,   ".include", S_INCL,     0,  0,
NULL,   ".radix",   S_RADIX,    0,  0,
NULL,   ".org",     S_ORG,      0,  0,
NULL,   ".module",  S_MODUL,    0,  0,
NULL,   ".ascis",   S_ASCIS,    0,  0,

请参阅https://github.com/hschmitt/gbdk/blob/d7707bf2b3c5433edcd37d53a1475fd51a9b9502/as/z80pst.c

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41511960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档