CODE SEGMENT
MAIN PROC FAR
ASSUME CS:CODE, DS: CODS
BEGIN: PUSH DS
XOR AX,AX
PUSH AX
MOV AX, 01
MOV BX, 02
MOV DX, 03
MOV CX, 04
L20:
INC AX
ADD BX, AX
SHR DX, 1
LOOP L20
RET
MAIN ENDP
CODE ENDS
END BEGIN
AX=(5H),BX=(10H),CX=(0H),DX=(0H)
INC: 加1
SHR:逻辑左移,每次缩小为原来的二分之一
LOOP:CX每次-1,CX=0时停止循环操作。
CX被赋值为4,说明循环4次。
AX值分别为2,3,4,5
BX为2+2+3+4+5=16,按照十六进制为10H
CX当然会变成0
DX缩小4次,3/2/2/2/2=0
假设X和X+2单元的内容为双精度数p,Y和Y+2单元的内容为双精度数q,(X和Y为低位字)试说明下列程序段做什么工作?
MOV DX, X+2
MOV AX, X
ADD AX, X
ADC DX, X+2
CMP DX, Y+2
JL L2
JG L1
CMP AX, Y
JBE L2
L1:
MOV AX, 1
JMP SHORT EXIT
L2:
MOV AX, 2
EXIT:INT 20H ;程序中止
答案:2p>q,AX置为1,2p≤q,AX置为2