|
|
DataMuseum.dkPresents historical artifacts from the history of: RegneCentralen RC759 "Piccoline" |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RegneCentralen RC759 "Piccoline" Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 1408 (0x580)
Types: TextFile
Names: »FARDRAW.ASM«
└─⟦33b70227c⟧ Bits:30003931/GEM_Develop_disk_3_CDOS.imd Disketter indleveret af Steffen Jensen (Piccolo/Piccoline)
└─⟦this⟧ »FARDRAW.ASM«
└─⟦f18477172⟧ Bits:30003931/GEM_Develop_disk_1_CDOS.imd Disketter indleveret af Steffen Jensen (Piccolo/Piccoline)
└─⟦this⟧ »SAMP\FARDRAW.ASM«
;/* FARDRAW.ASM 3/22/85 Tim Oren */ ; PGROUP GROUP PROG ; DGROUP GROUP DATA ; PROG SEGMENT BYTE PUBLIC 'PROG' BEGIN PROC FAR ;" procname proc far" makes ret = retf ASSUME CS:PGROUP EXTRN DR_CODE:NEAR ; drawsp dw 0 drawss dw 0 ; ; far_draw() ; ax = hi part of long pointer to PARMBLK ; bx = lo part of long pointer to PARMBLK ; ; need to save the regs, get on a local stack, and call ; the dr_code() routine with the parameters pointed at ; in PARMBLK ; far_draw: push bp mov bp,sp push ds push es push si push di mov cx,ax ; remember hi ptr to parm blk mov ax,ss mov drawss,ax mov ax,sp mov drawsp,ax cli mov ax,seg drawstk mov ss,ax mov ds,ax mov es,ax mov sp,offset drawstk sti push cx ; push hi ptr to parmblk push bx ; push lo ptr to parmblk call dr_code ; state = dr_code((LONG)pparmblk) add sp,4 mov bx,ax ; remember state cli mov ax,drawss mov ss,ax mov ax,drawsp mov sp,ax sti pop di pop si pop es pop ds mov ax,bx ; restore state pop bp ret BEGIN ENDP PROG ENDS ; DATA SEGMENT PARA PUBLIC 'DATA' PUBLIC DRAWADDR DRAWADDR dw offset pgroup:far_draw drawseg dw seg pgroup:far_draw dw 256 dup(?) ; dup(?) = uninitialized drawstk dw 0 ; ; DATA ENDS END «eof»