. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->[bx]和loop指令
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  请问:ds:[bx] 和 ds:bx 有什么区别?还有debug下如何区别给[bx]加段前缀?  [待解决] 回复[ 8次 ]   点击[ 634次 ]  
cjlchenjilin
[帖 主]   [ 发表时间:2011-06-25 11:38 ]   [引用]   [回复]   [ top ] 
荣誉值:1
信誉值:0
注册日期:2011-05-30 14:33
debug 下:

mov ds:[bx],al
报错!
790076692
[第1楼]   [ 回复时间:2011-06-28 19:40 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-04-25 21:11
如果是DS的话,就不用前缀了
boble
[第2楼]   [ 回复时间:2011-08-17 11:30 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-08-06 18:12
ds:[bx]此处的偏移地址是指DS*16+BX处的值,而DS:BX中的偏移地址是BX的值
chinatree
[第3楼]   [ 回复时间:2011-08-17 12:06 ]   [引用]   [回复]   [ top ] 
荣誉值:118
信誉值:0
注册日期:2011-07-07 22:59
好像没有ds:bx这样用吧
mmb
[第4楼]   [ 回复时间:2011-11-07 19:45 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-10-28 08:28
debug中没有这种用法
fri123
[第5楼]   [ 回复时间:2012-11-25 21:11 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2012-11-25 20:23
debug中不可以加段前缀,应了解debug和汇编编绎器对指令的不同理解。
可看看此帖:http://www.asmedu.net/bbs/pasteinfo.jsp?part=1&level=book&kind=1006&qkSg=2&qID=64302&readSg=1
chinatree
[第6楼]   [ 回复时间:2012-11-25 23:00 ]   [引用]   [回复]   [ top ] 
荣誉值:118
信誉值:0
注册日期:2011-07-07 22:59
debug下肯定可以加段跨越前缀,但是是换一种方式。
比如
es[:不确定是不是有这个":"]
mov [bx],ax
即先输入段跨越前缀,再写指令。
fri123
[第7楼]   [ 回复时间:2012-11-26 11:32 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2012-11-25 20:23
回复:[第6楼]
------------------
我想说的是debug中不可能存在以下这种形式吧
mov al,ds:[0]

而在汇编程序中,因为masm编绎器不能正确识别 mov al,[0]
masm编绎器会把指令 mov al,[0]当作 mov al,0处理 
所以在编写汇编程序的时候要加段前缀 mov al,ds:[0]

同时如果我们直接在debug中使用A命令写入汇编指令的时候会写成 mov al,[0]或者 mov al, [bx]
而不能写成 mov al,ds:[0],这样写的话debug会报错。
support
[第8楼]   [ 回复时间:2013-04-14 14:40 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2013-04-13 11:19
那么在DEBUG中要使用ES的段地址是不是要先送入到DS中才可以?
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved