DATA SEGMENT WORD PUBLIC 'DATA' DATA ENDS CODE SEGMENT BYTE PUBLIC 'CODE' CODE ENDS DOSGROUP GROUP DATA,CODE SECONDCODE SEGMENT BYTE PUBLIC 'CODE' SECONDCODE ENDS .386 CODE segment wordvar dw 0 ASSUME CS:DOSGROUP,DS:NOTHING,ES:NOTHING,SS:NOTHING,FS:NOTHING,GS:NOTHING public start start: testfunction proc near ASSUME CS:DOSGROUP,DS:NOTHING,ES:NOTHING,SS:NOTHING,FS:NOTHING,GS:NOTHING mov ax, wordvar ;cs ASSUME CS:DOSGROUP,DS:NOTHING,ES:NOTHING,SS:NOTHING,FS:NOTHING,GS:DOSGROUP mov ax, wordvar ;gs ASSUME CS:DOSGROUP,DS:NOTHING,ES:NOTHING,SS:NOTHING,FS:DOSGROUP,GS:NOTHING mov ax, wordvar ;fs ASSUME CS:DOSGROUP,DS:NOTHING,ES:NOTHING,SS:NOTHING,FS:DOSGROUP,GS:DOSGROUP mov ax, wordvar ;gs ASSUME CS:DOSGROUP,DS:NOTHING,ES:NOTHING,SS:DOSGROUP,FS:NOTHING,GS:NOTHING mov ax, wordvar ;ss ASSUME CS:DOSGROUP,DS:NOTHING,ES:NOTHING,SS:DOSGROUP,FS:NOTHING,GS:DOSGROUP mov ax, wordvar ;gs ASSUME CS:DOSGROUP,DS:NOTHING,ES:NOTHING,SS:DOSGROUP,FS:DOSGROUP,GS:NOTHING mov ax, wordvar ;fs ASSUME CS:DOSGROUP,DS:NOTHING,ES:NOTHING,SS:DOSGROUP,FS:DOSGROUP,GS:DOSGROUP mov ax, wordvar ;gs nop ASSUME CS:DOSGROUP,DS:NOTHING,ES:DOSGROUP,SS:NOTHING,FS:NOTHING,GS:NOTHING mov ax, wordvar ;es ASSUME CS:DOSGROUP,DS:NOTHING,ES:DOSGROUP,SS:NOTHING,FS:NOTHING,GS:DOSGROUP mov ax, wordvar ;gs ASSUME CS:DOSGROUP,DS:NOTHING,ES:DOSGROUP,SS:NOTHING,FS:DOSGROUP,GS:NOTHING mov ax, wordvar ;fs ASSUME CS:DOSGROUP,DS:NOTHING,ES:DOSGROUP,SS:NOTHING,FS:DOSGROUP,GS:DOSGROUP mov ax, wordvar ;gs ASSUME CS:DOSGROUP,DS:NOTHING,ES:DOSGROUP,SS:DOSGROUP,FS:NOTHING,GS:NOTHING mov ax, wordvar ;ss ASSUME CS:DOSGROUP,DS:NOTHING,ES:DOSGROUP,SS:DOSGROUP,FS:NOTHING,GS:DOSGROUP mov ax, wordvar ;gs ASSUME CS:DOSGROUP,DS:NOTHING,ES:DOSGROUP,SS:DOSGROUP,FS:DOSGROUP,GS:NOTHING mov ax, wordvar ;fs ASSUME CS:DOSGROUP,DS:NOTHING,ES:DOSGROUP,SS:DOSGROUP,FS:DOSGROUP,GS:DOSGROUP mov ax, wordvar ;gs int 3 ASSUME CS:DOSGROUP,DS:DOSGROUP,ES:NOTHING,SS:NOTHING,FS:NOTHING,GS:NOTHING mov ax, wordvar ;ds ASSUME CS:DOSGROUP,DS:DOSGROUP,ES:NOTHING,SS:DOSGROUP,FS:NOTHING,GS:NOTHING mov ax, wordvar ;ds ASSUME CS:DOSGROUP,DS:DOSGROUP,ES:DOSGROUP,SS:NOTHING,FS:NOTHING,GS:NOTHING mov ax, wordvar ;ds ASSUME CS:DOSGROUP,DS:DOSGROUP,ES:DOSGROUP,SS:DOSGROUP,FS:NOTHING,GS:NOTHING mov ax, wordvar ;ds nop nop testfunction endp CODE ends .8086 SECONDCODE segment ASSUME CS:SECONDCODE,DS:NOTHING,ES:NOTHING,SS:NOTHING testfunction2 proc near ;ASSUME CS:SECONDCODE,DS:NOTHING,ES:NOTHING,SS:NOTHING ; mov ax, wordvar ASSUME CS:SECONDCODE,DS:NOTHING,ES:NOTHING,SS:DOSGROUP mov ax, wordvar ;ss ASSUME CS:SECONDCODE,DS:NOTHING,ES:DOSGROUP,SS:NOTHING mov ax, wordvar ;es ASSUME CS:SECONDCODE,DS:NOTHING,ES:DOSGROUP,SS:DOSGROUP mov ax, wordvar ;ss ASSUME CS:SECONDCODE,DS:DOSGROUP,ES:NOTHING,SS:NOTHING mov ax, wordvar ;ds ASSUME CS:SECONDCODE,DS:DOSGROUP,ES:NOTHING,SS:DOSGROUP mov ax, wordvar ;ds ASSUME CS:SECONDCODE,DS:DOSGROUP,ES:DOSGROUP,SS:NOTHING mov ax, wordvar ;ds ASSUME CS:SECONDCODE,DS:DOSGROUP,ES:DOSGROUP,SS:DOSGROUP mov ax, wordvar ;ds testfunction2 endp SECONDCODE ends end start