死亡请帖 发表于 2011-8-8 12:41:46

MOV DS:MEMS[BP],300AH里的MEMS是什么意思?

本帖最后由 死亡请帖 于 2011-8-9 14:52 编辑

MOV DS:MEMS,300AH里的MEMS是什么意思?
还有PUSH DATA1里的DATA1是指偏移地址还是指那个字单元里的数据?

zhdw 发表于 2011-8-8 14:41:56

这题目哪里的啊没见过啊   

死亡请帖 发表于 2011-8-8 15:31:35

zhdw 发表于 2011-8-8 14:41 static/image/common/back.gif
这题目哪里的啊没见过啊

那个是我在《汇编金手指》里看到的。

parbbo 发表于 2011-8-8 16:48:09

没见过!!!

tsembrace 发表于 2011-8-8 16:49:00

MOV DS:MEMS,300AH中mems是指立即数;这里ds:mems也可以写成ds:
PUSH DATA1中data1为立即数,长度为字。

parbbo 发表于 2011-8-8 17:00:55

立即数哪就用数字,干嘛整个这!

死亡请帖 发表于 2011-8-8 18:32:37

tsembrace 发表于 2011-8-8 16:49
MOV DS:MEMS,300AH中mems是指立即数;这里ds:mems也可以写成ds:
PUSH DATA1中data1为立即数,长度为字。

请问下mems是不是要预先定义一下,就像C中的定义常量一样,如果这样那怎么定义?

tsembrace 发表于 2011-8-8 21:11:05

不需要预定义吧,但我不知道如下这种方式是不是和你所说的”预定义“类似?
mov bx,02h
mov ax,bx
汇编里貌似没有变量名称这个说法,都是通过寄存器来实现。。。
当然,以上回答仅仅是我以看到第八章的所学来回答的,不知道是不是理解了你所问的含义。
帮顶下吧~

死亡请帖 发表于 2011-8-8 22:01:27

tsembrace 发表于 2011-8-8 21:11 static/image/common/back.gif
不需要预定义吧,但我不知道如下这种方式是不是和你所说的”预定义“类似?
mov bx,02h
mov ax,bx


那,算了吧,可能没人回答的了,毕竟比较偏的问题

weixianlang 发表于 2011-8-9 09:59:35

这个只是书本的方便阅读的写法,实际编程当然不会这么写,就像王爽汇编里的
当然我们还可以这样写, mov DS: [立即数],
[立即数]泛指所有立即数,一种书文约定而已!

死亡请帖 发表于 2011-8-9 12:57:49

weixianlang 发表于 2011-8-9 09:59 static/image/common/back.gif
这个只是书本的方便阅读的写法,实际编程当然不会这么写,就像王爽汇编里的
当然我们还可以这样写, mov DS: ...

我知道编译器会把MEMS转换成立即数,可是MEMS只是标号,我想问DS:MEMS里的MEMS具体是指标号的偏移地址还是内存单元里的数据?

weixianlang 发表于 2011-8-9 13:20:09

死亡请帖 发表于 2011-8-9 12:57 static/image/common/back.gif
我知道编译器会把MEMS转换成立即数,可是MEMS只是标号,我想问DS:MEMS里的MEMS具体是指标号的偏移地址还是 ...

5楼已经说过了,请参考五楼的回复!

死亡请帖 发表于 2011-8-9 14:51:54

看来只能自己实验了。代码如下:assume cs:code
code segment
start:
nop
nop
MEMS:MOV DS:MEMS,300AH
mov ah,4ch
int 21h
code ends
end start截图如下,可见MEMS最终变为它的偏移地址。

parbbo 发表于 2011-8-9 15:07:51

这不是瞎折腾,有什么用?

死亡请帖 发表于 2011-8-9 15:43:08

parbbo 发表于 2011-8-9 15:07 static/image/common/back.gif
这不是瞎折腾,有什么用?

瞎折腾??你不想想如果标号是数据的,那么标号的意义就不同了,它就代表了内存单元,有些时候还可能编译成段地址。
这些都要具体情况来分析

parbbo 发表于 2011-8-9 15:55:02

你整这个没有必要,简单能解决问题就ok了!

死亡请帖 发表于 2011-8-9 15:57:39

tsembrace 发表于 2011-8-8 21:11 static/image/common/back.gif
不需要预定义吧,但我不知道如下这种方式是不是和你所说的”预定义“类似?
mov bx,02h
mov ax,bx


兄弟,我知道怎么预定义了,MEMS其实就是MEMS EQU 1234H这么来的

Be_envious 发表于 2011-8-9 16:54:59

本来明白了,直到看到楼上这位的,我就又不明白了.

青鱼小小 发表于 2011-8-9 23:04:07

其实就是个变量:loveliness:
页: [1]
查看完整版本: MOV DS:MEMS[BP],300AH里的MEMS是什么意思?