|
主题 : : 大家都来做下这道题,我已经做了。 [待解决] |
回复[ 4次 ]
点击[ 315次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2009-08-05 18:25 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-11-27 01:10 |
写出执行以下计算的指令序列,其中Z,W,X,R均为存放16位带符号数单元的地址。
要求:
Z←W-(X+6)-(R+9)
其中←号表示赋值。
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
下面是我的做法:
■方法一:assume cs:code
r segment
dw 0123h
x segment
dw 0456h
z segment
dw 0789h
w segment
dw 0abch
code segment
mov ax,x
add ax,6
mov bx,r
add bx,9
mov dx,w
sub dx,ax
sub dx,bx
mov z,dx
mov ax,4c00h
int 21h
code ends
end
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
■方法二:assume cs:code
r segment
dw 0123h
x segment
dw 0456h
z segment
dw 0789h
w segment
dw 0abch
code segment
mov ax,x+6
mov bx,r+9
mov dx,w
sub dx,ax
sub dx,bx
mov z,dx
mov ax,4c00h
int 21h
code ends
end
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
■方法三:assume cs:code
r segment
dw 0123h
x segment
dw 0456h
z segment
dw 0789h
w segment
dw 0abch
code segment
mov ax,6x
mov bx,9x
mov dx,w
sub dx,ax
sub dx,bx
mov z,dx
mov ax,4c00h
int 21h
code ends
end
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
但是编译不过,我不知道是什么原因。下面是错误信息:
D:\masm>masm
Microsoft (R) Macro Assembler Version 5.00
Copyright (C) Microsoft Corp 1981-1985, 1987. All rights reserved.
Source filename [.ASM]: ww2
Object filename [ww2.OBJ]:
Source listing [NUL.LST]:
Cross-reference [NUL.CRF]:
Open segments: W Z X R
ww2.ASM(19): error A2056: Immediate mode illegal
50800 + 450304 Bytes symbol space free
0 Warning Errors
1 Severe Errors
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
哪个高手,老师,专家告诉我怎么回事丫,有兴趣的学友也帮看看啦。非常谢谢~~ | | |
|
|
|
|
[第1楼]
[ 回复时间:2009-08-06 07:38 ]
[引用]
[回复]
[ top ] | |
荣誉值:35
信誉值:44
注册日期:2008-09-03 21:36 |
■方法三:assume cs:code
r segment
dw 0123h
x segment
dw 0456h
z segment
dw 0789h
w segment
dw 0abch
code segment
mov ax,6x--------?
mov bx,9x--------?
mov dx,w----------?
sub dx,ax
sub dx,bx
mov z,dx-----------?
mov ax,4c00h
int 21h
code ends
end | | |
|
|
|
|
[第2楼]
[ 回复时间:2009-08-06 07:42 ]
[引用]
[回复]
[ top ] | |
荣誉值:35
信誉值:44
注册日期:2008-09-03 21:36 |
■方法三:assume cs:code
r segment
dw 0123h
x segment
dw 0456h
z segment
dw 0789h
w segment
dw 0abch
---------------以上全错
r segment
dw 0123h
r ends
x segment
dw 0456h
x ends
z segment
dw 0789h
z ends
w segment
dw 0abch
w ends
--------------------------------------
你的代码是哪国出品?慢慢来吧 | | |
|
|
|
|
[第3楼]
[ 回复时间:2009-08-06 17:30 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-11-27 01:10 |
|
|
|
|
|
[第4楼]
[ 回复时间:2009-08-13 10:02 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-08-04 16:31 |
mov ax,x
add ax,6
--------------------
mov ax,x
这是一个将X的段地址送AX
add ax,6这是做什么,题中的意思是要将X中的数据+6吗
关注ing | | |
|