. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(CPU工作原理)
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  第二章检测题,我做了,请高手帮我看一下,如果有错我好发现,  [待解决] 回复[ 10次 ]   点击[ 605次 ]  
supertool
[帖 主]   [ 发表时间:2012-10-16 23:13 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2012-10-15 22:49
mov ax,62627  ax=f4a3H
mov ah,31H    ax=31a3H
mov al,23H    ax=3123H
add ax,ax     ax=6246H
mov bx,826cH  bx=826cH
mov cx,ax     cx=6246H
mov ax,bx     ax=826cH
add ax,bx     ax=04d8H
mov al,bh     ax=0482H
mov ah,bl     ax=6c82H
add ah,ah     ax=d882H
add al,6      ax=d888H
add al,al     ax=d810H
mov ax,cx     ax=6246H

2的4次方,只能用MOV,ADD指令
mov ax,2
add ax,ax
mov bx,ax
add ax,bx
mov bx,ax
add ax,bx
fpamc
[第1楼]   [ 回复时间:2012-10-17 09:04 ]   [引用]   [回复]   [ top ] 
荣誉值:30
信誉值:4
注册日期:2012-01-01 16:36
第二题,这样就行。
mov ax,2
add ax,ax
add ax,ax
add ax,ax
supertool
[第2楼]   [ 回复时间:2012-10-17 12:48 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2012-10-15 22:49
呵呵,谢谢,是啊,这样长度省好多明白了,
yang1105
[第3楼]   [ 回复时间:2012-12-28 11:43 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2012-12-28 10:32
mov ax,2
   mov cx,3
s:add ax,ax
   loop s
gucunyifan
[第4楼]   [ 回复时间:2013-01-01 09:23 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2012-11-17 19:40
挺好,我写第一题的时候,出现几个问题在此做一总结:
(1)做着做着就把MOV当ADD用了。把移送命令当成了相加命令。
(2)假设AX=828CH 执行命令add al,al时进位的问题。此时是8为寄存器进行相加运算,就不应该进位到ah上。
palm1949
[第5楼]   [ 回复时间:2013-01-01 13:30 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-05-24 18:03
回复:[第4楼]
------------------
恩,对的,我学习的时候.老师讲过,8位如果进位了,是不能想当然的认为进到高位中,即便确实是在高位中,但cpu在运行时也会无视的.
lyncxy119
[第6楼]   [ 回复时间:2013-02-10 10:12 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2013-02-09 10:29
mov ax,2
mov bx,0
mov bl,al

2的4次方这样可不可以?
lyncxy119
[第7楼]   [ 回复时间:2013-02-10 10:13 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2013-02-09 10:29
写错了

mov ax,2
mov bx,0
mov bh,al
staywang
[第8楼]   [ 回复时间:2013-07-07 10:51 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2013-07-07 10:19
我刚开始的时候也是把 mov 当做add用
还纠结半天,后面从看一遍视频才知道错误出在哪里,学着东西最主要是理解,你自己理解了也就记住了。
aben126
[第9楼]   [ 回复时间:2013-07-10 10:08 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:2
注册日期:2013-06-27 08:42
回复:[第6楼]
------------------
不能把
MOV AX,2     AX=2
MOV BX,0     BX=0
MOV BL,AL    BL=2

这不是求2的4次方么?
在这前只学习一个加法指令ADD
所以只能是
MOV AX,2      AX=2
ADD AX,AX     AX=2+AX=2+2=4
ADD AX,AX     AX=4+AX=4+4=8
ADD AX,AX     AX=8+AX=8+8=16
(2的4次方2x2x2x2=16)

所以7楼也错了。
aben126
[第10楼]   [ 回复时间:2013-07-10 10:11 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:2
注册日期:2013-06-27 08:42
MOV只是个传送命令。(如mov ax,2 把后面的传给前面的那么AX=2)
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved