【发布时间】:2012-05-31 08:25:55
【问题描述】:
我想知道如何将指针参数传递给过程?
我必须创建具有 2 个参数的函数:
- 单词数组
- 数组的大小
该函数获取数组的大小并对列求和。
这就是我编写的代码:
.MODEL 小 .堆栈 64 ; +=================================+ ; |数据 | ; +=================================+ 。数据 array1 dw 1,2,3,4 array1size dw 4 结果 dw ? 地址 dw ? ;打印 TMP dw 0 ;一般临时变量.. 。代码 addNumbers 过程 ;重置结果 LEDI,结果 ;使用堆栈 移动 bp,sp ;获取 num 数组 mov bx,[bp+2] ;获取数字的数量 mov cx,[bp+4] ;加法 添加: 添加 [di],bx 公司 bx;去下一个bx 循环添加 保留 2 结束 ;开始 开始: 移动斧头,@DATA mov ds,ax ;设置字符串 推数组1大小 推送偏移数组1 调用 addNumbers ;打印 mov dx:ax,结果 调用 printNumber mov ah,4ch 移动,0 整数 21H 结束开始问题 - 它添加到结果偏移量指针(这里是cs:0000,cs:0001,cs:0002,cs:0003)而不是偏移值(这里是:1,2,@ 987654327@,4)。
因此,结果将是 6 而不是 10。
有人可以帮我吗?
【问题讨论】: