. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(内存访问)
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  为什么我在Debug中用A输入汇编命令时,直接赋值11316出错?(P48,问题3.4)  [已解决] 回复[ 7次 ]   点击[ 449次 ]  
sysop
[帖 主]   [ 发表时间:2008-11-26 08:28 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:1
注册日期:2008-06-04 14:46
第3章的P48,问题3.4,
我输入
mov ax,1000H
和 mov ax,11316似乎都出错?
好像mov ax,1000H填写 mov ax,1000才是对的?
而且,不能直接给ax赋值10进制的数字?
abob
[第1楼]   [ 回复时间:2008-11-26 10:49 ]   [引用]   [回复]   [ top ] 
荣誉值:169
信誉值:0
注册日期:2008-08-19 16:07
debug下默认是十六进制的数据。
abob
[第2楼]   [ 回复时间:2008-11-26 10:50 ]   [引用]   [回复]   [ top ] 
荣誉值:169
信誉值:0
注册日期:2008-08-19 16:07
多看两遍和联系实验一,debug可是很有用的,没有debug根本就分析不了汇编了~
sysop
[第3楼]   [ 回复时间:2008-11-26 11:39 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:1
注册日期:2008-06-04 14:46
debug下默认是十六进制的数据。
------------------
请教:
那么我输入P48,问题3.4的程序的时候,
是不是应该输成下面的样子,而不能够按照书上原来的语句进行输入?
mov ax,1000(mov ax,1000H输入出错)
mov ds,ax
mov ax,2c34(mov ax,11316输入出错)
...
yinxd6112
[第4楼]   [ 回复时间:2008-11-26 14:11 ]   [引用]   [回复]   [ top ] 
荣誉值:12
信誉值:0
注册日期:2008-11-24 18:10
debug默认是16进制 
楼主输入的实际是11316H,属于溢出错误,debug会报错
mouse
[第5楼]   [ 回复时间:2008-11-26 14:28 ]   [引用]   [回复]   [ top ] 
荣誉值:472
信誉值:12
注册日期:2007-10-16 15:34
我们平常使用的时候都是默认十进制的,我们去买东西不能说“10块钱(十进制的啊)” 呵呵,开个玩笑。

所以书上没有指名进制的情况也也都是十进制的,而用到十六进制的时候就需要说明了。比如实验一 2实验任务(1)中的表示。

在debug下把后面的H省略就可以了(先输入机器码,然后用u命令查看也能发现这个问题,这是不需要问别人而自己通过实践摸索的方式,可以尝试多用),用a命令输入的时候参考2.49.

debug对学习汇编非常重要,不仅是调试程序,还是验证自己方法的利器。尤其是对刚学debug,一定要多用、熟练。尽量的用debug验证自己的想法。
sysop
[第6楼]   [ 回复时间:2008-11-26 17:45 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:1
注册日期:2008-06-04 14:46
debug默认是16进制 
楼主输入的实际是11316H,属于溢出错误,debug会报错
------------------
回复:明白了,谢谢!
看起来 abob 说的时候,我是没有反应过来。
记得书上曾经写了一句,说十进制后面不加任何东西,16进制后跟字母H,二进制后跟字母B。
debug默认是16进制,所以,就像yinxd6112说的一样,debug把11316当成了16进制,超出ax的长度,溢出错误。
而如果用编译器编译的话,就可以按照正常的程序来写了,
debug就是个调试的工具,而不是用来编程的。。。
------
感谢各位。
sysop
[第7楼]   [ 回复时间:2008-11-26 17:46 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:1
注册日期:2008-06-04 14:46
此贴由 贴主 于 [ 2008-11-26 17:46 ] 结贴。 结贴原因:问题已解决
得分情况: 1楼(abob):6分   4楼(yinxd6112):4分  
此问题已结贴!
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved