|
主题 : : 实验13 [待解决] |
回复[ 0次 ]
点击[ 1043次 ] | |
荣誉值:268
信誉值:12
注册日期:2010-06-18 22:19 |
第一题:
--------------------------------------------------------------------------------------
1 assume cs:code | 1 assume cs:code
2 data segment | 2 code segment
3 db 'Welcome to masm!',0 | 3 start: mov ax,cs
4 data ends | 4 mov ds,ax
5 code segment | 5 mov si,offset disp
6 start: mov dh,10 | 6 mov ax,0
7 mov dl,10 | 7 mov es,ax
8 mov cl,2 | 8 mov di,200h
9 mov ax,data | 9 mov cx,offset dispend-offset disp
10 mov ds,ax | 10 cld
11 mov si,0 | 11 rep movsb
12 int 7ch | 12 mov ax,0
13 mov ah,4ch | 13 mov es,ax
14 int 21h | 14 mov word ptr es:[7ch*4],200h
15 code ends | 15 mov word ptr es:[7ch*4+2],0
16 end start | 16 mov ah,4ch
~ | 17 int 21h
~ | 18 disp: mov ah,2
~ | 19 mov bl,cl
~ | 20 mov bh,0
~ | 21 int 10h
~ | 22 mov ah,9
~ | 23 mov al,[si]
~ | 24 cmp al,0
~ | 25 jz ok
~ | 26 int 10h
~ | 27 inc si
~ | 28 add dl,1
~ | 29 jmp disp
~ | 30 ok: iret
~ | 31 dispend:nop
~ | 32 code ends
~ | 33 end start
---------------------------------------------------------------------------------------
第二题
---------------------------------------------------------------------------------------
1 assume cs:code | 1 assume cs:code
2 code segment | 2 code segment
3 start: | 3 start:
4 mov ax,0b800h | 4 mov ax,cs
5 mov es,ax | 5 mov ds,ax
6 mov di,160*12 | 6 mov si,offset lp
7 mov bx,offset s-offset se | 7 mov ax,0
8 mov cx,80 | 8 mov es,ax
9 s: mov byte ptr es:[di],'!' | 9 mov di,200h
10 add di,2 | 10 mov cx,offset lpend-offset lp
11 int 7ch | 11 cld
12 se: nop | 12 rep movsb
13 mov ah,4ch | 13 ;
14 int 21h | 14 mov ax,0
15 code ends | 15 mov es,ax
16 end start | 16 mov word ptr es:[7ch*4],200h
~ | 17 mov word ptr es:[7ch*4+2],0
~ | 18 mov ah,4ch
~ | 19 int 21h
~ | 20 ;
~ | 21 lp: push bp
~ | 22 mov bp,sp
~ | 23 dec cx
~ | 24 jcxz lpret
~ | 25 add [bp+2],bx
~ | 26 lpret: pop bp
~ | 27 iret
~ | 28 lpend: nop
~ | 29 ;
~ | 30 code ends
~ | 31 end start
---------------------------------------------------------------------------------------
第三天
---------------------------------------------------------------------------------------
1 assume cs:code
2 code segment
3 s1: db 'Good, beter best,','$'
4 s2: db 'Never let it rest,','$'
5 s3: db 'Till good is better,','$'
6 s4: db 'And better,best.','$'
7 s: dw offset s1,offset s2,offset s3,offset s4
8 row: db 2,4,6,8
9 start: mov ax,cs
10 mov ds,ax
11 mov bx,offset s
12 mov si,offset row
13 mov cx,4
14 ok: mov bh,0
15 mov dh,[si]
16 mov dl,0
17 mov ah,2
18 int 10h
19 mov dx,[bx]
20 mov ah,9
21 int 21h
22 inc si
23 add bx,2
24 loop ok
25 mov ah,4ch
26 int 21h
27 code ends
28 end start | | |