当前位置:  开发笔记 > 编程语言 > 正文

用汇编编写内存(Z80/Gameboy)

如何解决《用汇编编写内存(Z80/Gameboy)》经验,为你挑选了1个好方法。

我正在尝试以编程方式将字符写入内存,以便我可以在屏幕上显示它.我如何获取一个值(比如65)并将其写入内存并使用Z80程序集为Gameboy?

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

ld [hl], b

我的代码似乎与将字符写入内存分开.我得到的输出是"BBBBBBBB".

周围的代码如下.

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:

Ville Krumli.. 8

Gameboy代码在ROM中执行:只读内存.因此,覆盖数字的循环无效(尝试写入ROM只保留现有值).如果你想要一个缓冲区写入,你需要确保它在RAM中.



1> Ville Krumli..:

Gameboy代码在ROM中执行:只读内存.因此,覆盖数字的循环无效(尝试写入ROM只保留现有值).如果你想要一个缓冲区写入,你需要确保它在RAM中.

推荐阅读
kikokikolove
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有