add ax,ax 是mul吧,循环次数好像也不对
算乘法干吗要连让衡加,不是有乘法指州冲令吗
mov dx,0 ;累加寄存器清0
清零用xor dx,dx或sub dx,dx比较好坦迹做吧
2
assume cs:code
code segment
mov ax,23
shl ax,1
mov ax,4c00h
int 21h
code ends
end
4
assume cs:code
code segment
mov ax,7Bh
mov bx,456
mul bx
mov ax,4c00h
int 21h
code ends
end
5
参考:http://hi.baidu.com/wwwsky089/blog/item/6d710430f68e7ba55fdf0e36.html
1、用左轿段移指令
mov ax,1
mov cl,10
shl ax,cl
2、
mov 23,ax
shl ax,1
4、
mov ax,123
mov bx,456
mul bx
5、
用高斯的公式sum=(首项+尾项)*项数/2
1+2+...+1000= (1+1000)*1000/2 = 1001*500
这个值太大,要用dx和AX共同存储:
mov ax,1001
mov dx,500
mul dx
6、串操作指令岩雹
xor ax,ax
mov es,ax
not ax
mov ds,ax
xor si,si
mov di,200h
mov cx,0bh ;或许应该是mov cx,0ch
rep movsb
7、串操作指令闭枣誉
mov ax,data
mov ds,ax
mov es,ax
xor si,si
mov cx,10h ;字符个数
mov di,cx
rep movsb
8、
mov ax,0ffffh
mov ds,ax
xor si,si
xor dx,dx
xor bx,bx
mov cx,8
s :
mov bl,byte ptr [si]
add dx,bx
add si,2
loop s