1
;编写。应用中断例程
assume cs:code
code segment
;参数 DH行号,DL 列号,CL 颜色,DS:SI 指向字符串首地址
start:
;安装
mov ax,cs
mov ds,ax
mov si,offset zhongduan
mov ax,0
mov es,ax
mov di,0200h
mov cx,offset ez-offset zhongduan
cld
rep movsb
;置向量表
mov ax,0
mov es,ax
mov word ptr es:[7ch*4],0200h
mov word ptr es:[7ch*4+2],0
mov ah,4ch
int 21h
;中断例程代码
zhongduan:
mov ax,0b800h
mov es,ax
mov al,160
mul dh
mov di,ax
mov al,2
mul dl
add di,ax
s:cmp byte ptr [si],0
je ove
mov al,[si]
mov es:[di],al
mov es:[di+1],cl
inc di
inc di
inc si
jmp short s
ove:
iret
ez:nop
code ends
end start
2.push bp
mov bp,sp
dec cx
jcxz ok
add [bp+2],bx
ok:
pop bp
iret
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,[si]
mov dl,0
mov ah,2
int 10h
mov dx,[bx]
mov ah,9
int 21h
add bx,2
add si,1
loop ok
mov ax,4c00h
int 21h
code ends
end start
- [游客] 好! 07/18 08:52
- [xiaomk7758] 顶 07/17 12:52
- [black] en 要是存储的是绝对地址呢? 想过没 05/11 13:51
- [游客] ESC 05/08 13:44
- [black] 恩,挺好,继续学习 05/08 09:10
- [black] 不错 05/07 19:01
- [ppt] 在实现功能的前提下精简一下程序. 04/28 20:49
- [240420643] 看看我的,用到了循环和jcxz http://www.asmedu.net/blog/user/p 04/27 18:22
- [starrynight] 结果怎么保证正确,有进位怎么办 ---------------------------- 如果 04/26 23:27
- [yigeling] 写的不错 04/26 23:26