我试图以编程方式将字符写入内存,以便在屏幕上显示字符。我如何获得一个值(例如65)并将其写入Z80程序集的内存中呢?
根据我所读到的,这只是将寄存器加载到内存地址的一种情况:
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:发布于 2015-12-29 19:41:32
游戏代码在ROM中执行:只读存储器.因此,覆盖数字的循环没有任何效果(试图写入ROM只保留现有的值)。如果您想要在缓冲区上写入,您需要确保它在RAM中。
https://stackoverflow.com/questions/34517657
复制相似问题