. : : Assembly Language : : .
|
首页
|
我提出的问题
|
我参与的问题
|
我的收藏
|
消息中心
|
游客 登录
|
提问
|
未解决
|
已解决
|
精华区
|
搜索
|
《汇编语言》论坛
->
端口
主题 : :
检测点14.2
[待解决]
回复[
10
次 ] 点击[
1566
次 ]
masmaster
[帖 主]
[ 发表时间:2010-06-22 18:39 ]
荣誉值:268
信誉值:12
注册日期:2010-06-18 22:19
1 assume cs:code
2 code segment
3 start:
4 mov ax,1234
5 mov cl,2
6 shl ax,1
7 mov dx,ax
8 shl ax,cl
9 add ax,dx
10 ; mov ax,1234
11 ; mov bx,10
12 ; mul bx
13 mov ah,4ch
14 int 21h
15 code ends
16 end start
hky987654321
[第
8
楼]
[ 回复时间:2013-08-30 16:39 ]
荣誉值:26
信誉值:0
注册日期:2013-07-15 09:25
根据检测点14.2的要求,用“加法”和“移位指令”计算(ax)=(ax)*10,
简单地用5个(ax)*2相加即可。乘法和循环,在这里没必要了。
assume cs:code
code segment
mov ax,1234h ;为ax赋值
shl ax,1 ;移位得到(ax)*2
mov bx,ax ;转存1个(ax)*2于bx中
add ax,ax ;得到2个(ax)*2相加
add ax,ax ;得到4个(ax)*2相加
add ax,bx ;得到5个(ax)*2相加
mov ax,4c00h
int 21h
code ends
end
需要登录后才能回帖 -->>
请单击此处登录
Copyright © 2006-2024 ASMEDU.NET All Rights Reserved