第一个条件是判断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、阅读下列程序段,回答问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)