使用A86部件填充具有1-100的阵列



我正在尝试编写一个汇编程序,该程序使用一个过程来填充值为1-100的数组。到目前为止,我的代码如下:

jmp main
first100 dw 100 dup (?)
main:
call prepare
call populate
mov ax, first100[0]
call putDec
mov ah, 04c
int 021
include ioProcs.inc
prepare:
mov ax, 1
mov bx, 0
mov cx, 100
ret
populate:
mov first100[bx], ax
inc ax
inc bx
loop populate
ret

然而,数组first100中的第一个值变为513,而不是1。这可能很简单,但我在哪里搞砸了?非常感谢您抽出时间。

正如@Jester所提到的,您需要在填充循环中将bx增加两个字节。

您正在创建一个类型为dw的数组,即一个单词。它的大小为两个字节。

相关内容

  • 没有找到相关文章

最新更新