|
主题 : : 请教关于mov ax,数值 的一个初学问题~ [待解决] |
回复[ 7次 ]
点击[ 394次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2011-08-10 10:17 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-08-10 09:57 |
初学汇编,碰到两个不明白的问题请教各位老师
1,请问mov ax(或bx或al,ah,bl,bh) ,数值 这个指令指的是把数值送入AX ,送入的数值把原来的数值覆盖?还是和原来的数值相加?如果是覆盖那原来的数值是不是就没有了?无用了?
2,做例题发现书上送入AX的都是4位十六进制的数值,例如6226H,如果送入626H这样的数值可以不?是不是变为0626H这样的送入呢?
3,如果是mov al,123H 这个指令成立吗?如果成立是不是把最高位1去掉,成为23H送入al呢? | | |
|
|
|
|
[第1楼]
[ 回复时间:2011-08-10 11:42 ]
[引用]
[回复]
[ top ] | |
荣誉值:12
信誉值:1
注册日期:2011-06-04 00:01 |
(1)mov ax,数值 送入的数值把原来的数值覆盖,AX原来的数值就不存在了
(2)AX是十六位寄存器,如果送入626H这样的数值也就是将0626H这样的送入(AX是16位寄存器含义你要搞清楚!)
(3)mov al,123H 错误数据类型不匹配 其中这个AL是AX寄存器的低八位,存储最大也就是11111111,即十进制255、16进制FFH,所以mov al,123H只会将23H送入AL中。
从LZ 问的这几个问题说明LZ对书上的最基础的概念都没有仔细看,数值的转化也没弄明白,AX是16位寄存器当然是占有16个二进制数,16位二进制化成16进制当时是4位的了 LZ还是从第一页开始看吧 不要在乎进度 要在乎质量掌握的程度。 | | |
|
|
|
|
[第2楼]
[ 回复时间:2011-08-10 22:35 ]
[引用]
[回复]
[ top ] | |
荣誉值:405
信誉值:0
注册日期:2008-01-19 14:51 |
楼主回使用debug命令了吗?如果会,这些都可以在debug中找到答案。如果不会,就一定要学会、学熟debug命令。否则,下面的学习都没办法进行。 | | |
|
|
|
|
[第3楼]
[ 回复时间:2011-08-13 17:23 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-08-10 09:57 |
|
|
|
|
|
[第4楼]
[ 回复时间:2011-08-13 20:29 ]
[引用]
[回复]
[ top ] | |
荣誉值:118
信誉值:0
注册日期:2011-07-07 22:59 |
|
|
|
|
|
[第5楼]
[ 回复时间:2011-08-13 20:29 ]
[引用]
[回复]
[ top ] | |
荣誉值:118
信誉值:0
注册日期:2011-07-07 22:59 |
|
|
|
|
|
[第6楼]
[ 回复时间:2011-08-29 15:32 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:0
注册日期:2009-05-07 06:13 |
|
|
|
|
|
[第7楼]
[ 回复时间:2011-08-29 15:33 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:0
注册日期:2009-05-07 06:13 |
add是相加,mov就是把原来的值替换掉ah和al又要注意了,和ax区分开 | | |