0

我对以下汇编代码有疑问。

PROGX: MVI C, 10h
LOOP1: CALL SHOWX
DATAX: DB 80h, 01h, 40h, 02h
       DB 20h, 04h, 10h, 08h
       DB 08h, 10h, 04h, 20h
       DB 02h, 40h, 01h, 80h
       DB 02h, 40h, 04h, 20h
       DB 08h, 10h, 10h, 08h
       DB 20h, 04h, 40h, 02h
DCR C
JNZ LOOP1
ENDX: HLT

SHOWX: XTHL
MVI B, 0Eh
LOOP2: MOV A, M
OUT 3Eh
INX H
MOV A, M
OUT 3Fh
INX H
DCR B
JNZ LOOP2
CALL D500M ; Delay 500 msec.
XTHL
RET

在 Loop1 的第一个循环中执行 ShowX 之后,这个 DATAX 正在使用 DB 指令来保留内存。

谁能帮我理解哪个是起始内存地址,它的 DB 命令将开始分配内存中的字节?

例如,由于 ORG 命令,下面的代码将开始在地址 C100H 中分配。因此 20h 将存储在 C100h 中,10h 将存储在 C100h + 1 中

ORG C100h
DB 20h,10h

预先感谢您的帮助。

4

0 回答 0