汇编语言MOV A,#30H和MOV A,30H有什么区别

如题所述

那我简单明了说一下吧:
#30H就是指一个数,H是指这个数是16进制的数,转换成十进制就等于48,
所以MOV A,#30H 与 MOV A, #48 完全一样,最后累加器A里就有了一个数,这个数就是30H,也可以说是48。
而30H指的是地址单元,相当于房间号,你可以把它当成门牌号为30H的那个房间,
MOV A,30H 意思是把内存中的门牌号为30H的地址空间送给累加器A,最后A就等于30H单元,也就是30H所指的房间也是A所指的房间,把A当30H去用,好比你的外号和名字,都是指你这个人,所以A和30H,都是指同一个地址房间了。
貌似说得太乱了,不知你能否理解,其实这是地球上最简单的指令了啊....
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-08-21
汇编语言中MOV A,#30H和MOV A,30H的区别是:
MOV A,#30H将30H(十进制48)传送给累加器A。
MOV A,30H将寄存器30H中的值传送给累加器A。
51汇编语言中,一个操作数前加#,表示这个数是立即数,是真正的数值。未加#,则表示是寄存器地址。
第2个回答  推荐于2017-10-09
MOV A,#30H
16进制数30H送入A,结果A=30H

MOV A,30H
将地址为30H的寄存器内的数据送入A,结果A=由该寄存器内所存的实际数值决定。本回答被提问者采纳
第3个回答  2011-11-17
MOV A,#30H ; A = #30H 为 A 直接等于 30H ( #30H 为 立即数)
MOV A,30H ; A = [30H] 为 A 等于寄存器 30H 中 的数据(如 [30H] = 20H 则 A = 20H)
第4个回答  2011-11-17
MOV A,#30H ;16进制数30H送到A
MOV A,30H ;存储单元30H里的数送到A
相似回答