. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(CPU工作原理)
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  请教关于mov ax,数值 的一个初学问题~  [待解决] 回复[ 7次 ]   点击[ 394次 ]  
kliks
[帖 主]   [ 发表时间: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呢?
tily
[第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还是从第一页开始看吧 不要在乎进度 要在乎质量掌握的程度。
tomato
[第2楼]   [ 回复时间:2011-08-10 22:35 ]   [引用]   [回复]   [ top ] 
荣誉值:405
信誉值:0
注册日期:2008-01-19 14:51
楼主回使用debug命令了吗?如果会,这些都可以在debug中找到答案。如果不会,就一定要学会、学熟debug命令。否则,下面的学习都没办法进行。
kliks
[第3楼]   [ 回复时间:2011-08-13 17:23 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-08-10 09:57
谢谢各位,正在努力学习,确实不是一般的绕~
chinatree
[第4楼]   [ 回复时间:2011-08-13 20:29 ]   [引用]   [回复]   [ top ] 
荣誉值:118
信誉值:0
注册日期:2011-07-07 22:59
要注意ax与al的区别
chinatree
[第5楼]   [ 回复时间:2011-08-13 20:29 ]   [引用]   [回复]   [ top ] 
荣誉值:118
信誉值:0
注册日期:2011-07-07 22:59
要注意ax与al的区别
hahajing3998
[第6楼]   [ 回复时间:2011-08-29 15:32 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:0
注册日期:2009-05-07 06:13
add是相加,mov就是把原来的值替换掉
hahajing3998
[第7楼]   [ 回复时间:2011-08-29 15:33 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:0
注册日期:2009-05-07 06:13
add是相加,mov就是把原来的值替换掉ah和al又要注意了,和ax区分开
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved