1、顺序程序设计
DATA SEGMENT
X DB 8FH
Y DB 97H
Z DB ?
DATA ENDS
STAC SEGMENT STACK 'STACK'
DW 20H DUP(?)
TOP LABEL WORD
STAC ENDS
CODE SEGMENT
MAIN PROC FAR
ASSUME CS:CODE,DS:DATA,SS:STAC
START: MOV AX,STAC
MOV SS,AX
MOV SP,OFFSET TOP
PUSH DS
MOV AX,DATA
MOV DS,AX
MOV AL,X
ADD AL,Y
MOV AH,0
ADC AH,AH
SHR AX,1
MOV Z,AL
RET
MAIN ENDP
CODE ENDS
END START
2、分支程序设计
DSEG SEGMENT
VARX DB -25
VARY DB ?
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
START: MOV AX,DSEG
MOV DS,AX
MOV AL,VARX
CMP AL,0
JGE NEXT
MOV VARY,-1
JMP HALT
NEXT: JE ZARE
MOV VARY,1
JMP HALT
ZARE: MOV VARY,0
HALT: MOV AH,4CH
INT 21H
CSEG ENDS
END START
DSEG SEGMENT
VARX DB -25
VARY DB ?
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
START: MOV AX,DSEG
MOV DS,AX
MOV AL,VARX
CMP AL,0
JGE NEXT
MOV AL,0FFH
JMP HALT
NEXT: JE ZAR0
MOV AL,1
JMP HALT
ZAR0: MOV AL,0
HALT: MOV VARY,AL
MOV AH,4CH
INT 21H
CSEG ENDS
END START
DSEG SEGMENT
VARX DB -25
VARY DB ?
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
START: MOV AX,DSEG
MOV DS,AX
MOV AL,VARX
CMP AL,0
JGE NEXT
MOV AL,0FFH
JMP HALT
NEXT: JE ZAR0
MOV AL,1
JMP HALT
ZAR0: MOV AL,0
HALT: MOV VARY,AL
MOV DL,VARY
MOV CL,4
ROR DL,CL
AND DL,0FH
CMP DL,0FH
JB NUA
ADD DL,7
NUA: ADD DL,30H
MOV AH,2
INT 21H
MOV DL,VARY
AND DL,0FH
CMP DL,0AH
JB NUB
ADD DL,7
NUB: ADD DL,30H
MOV AH,2
INT 21H
MOV DL,'H'
MOV AH,4CH
INT 21H
CSEG ENDS
END START
输出FF,