title error message interface NULL_POINTER equ 0 public clear_strerror,set_strerror,get_strerror .model small .data extrn dgroup_segment:word .data? strerror_ptr dw ? .code ;; clear strerror ; clear_strerror proc mov strerror_ptr[bp],NULL_POINTER ret clear_strerror endp ;; get strerror ; ; exit DS:SI error string ; Zf if no error string ; get_strerror proc mov ds,dgroup_segment[bp] mov si,strerror_ptr[bp] cmp si,NULL_POINTER ret get_strerror endp ;; set strerror ; ; entry AX DGROUP offset of asciiz error string ; exit Cf 1 ; set_strerror proc mov strerror_ptr[bp],ax stc ret set_strerror endp end