;=============================================================== INCLUDE Pcmac.inc .MODEL SMALL,BASIC,FARSTACK EXTRN NEWLINE: FAR EXTRN PUTSTRNG: FAR 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 256 ;=============================================================== ; ; 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 ; PR_2_2 proc mov ax, @data mov ds, ax _PutStr checkA _PutStr MESSalpha mov al, ALPHA push ax call PutHex pop ax call Newline _PutStr MESSbeta mov ax, BETA xchg ah, al call PutHex xchg al, ah push ax call PutHex pop ax call Newline _PutStr MESSgamma mov ax, GAMMA xchg ah, al call PutHex xchg al, ah push ax call PutHex pop ax call Newline _PutStr MESSlamda mov al, LAMDA push ax call PutHex pop ax call Newline _PutStr MESSomega mov ax, OMEGA xchg ah, al call PutHex xchg al, ah push ax call PutHex pop ax call Newline _PutStr MESSconst mov al, CONSTANT push ax call PutHex pop ax call Newline ;*** CHECKPOINT A *** MOV AH,CONSTANT MOV AL,ALPHA MOV BX,GAMMA XCHG AH,BH XCHG AX,BETA MOV ALPHA,AH MOV LAMDA,AL call Newline _PutStr checkB _PutStr MESSalpha mov al, ALPHA mov bl, 0 push ax push bx call PutHex pop bx pop ax call Newline _PutStr MESSbeta mov ax, BETA xchg ah, al call PutHex xchg al, ah push ax call PutHex pop ax call Newline _PutStr MESSgamma mov ax, GAMMA xchg ah, al call PutHex xchg al, ah push ax call PutHex pop ax call Newline _PutStr MESSlamda mov al, LAMDA push ax call PutHex pop ax call Newline _PutStr MESSomega mov ax, OMEGA xchg ah, al call PutHex xchg al, ah push ax call PutHex pop ax call Newline _PutStr MESSconst mov al, CONSTANT push ax call PutHex pop ax call Newline ;*** CHECKPOINT B *** MOV CX,OMEGA XCHG BL,CH MOV GAMMA,BX MOV OMEGA,CX call Newline _PutStr checkC _PutStr MESSalpha mov al, ALPHA mov bl, 0 push ax push bx call PutHex pop bx pop ax call Newline _PutStr MESSbeta mov ax, BETA xchg ah, al push ax call PutHex xchg al, ah push ax call PutHex pop ax pop ax call Newline _PutStr MESSgamma mov ax, GAMMA xchg ah, al push ax call PutHex xchg al, ah push ax call PutHex pop ax pop ax call Newline _PutStr MESSlamda mov al, LAMDA push ax call PutHex pop ax call Newline _PutStr MESSomega mov ax, OMEGA mov bl, 1 push ax push bx call PutHex pop bx pop ax call Newline _PutStr MESSconst mov al, CONSTANT mov bl, 0 push ax push bx call PutHex pop bx pop ax call Newline ;*** CHECKPOINT C *** .EXIT ;RETURN TO DOS pr_2_2 ENDP END PR_2_2