问一个非常菜的问题,把数字 1 存到内存中,为什么不是存ASCII码 49 ,却要存 1呢?

msdner 2004-11-21 10:35:08
用DEBUG验证。请达人指教。

assume cs:code

code segment

start: mov ax,2000h
mov ds,ax
mov byte ptr ds:[0],1

mov ax,4c00h
int 21h
code ends

end start
...全文
192 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jrjj 2004-11-23
  • 打赏
  • 举报
回复
你首先要搞清楚,你要的是一个1的量,还是一个'1'的字符
1 = 1
'1' = 49D
bigbee 2004-11-23
  • 打赏
  • 举报
回复
如果你
mov byte ptr ds:[0],'1'
就会看到1的ascii了
msdner 2004-11-22
  • 打赏
  • 举报
回复
谢谢楼上!我觉得奇怪的是,我们能看到的不都是字符吗?不管是1还是A之类的字母。
msdner 2004-11-22
  • 打赏
  • 举报
回复
哦 谢谢xwdd129(挥军进攻.NET……)!
我的意思是既然我们能看到的都是字符,那么我们在DEBUG上面看到的也是字符了?比如debug上面看到的是1,那么它在内存中的就是49了吧?哎。。。。。。。。。。
clumsy 2004-11-22
  • 打赏
  • 举报
回复
1 如果是作为字符来看的话, 应该存其 ascii 码 49; 如果是要作为数值来处理的话, 就应该存 1
xwdd129 2004-11-22
  • 打赏
  • 举报
回复
在显示的时候当然是字符了,可是当数据处理的时候,你还能把1作为字符来对待吗?比如你要做一个加法:x+1,你是用x加数字1,还是加ASCII码49啊!!
msdner 2004-11-21
  • 打赏
  • 举报
回复
而字母a之类的,却要存ASCII码。。。。。。难道数字和字母处理的规则不一样吗?

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧