. : : Assembly Language : : .
|
首页
|
我提出的问题
|
我参与的问题
|
我的收藏
|
消息中心
|
游客 登录
|
刷新
|
提问
|
未解决
|
已解决
|
精华区
|
搜索
|
《汇编语言》论坛
->
[bx]和loop指令
管理员:
assembly
[
回复本贴
]
[
收藏本贴
] [
管理本贴
] [
关闭窗口
]
主题 : :
为什么在debug里就不需要bx啦?
[已解决]
回复[
3
次 ] 点击[
277
次 ]
regex
[帖 主]
[ 发表时间:2009-12-31 23:31 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:61
信誉值:0
注册日期:2009-12-19 01:51
我在学习第五章5.3的时候, 按照书上的思路用debug做了实验, 在debug里
1:mov ax,ffff
2:mov ds,ax
3:mov ax,[6]
4:mov ah,0
5:mov dx,0
6:add dx,ax
这样写, 调试到第三句的时候debug显示:MOV AX,[0006] ,调试正确,
而通过masm编译的话, 这里变成了MOV AX,0006, 相当于给AX赋值啦!
当然标准写法是书上的, 我也基本理解, 不过就是想问问而已。 谢谢大家, 顺祝新年好
imjihye
[第
1
楼]
[ 回复时间:2010-01-01 10:59 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2010-01-01 10:35
当你看5.4就知道原因了 在masm编译的时候MOV AX,[0006]相当与MOV AX,0006 而debug里对MOV AX,[0006]的解释不变
要想在masm编译的时候不改变程序的愿意有2中方法
1.mov ax,0ffffh
mov ds,ax
mov bx,6
mov ax,[bx]
按照上面的显然有些麻烦
2.利用段前缀
mov ax,0ffffh
mov ds,ax
mov ax,ds:[6]
regex
[第
2
楼]
[ 回复时间:2010-01-01 12:25 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:61
信誉值:0
注册日期:2009-12-19 01:51
哦, 还没看到那呢~~, 多谢老兄指点, 顺祝元旦好
regex
[第
3
楼]
[ 回复时间:2010-01-01 15:30 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:61
信誉值:0
注册日期:2009-12-19 01:51
此贴由 贴主 于 [ 2010-01-01 15:30 ] 结贴。 结贴原因:问题已解决
得分情况:
此问题已结贴!
Copyright © 2006-2024 ASMEDU.NET All Rights Reserved