实验1
安装代码:ins.asm
assume cs:code
code segment
start: mov ax, cs
mov ds, ax
mov si, offset show
mov ax, 0
mov es, ax
mov di, 200h
mov cx, offset showend-offset show
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
show: mov di, 0
looop: mov ax, 0b800h
mov es, ax
mov al, ds:[si]
cmp al, 0
je ok
mov ah, cl
mov es:[di], ax
inc si
add di, 2
jmp looop
ok: iret
showend:nop
code ends
end start
测试代码:test.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
运行效果:
实验二
https://blog.csdn.net/include_heqile/article/details/80928421
实验三
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, [si]
mov dl, 0
mov ah, 2
int 10h
mov dx, [bx]
mov ah, 9
int 21h
add si, 1
add bx, 2
loop ok
mov ax, 4c00h
int 21h
code ends
end start
运行结果: