. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(内存访问)
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  为什么书中的汇编代码传递16进制数字的时候,数字后面加H  [已解决] 回复[ 5次 ]   点击[ 541次 ]  
ce54605802
[帖 主]   [ 发表时间:2009-08-09 00:07 ]   [引用]   [回复]   [ top ] 
荣誉值:24
信誉值:0
注册日期:2009-07-21 14:42
为什么书中的汇编代码传递16进制数字的时候,数字后面加H
而我再真实的计算机上用DEBUG的A功能进行书写汇编代码的时候,输入16进制数字的时候,是不允许加H的。
加H就显示错误,不加H传递进去的也是16位进制的。

在这里,我也想问下,在DEBUG里传递10进制的数字改如何传递呢?

书上写的是传递10进制的 什么都不加,传递16进制的后面加H

但是真实的计算机上的DEBUG中,传递16进制的是什么都不加,传递10进制的目前我还未知
chen19910919
[第1楼]   [ 回复时间:2009-08-09 03:31 ]   [引用]   [回复]   [ top ] 
荣誉值:15
信誉值:0
注册日期:2009-07-08 20:35
我说哥们,DEBUG好像不能用10进的吧,至于书中加H是为了让我们人类好识别而已!想多了
tinyparticle
[第2楼]   [ 回复时间:2009-08-09 15:20 ]   [引用]   [回复]   [ top ] 
荣誉值:188
信誉值:4
注册日期:2009-07-05 19:26
DEBUG默认数据的是16进制,所以不用加H,因此在DEBUG中直接用A写入指令,数据必须为16进制.
加H是一方面是为了让编译器进行辨认,到底是10进制,还是16进制.至于编译器,LZ在学完第四章就知道了.另一方面嘛就是为了让学习者分清书中数据的情况了
mess
[第3楼]   [ 回复时间:2009-08-09 15:26 ]   [引用]   [回复]   [ top ] 
荣誉值:337
信誉值:0
注册日期:2008-01-01 17:48
一个数字可以用不同的进制表示。

数字10,怎么怎么确定它等于十进制的多少呢?

所以为了区分,我们规定十六进制末尾加H表示,二进制为B,十进制为D等。

在一些约定进制的情况下可以省略末尾的表示,如课本中约定数字式十进制的,所以十进制的D可以省略,debug下H可以省略等。
ce54605802
[第4楼]   [ 回复时间:2009-08-09 18:59 ]   [引用]   [回复]   [ top ] 
荣誉值:24
信誉值:0
注册日期:2009-07-21 14:42
谢谢你们的回答,我明白了
ce54605802
[第5楼]   [ 回复时间:2009-08-09 18:59 ]   [引用]   [回复]   [ top ] 
荣誉值:24
信誉值:0
注册日期:2009-07-21 14:42
此贴由 贴主 于 [ 2009-08-09 18:59 ] 结贴。 结贴原因:问题已解决
得分情况:
此问题已结贴!
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved