汇编语言请教:怎样把两个寄存器的高位和低位组合成新....
假如把30H的高位和31H的低位组合成一个新的字节,汇编语言怎么编程,水平太烂,自己搞不出来,向高手请教。 mov a,30hanla,#0f0h
xch a,31h
anla,#0fh
anll a,31h
真快,谢谢楼上的高手 本帖最后由 dz20062008 于 2013-4-14 02:24 编辑
估计2楼的结果总为#00h哈哈!
ANL 30H,#0F0H;30单元去低4位
ANL 31H,#0FH;31单元去高4位
MOV A,30H ;把30单元的数传送到累加器A
ADD A,31H ;30单元与31单元数据组合结果存于累加器A
总共6个机器周期 dz20062008 发表于 2013-4-14 02:19 static/image/common/back.gif
估计2楼的结果总为#00h哈哈!
ANL 30H,#0F0H;30单元去低4位
ANL 31H,#0FH;31单元去高4位
谢谢你,这么晚还在回帖。
我觉得2楼是正确的。
dz20062008 发表于 2013-4-14 02:19 static/image/common/back.gif
估计2楼的结果总为#00h哈哈!
ANL 30H,#0F0H;30单元去低4位
ANL 31H,#0FH;31单元去高4位
2楼最后一条错了,改为ORL A,31H 拆字拼字嘿嘿 本帖最后由 babysnail 于 2013-4-14 14:30 编辑
tonyone 发表于 2013-4-14 10:53 static/image/common/back.gif
2楼最后一条错了,改为ORL A,31H
是打错了!
要说最简短吗! 下面这个应该是最好的了!
MOVR0, #30H
MOVA, 31h
XCHDA, @R0
=============
MOVA, 31h
XCHDA, 30h 4L对了,LS错了XCHD只交换低4位 czzhouyun 发表于 2013-4-14 14:40 static/image/common/back.gif
4L对了,LS错了XCHD只交换低4位
错了吗!哈, 我正在研究stm8s 奇偶 C怎么估优化。喝点水先... czzhouyun 发表于 2013-4-14 14:40
4L对了,LS错了XCHD只交换低4位
30H和31H的低四位交换后,30H不就是结结果吗? 本帖最后由 信天游 于 2013-4-14 16:32 编辑
babysnail 发表于 2013-4-14 14:24
是打错了!
要说最简短吗! 下面这个应该是最好的了!
后两条语句去掉不要,因为30H里就是最后结果 信天游 发表于 2013-4-14 16:28 static/image/common/back.gif
30H和31H的低四位交换后,30H不就是结结果吗?
确实,没反应过来
页:
[1]