1、
首先是文件1.asm
assume cs:code
data segment
db "Welcome to masm!", 0
data ends
code segment
start: mov dh, 10
mov dl, 10
mov cl, 2
mov ax, data
mov ds, ax
mov si, 0
int 7ch
mov ax, 4c00h
int 21h
code ends
end start
然后是2.asm
assume cs :code
code segment
start:
mov ax,cs
mov ds,ax
mov si,offset do0
mov ax,0
mov es,ax
mov di,200h
mov cx,offset do0end- offset do0
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
do0:
push ax
push bx
push cx
push dx
push si
mov ah,0
mov al,dh
mov dh,0Ah
mul dh
add ax,0b800h
mov es,ax
mov al,dl
mov dl,2
mul dl
mov bx,ax
s:
mov al,ds:[si]
cmp al,0
je ok
mov ah,cl
mov es:[bx],ax
inc si
add bx,2
jmp s
ok:
pop si
pop dx
pop cx
pop bx
pop ax
mov ax,4c00h
int 21h
do0end:nop
code ends
end start
分别编译链接上述两个文件
masm 1;
link 1;
masm 2;
link 2;
然后执行
2、
首先是题目给出的程序,命名为1.asm
assume cs:code
code segment
start: mov ax, 0b800H
mov es, ax
mov di, 160*12
mov bx, s - se
mov cx, 80
s: mov byte ptr es:[di], '!'
add di, 2
int 7cH
se: nop
mov ax, 4c00H
int 21H
code ends
end start
然后是我们写的安装中断2.asm
assume cs :code
code segment
start:
mov ax,cs
mov ds,ax
mov si,offset do0
mov ax,0
mov es,ax
mov di,200h
mov cx,offset do0end- offset do0
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
do0:
push si
dec cx
jcxz ok
mov si,sp
add ss:[si+2],bx
ok:
pop si
iret
do0end:nop
code ends
end start
然后就大功告成了
3、
assume cs:code
code segment
s1: db 'Good, better, best,', '$'
s2: db 'Never let it rest,', '$'
s3: db 'Till good is better,', '$'
s4: db 'And better,best.', '$'
s: dw offset s1, offset s2, offset s3, offset s4
row: db 2, 4, 6, 8
start: mov ax, cs
mov ds, ax
mov bx, offset s
mov si, offset row
mov cx, 4
ok: mov bh, 0
mov dh, ds:[si]
mov dl, 0
mov ah, 2
int 10h
mov dx, ds:[bx]
mov ah, 9
int 21h
inc si
add bx, 2
loop ok
mov ax, 4c00h
int 21h
code ends
end start
其他实验题答案:实验题答案合集