综漫杯具世界txt下载:汇编语言 急~~~~

来源:百度文库 编辑:高校问答 时间:2024/04/28 01:44:55
题目一
两个整型变量A、B,编写程序完成下列功能:
(1) 如果2个数中有一个是正数,则将正数存入A,负数存入B;
(2) 如果2个数都是正数,则将2数均加1后存入原变量;
(3) 如果2个数都是负数,则2个变量均不改变。

题目二
在首地址是DATA的字数组中存放10个16位数,编写程序求平均值,并存放在AX中;并求出数组中有多少数小于此平均值,并将结果存放在BX寄存器中。

题目1:
program abc (input,output);
var
a,b,c,d:integer;
begin
write ('please input two number');
readln (c,d);
if c>0
then (a:=c) and (b:=d)
else (a:=d) and (b:=c)
write ('A='a,'B='b);

if (a>0) and (b>0)
then (a:=a+1) and (b:=b+1)
write ('a='a,'b='b);

if (a<0) and (b<0)
then writeln (a,b);
end.

这是用PASCAL语言做的,我用编译器试了的,没问题

答题目一:
假如2个数存在20h,21h两个单元中,30H为20H,31H作为21H正负标志位
(1)mov A,20H
ANL A,80H
JZ 20fu
mov 30h,#0 ;20h单元中为负数
20FU:MOV 30H,#1 ;20h单元中为正数

mov A,21H
ANL A,80H
JZ 21fu
mov 31h,#0 ;20h单元中为负数
21FU:MOV 31H,#1 ;20h单元中为正数

MOV A,30H
MOV R0,31H
ADD A,R0
cjne a,#2,lp1 ;都是正的跳到lp1
jnz lp2 ;一正一负跳到lp2 ,否则就是2负
ljmp ok
lp1:
mov a,20h
inc a
mov 20h,a
mov a,21h
inc a
mov 21h,a
ljmp ok
lp2: mov a,30h
cjne a,#1,lp3
mov a,20h
mov b,21h
ljmp ok
lp3: mov b,20h
mov a,21h
ljmp ok
ok:
end
解答2:
我就拿10个八位数当例子把!]存在20H------29H中
mov a,20h
add 21h
add 22h
add 23h
add 24h
add 25h
add 26h
add 27h
add 28h
add 29h ;求和完毕
mov b,#10
div ab ;求平均完毕
多少个小于平均的个数,就是个比较的问题,用CJNE 或SUBB都可以,在判断CY有无变化就能得出是大于平均数,还是小于平均数!

太难了

头大...