提俩汇编的高难问题

来源:百度知道 编辑:UC知道 时间:2024/06/17 05:40:48
1.实现y=6*x的运算
2.执行一下程序段后,(ax)=()
mov ax, 0
mov bx, 1
mov cx, 10
A: add ax,bx
inc bx
loop A
知道骗了大家了,我觉得应该挺简单的。呵呵
第一个题里的x只要很小就可以了

1
mov ax,byte ptr [_x]
mov bx,6
mul bx
(此时ax,dx中的值就是所求的乘积,dx为高位,ax为低位)
mov byte ptr [_y],ax
mov byte ptr _y[4],dx

2

实现的是从1加到10
所以答案55

第一个还是有难度的,就是如果这个X很大很大很大

ax=55

1.实现y=6*x的运算
答:将X不带进位左移1位得到X1(X1比X多1Bit)将X不带进位左移2位得到X2(X2比X多2Bit),y=X1+X2(Y的字节数为X的两倍)。只要RAM足够,可以轻松实现y=6×x
2.执行一下程序段后,(ax)=()
mov ax, 0 ;AX初始值为0
mov bx, 1 ;BX初始值为1
mov cx, 10 ;CX为循环计数
A: add ax,bx
inc bx
loop A

实现1加到10,ax=55