首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用程序集编写内存(Z80 / Gameboy)

用程序集编写内存(Z80 / Gameboy)
EN

Stack Overflow用户
提问于 2015-12-29 19:23:59
回答 1查看 1K关注 0票数 4

我试图以编程方式将字符写入内存,以便在屏幕上显示字符。我如何获得一个值(例如65)并将其写入Z80程序集的内存中呢?

根据我所读到的,这只是将寄存器加载到内存地址的一种情况:

代码语言:javascript
复制
ld [hl], b

我的代码似乎在工作,除了写字符到记忆之外。我得到的输出是"BBBBBBBB“。

下面是周围的代码。

代码语言:javascript
复制
printnum:
    ld a, 0         ; cursor position
    ld b, 65        ; ASCII 'A'
    ld hl, Number   ; set pointer to address of Number
overwrite:
    ld [hl], b      ; set dereference to 'A' ???
    inc hl          ; increment pointer
    inc a           ; increment acc
    cp 7            ; are we done?
    jp z, overwrite ; continue if not

    ; V output to screen V
    ld  hl, Number
    ld  de, _SCRN0+3+(SCRN_VY_B*7) ;
    ld  bc, NumberEnd-Number
    call mem_CopyVRAM

    ret             ; done
Number:
    DB  "BBBBBBBB"  ; placeholder
NumberEnd:
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-29 19:41:32

游戏代码在ROM中执行:只读存储器.因此,覆盖数字的循环没有任何效果(试图写入ROM只保留现有的值)。如果您想要在缓冲区上写入,您需要确保它在RAM中。

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

https://stackoverflow.com/questions/34517657

复制
相关文章

相似问题

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