. : : Assembly Language : : .
|
首页
|
我提出的问题
|
我参与的问题
|
我的收藏
|
消息中心
|
游客 登录
|
刷新
|
提问
|
未解决
|
已解决
|
精华区
|
搜索
|
《汇编语言》论坛
->
[bx]和loop指令
管理员:
assembly
[
回复本贴
]
[
收藏本贴
] [
管理本贴
] [
关闭窗口
]
主题 : :
看我写的实验4.2
[待解决]
回复[
2
次 ] 点击[
320
次 ]
iomu
[帖 主]
[ 发表时间:2009-03-26 19:08 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2009-01-06 21:37
assume cs:why
why segment
mov ax,0020h
mov ds,ax
mov bx,0
mov cx,63
s:add [bx],bx
inc bx
loop s
mov ax,4c00h
int 21h
why ends
end
我测试的可以,可不知道这样写是不是不规范的汇编
crazyman
[第
1
楼]
[ 回复时间:2009-03-27 13:54 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:152
信誉值:3
注册日期:2008-01-24 21:26
程序规范和思路没什么问题,不过,有3点我想提示:
1.0~3Fh共有64个数据。
2.add [bx],bx 这里不是add,add是增加,题目要求的是传送。
3.add [bx],bx 还是这里,我们知道,我们移动的数据是字节型的,你用bx是进行字操作,当然,由于你下面是inc bx所以,结果看起来是没有问题的,在这个过程中就是高位被覆盖,不过,最后一个数据高位是没有被覆盖的,虽然它是0,但是,这个思维逻辑上存在漏洞的,我们应该严谨的操作我们数据,让结果100%符合逻辑,这才能锻炼我们的思维。所以,我觉得这里应该add [bx],bl
iomu
[第
2
楼]
[ 回复时间:2009-03-28 16:48 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2009-01-06 21:37
谢谢2楼的朋友了 受教
需要登录后才能回帖 -->>
请单击此处登录
Copyright © 2006-2024 ASMEDU.NET All Rights Reserved