(1)
assume cs:codesg
codesg segment
start:mov ax,cs
mov ds,ax
mov si,offset lcy
mov ax,0
mov es,ax
mov di,200h
mov cx,offset lcc-offset lcy
cld
rep movsb
mov ax,0
mov es,ax
mov word ptr es:[7ch*4],200h
mov word ptr es:[7ch*4+2],0 ;设置中断向量表
mov ax,4c00h
int 21h
lcy:
mov ax,0b800h
mov es,ax
mov di,0
lxx:cmp byte ptr ds:[si],0
je ok
mov al,ds:[si]
mov es:[di+10*160+18],al
mov ah,02
mov es:[di+10*160+18+1],ah
inc si
add di,2
jmp short lxx
ok:iret
lcc:nop
codesg ends
end start
(2)
assume cs:codesg
codesg segment
start:mov ax,cs
mov ds,ax
mov si,offset lcy
mov ax,0
mov es,ax
mov di,200h
mov cx,offset lcc-offset lcy
cld
rep movsb
mov ax,0
mov es,ax
mov word ptr es:[7ch*4],200h
mov word ptr es:[7ch*4+2],0 ;设置中断向量表
mov ax,4c00h
int 21h
lcy:push bp
mov bp,sp
dec cx
jcxz lxx
add [bp+2],bx
lxx:pop bp
iret
lcc:nop
codesg ends
end start |