汇编语言新手 题目有点看不懂啊

设数据段中已有:
DA1 DB 12H,34H
DA2 DW 56H,78H
下面有语法错误的语句是( )
A、ADR1 DW DA1
B、MOV DA1+1,AX
C、MOV BYTE PTR DA2+1,AL
D、MOV WORD PTR DA1+1,AX

A项是什么意思啊、

还有啊汇编语言的题目怎么这么蛋疼,想要把题目修改一下通过编程上机验证看可编译之后出现大把大把的error、好像是出题人他自己又发明了一套汇编语言的语法一样超恶心了、、、求前辈给点建议吧
麻烦了assume ds:data,cs:codedata segment A: dw 1234h B: dw 5678hdata endscode segmentgo: push offset A push offset B pop offset A pop offset Bcode ends end go

题目不是这样的吗:

A dw 1234h
B dw 5678h
push A
push B
pop A
pop B

你按照题目来写程序,就行了。追问

这么写会产生一堆错误啊、哥们你级别蛮高的啊、这样的回答和你和级别不相当啊!!!能给个完整的让新手观摩观摩啊!!!(如果你贴代码超过字数了可私信我或[email protected]

追答

哥们你级别蛮高的啊、这样的回答和你和级别不相当啊!!!

----
呵呵,以你的水平,也能来评论别人的级别吗?

你按照题目写,不会有错的。

产生一堆错误,是你自己又发明了一套超恶心汇编语言的语法了。

追问

好吧、我一万个没有资格评论你的级别、能否给个给个完整的代码让我这个菜鸟观摩观摩呢、

追答

代码,你不是已经写了吗:001.ASM。其中有六个错误。

如果你按照题目来写,就不会有错的。
----
另外,在学习这几条指令的阶段,还达不到写程序的层次。
做这样的题目,也不用写程序。

如果想要通过编程上机验证,还得先看看写程序的例题,学会如何显示数据等等好多的指令。

关于级别,你可以看看我的百度空间。

追问

001.asm(4) : error A2008: syntax error : A
001.asm(6) : error A2006: undefined symbol : A
001.asm(8) : error A2006: undefined symbol : A

追答

把你前面写的、有6个错误的 001.ASM,改一改即可:


温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-04
A项的意思是定义一个字数据值为DA1的地址。
错误的是B,类型不同AX是字,而DA1是字节。
贴下代码开始都这样。追问

现在回到我不懂的那个A项上
ADR1是一个指令还是一个伪指令呢
DW 是定义字型数据的一个伪指令是吧,DA1是一个标号,在编译的时候由编译器处理为一个内存地址、是这样么、、、可是我觉得题目中标号后应该有个冒号啊

追答

ADR1跟你定义的DA1一样只是一个变量名,应该是一个内存地址,变量名后面没有冒号吧。
你这个程序大概两种错误,第一种是4 5行里DW前面有冒号,第二个是 push offset A相当于push立即数 offset A 得到的是A的地址

只有3种格式:
PUSH reg
PUSH sreg
PUSH mem

追问

哦明白一点了:push 和 pop 指令不能使用立即数寻址方式

相似回答