|
主题 : : 第6章实验5,第(5)小题,我是这样做的,具体错在哪里? [已解决] |
回复[ 5次 ]
点击[ 385次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2009-11-06 14:42 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:16
注册日期:2009-10-21 20:01 |
编译无法通过,提示"(27)Improper operand type".操作数类型不符? 具体在哪里?帮忙指正一下...谢谢
assume cs:code,ds:a,es:b,ss:c,
a segment
db 1,2,3,4,5,6,7,8
a ends
b segment
db 1,2,3,4,5,6,7,8
b ends
c segment
db 0,0,0,0,0,0,0,0
c ends
code segment
start:mov ax,c
mov ss,ax
mov sp,16h
mov ax,a
mov ds,ax
mov ax,b
mov es,ax
mov bx,0
mov cx,8
s:push [bx]
add ss:[bx],es:[bx]
add bx,2
loop s
mov ax,4c00h
int 21h
code ends
end start | | |
|
|
|
|
[第1楼]
[ 回复时间:2009-11-08 19:21 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:16
注册日期:2009-10-21 20:01 |
修改后的程序:
assume cs:code
a segment
db 1,2,3,4,5,6,7,8
a ends
b segment
db 1,2,3,4,5,6,7,8
b ends
c segment
db 0,0,0,0,0,0,0,0
c ends
code segment
start:mov ax,a
mov ds,ax
mov ax,b
mov es,ax
mov ax,c
mov ss,ax
mov bx,0
mov cx,8
s:mov al,[bx]
add al,es:[bx]
mov ss:[bx],al
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end start | | |
|
|
|
|
[第2楼]
[ 回复时间:2009-11-12 02:52 ]
[引用]
[回复]
[ top ] | |
荣誉值:9
信誉值:0
注册日期:2009-10-18 04:41 |
add al,es:[bx]
mov ss:[bx],al
这两句是错误的 | | |
|
|
|
|
[第3楼]
[ 回复时间:2009-11-12 02:54 ]
[引用]
[回复]
[ top ] | |
荣誉值:9
信誉值:0
注册日期:2009-10-18 04:41 |
建义你的代码不明白的可以先在DEBUG里面单部试验一下看能通过不
如打开debug
a
写入add al,es:[bx] 它就会告诉你是对的还是错的 | | |
|
|
|
|
[第4楼]
[ 回复时间:2009-11-12 14:30 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:16
注册日期:2009-10-21 20:01 |
|
|
|
|
|
[第5楼]
[ 回复时间:2009-12-03 16:15 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:16
注册日期:2009-10-21 20:01 |
此贴由 贴主 于 [ 2009-12-03 16:15 ] 结贴。 结贴原因:问题已解决 | | |
|