assume cs:code,ds:data
data segment
db 'ibm'
db 'dec'
db 'dos'
db 'vax'
data ends

stack segment
dw 0,0,0
stack ends

code segment

start:
mov ax,data
mov ds,ax

mov ax,stack
mov ss,ax
mov sp,4

mov si,0
mov cx,4 ;外部循环4次
loop1:
push cx ;将外部循环程序入栈

mov cx,3 ;进行内部循环
mov bx,0 ;bx来进行行位移,si来进行列位移
loop2:
mov al,[si+bx]
and al,11011111B
mov [si+bx],al
inc bx
loop loop2


add si,3
pop cx
loop loop1

mov ax,4c00h
int 21

code ends
end start