assume cs:codesg,ds:datasg,ss:stacksg
datasg segment
db 992 dup (0)
db 'welcome to masm!'
db 992 dup (0)
datasg ends
stacksg segment
dw 8 dup (0)
dw 0200H,0007H,2400H,0003H,7100H,0006H,0700H,992,0,0
stacksg ends
codesg segment
start: mov ax,datasg
mov ds,ax
mov ax,0B800H
mov es,ax
mov ax,stacksg
mov ss,ax
mov sp,16
mov bx,0
mov si,0
mov ax,0700H
mov cx,992
s: mov al,[bx]
mov es:[si],ax
inc bx
add si,2
loop s
pop ax
pop cx
jcxz s1
jmp short s
s1: mov ax,4c00H
int 21H
codesg ends
end start |