;=============================================================== .MODEL SMALL,BASIC,FARSTACK INCLUDE Pcmac.inc EXTRN PutHex: FAR ;=============================================================== ; ; S T A C K S E G M E N T D E F I N I T I O N ; .STACK 16 ;=============================================================== ; ; D A T A S E G M E N T D E F I N I T I O N ; .DATA ALPHA DB 35 BETA DW 01ABH GAMMA DW 45EFH LAMDA DB CONSTANT OMEGA DW 67CDH CONSTANT EQU 10001001B checkA DB 'Checkpoint A ', 13, 10, '$' checkB DB 'Checkpoint B ', 13, 10, '$' checkC DB 'Checkpoint C ', 13, 10, '$' MESSalpha DB 'Alpha = ', '$' MESSbeta DB 'Beta = ', '$' MESSgamma DB 'Gamma = ', '$' MESSlamda DB 'Lamda = ', '$' MESSomega DB 'Omega = ', '$' MESSconst DB 'Const = ', '$' ; ;=============================================================== ; ; C O D E S E G M E N T D E F I N I T I O N ; .CODE PR_2_2 proc mov ax, @data mov ds, ax ;*** CHECKPOINT A *** MOV AH,CONSTANT MOV AL,ALPHA MOV BX,GAMMA XCHG AH,BH XCHG AX,BETA MOV ALPHA,AH MOV LAMDA,AL ;*** CHECKPOINT B *** MOV CX,OMEGA XCHG BL,CH MOV GAMMA,BX MOV OMEGA,CX push ax push bx push cx _PutStr checkC _PutStr MESSalpha mov aL, ALPHA MOV Bl, 0 call PutHex _PutStr MESSbeta mov ax, BETA mov bl, 1 call PutHex _PutStr MESSgamma mov ax, GAMMA mov bl, 1 call PutHex _PutStr MESSlamda mov al, LAMDA mov bl, 0 call PutHex _PutStr MESSomega mov ax, OMEGA mov bl, 1 call PutHex _PutStr MESSconst mov ax, CONSTANT call PutHex pop ax pop bx pop cx ;*** CHECKPOINT C *** .EXIT ;RETURN TO DOS pr_2_2 endp END PR_2_2