tcode SEGMENT para public 'CODE' ASSUME cs:tcode .386 LOCALS include twstloop.inc PUBLIC _twistvram _twistvram dw 0,0 ALIGN 16 PUBLIC _twist _twist dw 200 dup(0,0,0,0) PUBLIC _twister _twister PROC FAR push bp mov bp,sp push si push di push ds mov ds,cs:_twistvram[2] mov si,OFFSET _twist xor di,di mov cx,200 @@1: mov bx,cs:[si] @@4: cmp bx,0 jge @@2 add bx,200 jmp @@4 @@2: cmp bx,200 jl @@3 sub bx,200 jmp @@2 @@3: shl bx,2 call cs:twistt[bx] call cs:twistt[bx+2] add di,80 add si,8 loop @@1 pop ds pop di pop si pop bp ret _twister ENDP tcode ENDS END