assume cs:code
data segment
db 'work',0
db 'unix',0
db 'wind',0
db 'good',0
data ends
stack segment
db 10h dup (0)
stack ends
code segment
start: mov ax,data
mov ds,ax
mov bx,0
mov ax, stack
mov ss,ax
mov sp,16
mov cx,4
s: mov si,bx
call capital
add bx,5
loop s
mov ax,4c00h
int 21h
capital: push si
push cx
change: mov cl,[si]
mov ch,0
jcxz ok
and byte ptr [si],11011111b
inc si
jmp short change
ok: pop cx
pop si
ret
code ends
end start |