初学宏,问个关于宏的小程序的小问题~~
时间:2011-12-13
来源:互联网
程序是这样的,就是用宏做数组的求和,masm出错,就是打了****那两行的问题,是不是数组太大了?那2个数组的定义有问题么??
.model small
.386
.lall
summing macro array,count,result
local to
mov ebx,0d
mov edx,0
mov ecx,count
mov esi.0
to:
inc esi
add eax,array[esi]
adc edx,0
mov result[2],edx
mov result[1],eax
inc ebx
pushad ebx
imul ebx,4d
mov esi,ebx
popad ebx
loop to
endm
datarea segment
data1 dd 1,10,100,1000,10000
data2 dd 2,20,200,2000
sum1 dq ?,?
sum2 dq ?,?
datarea ends
prognam segment
main proc far
assume cs:prognam,ds:datarea
start:
mov ax,datarea
mov ds,ax
summing data1,5d,sum1 ;********************
summing data2,4d,sum2 ;********************
mov ax,4c00h
int 21h
main endp
prognam ends
end start
.model small
.386
.lall
summing macro array,count,result
local to
mov ebx,0d
mov edx,0
mov ecx,count
mov esi.0
to:
inc esi
add eax,array[esi]
adc edx,0
mov result[2],edx
mov result[1],eax
inc ebx
pushad ebx
imul ebx,4d
mov esi,ebx
popad ebx
loop to
endm
datarea segment
data1 dd 1,10,100,1000,10000
data2 dd 2,20,200,2000
sum1 dq ?,?
sum2 dq ?,?
datarea ends
prognam segment
main proc far
assume cs:prognam,ds:datarea
start:
mov ax,datarea
mov ds,ax
summing data1,5d,sum1 ;********************
summing data2,4d,sum2 ;********************
mov ax,4c00h
int 21h
main endp
prognam ends
end start
作者: csdaydayup 发布时间: 2011-12-13
不是吧,你的宏定义里有些问题Assembly code
summing macro array,count,result local to mov ebx,0d mov edx,0 mov ecx,count mov esi,0 to: inc esi add eax,array[esi] adc edx,0 mov dword ptr result[2],edx mov dword ptr result[1],eax inc ebx push ebx imul ebx,4d mov esi,ebx pop ebx loop to endm
作者: zara 发布时间: 2011-12-13
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28