注册 登录
编程论坛 汇编论坛

请大家帮忙看看为什么C不能用做变量名

梨禁令 发布于 2007-02-28 02:43, 742 次点击

题目是这样的:已知a,b,c,d均为16位符号数,求下面表达式的值,商存入S1,余数存入S2中。运算中不考虑溢出。
(a*d-(b-d)*c+50)/(a+b+20)
程序是这样的
data SEGMENT
a DW 12abh
b DW 0a872h
c DW 53eah
d DW 9e2dh
s1 DW ?
s2 DW ?
data ENDS
code SEGMENT
ASSUME CS:code,DS:data,SS:stk
main:
MOV AX,data
MOV DS,AX
MOV AX,a
IMUL d
MOV BX,DX
MOV CX,AX
MOV AX,b
SUB AX,d
IMUL c
SUB CX,AX
SBB BX,DX
ADD CX,50
ADC BX,0
MOV DX,BX
MOV AX,CX
MOV BX,a
ADD BX,b
ADD BX,20
IDIV BX
MOV s1,AX
MOV s2,DX
MOV AH,4ch
INT 21h
code ENDS
stk SEGMENT stack
DW 100h DUP(0)
stk ENDS
END main

我用的是masm6.11,编译用不过,但是只要把代码上的c该成其他的字符就可以了
是不是c是masm的关键字?小弟想了好久都没明白,书上好象也没提到这个。
可能我问的问题很简单也很可笑,但是我真的不懂,希望知道的朋友告知,万分感谢

8 回复
#2
misssir2007-03-01 10:34

又长见识了,我也不知道,你继续研究啊

#3
菜鸟上路2007-03-03 21:17

不要太追究C,就把它当成关键字,我当初也不知道是什么,如果你真正要用明白的话,可以到网上查些资料

#4
I喜欢c2007-03-03 22:46

可能是关键字吧~~
只有这样想了~~忽忽
不毕细究.....

#5
梨禁令2007-03-05 11:44

谢谢各位的回复
#6
brucewood2007-03-15 17:16
5.0没错
#7
爱以走远2007-03-17 22:56
IMUL c   有错   imul后只能跟1或寄成器  
#8
lhpjj2007-04-09 09:35
IMUL d

那莫非这个也错了?
#9
爱以走远2007-04-10 13:31
恩    我说过的嘛   只能跟跟1或寄成器    div也一样  
1