王爽 汇编语言 第十三章 实验十三

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

在这里插入图片描述
其他实验题答案:实验题答案合集

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值