|
主题 : : 实验5.5 [待解决] |
回复[ 6次 ]
点击[ 315次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2009-03-30 12:55 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-01-06 21:37 |
看了答案感觉答案就一塌糊涂...来论坛看了一个朋友写的,那叫一头大,看别人代码的时候真抓狂
自己弄了个..不知道对不,还有就是S: S1:啥区别我自己没明白,书上好象没写
麻烦朋友们给俺指出来哪错, 最好顺带把S: S1:帮说下,我真搞不懂
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 es,ax
mov ax,b
mov ds,ax
mov bx,0
mov cx,8
s:mov ax,es:[bx]
add [bx],ax
add bx,2
loop s
mov ax,c
mov es,ax
mov bx,0
mov cx,8
s1:mov ax,[bx]
mov es:[bx],ax
add bx,2
loop s
mov ax,4c00h
int 21
code ends
end start | | |
|
|
|
|
[第1楼]
[ 回复时间:2009-03-30 15:52 ]
[引用]
[回复]
[ top ] | |
荣誉值:152
信誉值:3
注册日期:2008-01-24 21:26 |
s循环体是将a段的数据依次与b段的数据相加,结果更新b段原来的数据。
s1循环体是将上面计算后的b段数据移送到c段中。
就是这么个逻辑啊,没有像楼主说的那么那么恐怖吧。 | | |
|
|
|
|
[第2楼]
[ 回复时间:2009-03-30 16:40 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-01-06 21:37 |
|
|
|
|
|
[第3楼]
[ 回复时间:2009-03-30 16:41 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-01-06 21:37 |
crazyman 很感谢,我在第五章的问题也是你回答地,,谢谢 | | |
|
|
|
|
[第4楼]
[ 回复时间:2009-04-04 14:57 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-04-02 12:39 |
用这个可以不
start
mov ax,a
mov ds,ax
mov ax,b
mov ss,ax
mov ax,c
mov es,ax
mov bx,0
mov cx,8
s: add [bx],ss:[bx]
mov es:[bx,[bx]
add bx,2
loop s | | |
|
|
|
|
[第5楼]
[ 回复时间:2009-04-04 15:03 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-04-02 12:39 |
|
|
|
|
|
[第6楼]
[ 回复时间:2009-04-04 15:06 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-04-02 12:39 |
在我 的基础上改为
mov ax,ss:[bx]
add [bx],ax
mov ax,[bx]
mov es:[bx],ax
add bx,2
之后呢 | | |
|