. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->基础知识
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  关于机器码的问题  [已解决] 回复[ 9次 ]   点击[ 457次 ]  
tianlong1569
[帖 主]   [ 发表时间:2008-05-10 19:00 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:14
注册日期:2008-05-09 13:11
第一章中的 s=768+12288-1280 
下面的三行机器码什么意思,哪个代表了768哪个代表了12288和-1280啊
又是如何把一串字符串拆分成机器码呢?
looker
[第1楼]   [ 回复时间:2008-05-11 02:19 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-05-11 02:02
楼主看完第一章了吗??
tianlong1569
[第2楼]   [ 回复时间:2008-05-12 10:48 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:14
注册日期:2008-05-09 13:11
看完了啊
yigeling
[第3楼]   [ 回复时间:2008-05-12 13:18 ]   [引用]   [回复]   [ top ] 
荣誉值:7
信誉值:0
注册日期:2008-01-29 17:57
可以尝试把这三行二进制的机器码转换成十六进制的形式,再用E命令把这些十六进制的机器码写入内存,再用U命令查看其对应的汇编指令,这里边很难总结出什么规律,而且机器码晦涩难懂,所以建议不要太深研究。
starrynight
[第4楼]   [ 回复时间:2008-05-12 13:42 ]   [引用]   [回复]   [ top ] 
荣誉值:98
信誉值:2
注册日期:2007-10-09 18:23
明白这个是很重要的,他可能是你对机器工作认识的一个质的飞跃,保留兴趣,建议完成第二章后再进行实验性质的研究。

相信你会明白很多。呵呵
loper
[第5楼]   [ 回复时间:2008-05-12 13:57 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:2
注册日期:2008-05-12 09:14
那三行机器码不是指的那三个数字
是指这个s=768+12288-1280

就想MOV AX,[3] 写出机器码就是  10100000 00000011 00000000
tianlong1569
[第6楼]   [ 回复时间:2008-05-12 18:07 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:14
注册日期:2008-05-09 13:11
还是不太明白,我把这三个二进制数据 组合成10进制或16进制,也都没有一个数据是对应这三个(768,12288,
-1280)数据的啊,都没有这些数据它是怎么运算的呢,如果我想算其它的一个数据又应该怎么把它拆成二进制代码呢?
mouse
[第7楼]   [ 回复时间:2008-05-13 09:24 ]   [引用]   [回复]   [ top ] 
荣誉值:472
信誉值:12
注册日期:2007-10-16 15:34
768,12288, 
---------
先看看,这两个数,显然他们是十进制的。

计算机存储的是二进制数据。

汇编常用的是十六进制(为什么用十六进制呢?大家可以讨论:-))

十进制->二进制 进制转换

-1280 
----------
负数怎么表示啊?--补码

这是三个数字需要的知识。

s=768+12288-1280
-----------
这里的加法减法呢?汇编指令 mov sub

剩下的结论就好了->【往下学习吧】,不要奢求在这里就把这一堆二进制数字看明白,学习也总是循序渐进的嘛!

这里举这个例子,是说:之所以产生汇编语言的计算机语言发展历史和原因的。
tomato
[第8楼]   [ 回复时间:2008-05-13 09:40 ]   [引用]   [回复]   [ top ] 
荣誉值:405
信誉值:0
注册日期:2008-01-19 14:51
这三行机器码对应的机器指令我在debug下试了一下,分别为
MOV AX,0300H  1011 1000 0000 0000 0000 0011     B80003
ADD AX,3000H  0000 0101 0000 0000 0011 0000     050030
SUB AX,0500H  0010 1101 0000 0000 0000 0101     2D0005
0300H 3000H 0500H分别对应十进制的768,12288,1280
tianlong1569
[第9楼]   [ 回复时间:2008-05-17 08:04 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:14
注册日期:2008-05-09 13:11
此贴由 贴主 于 [ 2008-05-17 08:04 ] 结贴。 结贴原因:问题已解决
得分情况: 8楼(tomato):16分  
此问题已结贴!
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved