|
主题 : : 关于机器码的问题 [已解决] |
回复[ 9次 ]
点击[ 457次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2008-05-10 19:00 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:14
注册日期:2008-05-09 13:11 |
第一章中的 s=768+12288-1280
下面的三行机器码什么意思,哪个代表了768哪个代表了12288和-1280啊
又是如何把一串字符串拆分成机器码呢? | | |
|
|
|
|
[第1楼]
[ 回复时间:2008-05-11 02:19 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-05-11 02:02 |
|
|
|
|
|
[第2楼]
[ 回复时间:2008-05-12 10:48 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:14
注册日期:2008-05-09 13:11 |
|
|
|
|
|
[第3楼]
[ 回复时间:2008-05-12 13:18 ]
[引用]
[回复]
[ top ] | |
荣誉值:7
信誉值:0
注册日期:2008-01-29 17:57 |
可以尝试把这三行二进制的机器码转换成十六进制的形式,再用E命令把这些十六进制的机器码写入内存,再用U命令查看其对应的汇编指令,这里边很难总结出什么规律,而且机器码晦涩难懂,所以建议不要太深研究。 | | |
|
|
|
|
[第4楼]
[ 回复时间:2008-05-12 13:42 ]
[引用]
[回复]
[ top ] | |
荣誉值:98
信誉值:2
注册日期:2007-10-09 18:23 |
明白这个是很重要的,他可能是你对机器工作认识的一个质的飞跃,保留兴趣,建议完成第二章后再进行实验性质的研究。
相信你会明白很多。呵呵 | | |
|
|
|
|
[第5楼]
[ 回复时间:2008-05-12 13:57 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:2
注册日期:2008-05-12 09:14 |
那三行机器码不是指的那三个数字
是指这个s=768+12288-1280
就想MOV AX,[3] 写出机器码就是 10100000 00000011 00000000 | | |
|
|
|
|
[第6楼]
[ 回复时间:2008-05-12 18:07 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:14
注册日期:2008-05-09 13:11 |
还是不太明白,我把这三个二进制数据 组合成10进制或16进制,也都没有一个数据是对应这三个(768,12288,
-1280)数据的啊,都没有这些数据它是怎么运算的呢,如果我想算其它的一个数据又应该怎么把它拆成二进制代码呢? | | |
|
|
|
|
[第7楼]
[ 回复时间:2008-05-13 09:24 ]
[引用]
[回复]
[ top ] | |
荣誉值:472
信誉值:12
注册日期:2007-10-16 15:34 |
768,12288,
---------
先看看,这两个数,显然他们是十进制的。
计算机存储的是二进制数据。
汇编常用的是十六进制(为什么用十六进制呢?大家可以讨论:-))
十进制->二进制 进制转换
-1280
----------
负数怎么表示啊?--补码
这是三个数字需要的知识。
s=768+12288-1280
-----------
这里的加法减法呢?汇编指令 mov sub
剩下的结论就好了->【往下学习吧】,不要奢求在这里就把这一堆二进制数字看明白,学习也总是循序渐进的嘛!
这里举这个例子,是说:之所以产生汇编语言的计算机语言发展历史和原因的。 | | |
|
|
|
|
[第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 | | |
|
|
|
|
[第9楼]
[ 回复时间:2008-05-17 08:04 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:14
注册日期:2008-05-09 13:11 |
此贴由 贴主 于 [ 2008-05-17 08:04 ] 结贴。 结贴原因:问题已解决 | | |