CODE SEGMENT
ASSUME CS:CODE
ORG 100H
START: JMP BEGIN
X DQ 111111
DQ 0 ; 增加 这个是为了左移时有空间
Y DQ 11111
Z DW 8 DUP(0)
BEGIN: PUSH CS
POP DS
PUSH CS
POP ES
MOV CX,64
@0:
SHR WORD PTR Y+6,1
RCR WORD PTR Y+4,1
RCR WORD PTR Y+2,1
RCR WORD PTR Y,1
JNC @1
MOV AX,WORD PTR X
ADD WORD PTR Z,AX
MOV AX,WORD PTR X+2
ADC WORD PTR Z+2,AX
MOV AX,WORD PTR X+4
ADC WORD PTR Z+4,AX
MOV AX,WORD PTR X+6
ADC WORD PTR Z+6,AX
MOV AX,WORD PTR X+8
ADC WORD PTR Z+8,AX
MOV AX,WORD PTR X+10
ADC WORD PTR Z+10,AX
MOV AX,WORD PTR X+12
ADC WORD PTR Z+12,AX
MOV AX,WORD PTR X+14
ADC WORD PTR Z+14,AX
@1:
SHL WORD PTR X,1
RCL WORD PTR X+2,1
RCL WORD PTR X+4,1
RCL WORD PTR X+6,1
RCL WORD PTR X+8,1
RCL WORD PTR X+10,1
RCL WORD PTR X+12,1
RCL WORD PTR X+14,1
DEC CX
CMP CX,0
JE @2
JMP @0
@2:
MOV AH,4CH
INT 21H