下列程序段用来求a、b、c、d四个数中的最大数,结果存放在m中。

下列程序段用来求a、b、c、d四个数中的最大数,结果存放在m中。,第1张

第一个条件是判断a、b二个那个大,如果a大于b,m=a,否则m=b

现在呢,m就是保存a与b的最大值了

第二个条件,如果a、b的最大值都小于c,那说明c比a、b都大,则m=c

第三个条件,如果m小于d,则说明d比较前三个的值都大,所以d最大唠。如果不大于呢,则不执行赋值 *** 作,还是以前的值

下列程序段的执行结果为______。

K=0

For J=1 to 2

For I = 1 to 3

K =I+1

Next I

For I = 1 to 7

K = K+1

Next I

Next J

Print K

结果为11,两次for i的循环中,要满足上面循环算出后才能进入下面的循环继续进行,所以第一个for i 中k=4,进到第二次循环,循环了7次,每循环一次k+1,相当于4+7=11

汇编语言,每句解释:

IN AL,82H //将82H地址端口的数据输入到AL寄存器

XOR AH,AH //异或运算,将AH寄存器清零;

ADD AX,AX //将AX寄存器自加,结果继续放入AX寄存器

MOV BX,AX //将上步结果,即AL寄存器的值放入BX寄存器

MOV CX,2 //将2赋给寄存器CX,用作计数初值

SHL BX,CL //将BX寄存器中的二进制数值按位左移CL=2位,右面补零,相当于把BX寄存器

//中数值扩大到四倍

ADD AX,BX //将AX寄存器中数值与BX寄存器中数值想加,结果放入AX寄存器

整体作用:将82H地址端口输入的数据扩大为5倍放在AX寄存器中,这里采用16进制,因此输入是05H,执行后AX中为19H

x

=

8

x

=

4

Press

any

key

to

continue

关键在于a++,a++是先运算在加1,所以,fun函数里,输出的结果是5+3=8,

main函数是1+3=4;如果换成++a,则结果是9和5

下面列出了源 *** 作数的寻址方式;

MOV R0,#50H 立即数

MOV A,@R0 间接

SWAP A 寄存器

MOV 30H,A 寄存器

MOV 31H,#30H 立即数

MOV 50H,30H 直接

要注意:对A 的 *** 作,是寄存器寻址,不要认为是直接寻址。

----

下面列出了目的 *** 作数的寻址方式;

MOV R0,#50H 寄存器

MOV A,@R0 寄存器

SWAP A 寄存器

MOV 30H,A 直接

MOV 31H,#30H 直接

MOV 50H,30H 直接

----

MOV R0,#50H -- R0 = 50H

MOV A,@R0 ---A = (50H) = 34H

SWAP A ---A = 43H

MOV 30H,A ---(30H) = 43H

MOV 31H,#30H --(31H) = 30H

MOV 50H,30H --(50H) = 43H

以上就是关于下列程序段用来求a、b、c、d四个数中的最大数,结果存放在m中。全部的内容,包括:下列程序段用来求a、b、c、d四个数中的最大数,结果存放在m中。、下面程序段的执行结果为______。 k=0 For j=1 to 2 For i=1 to 3 k=i+1 Next i For i=1 to 7 k=k+1 Next i、阅读下列程序段,回答问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9492671.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存