|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 xxasy 于 2011-7-23 09:00 编辑
- assume cs:code
- code segment
- start: mov ax,cs
- mov ds,ax
- mov si,offset do0 ;设置ds:si指向源地址
- mov ax,0
- mov es,ax
- mov di,200h ;设置es:di指向源地址
- mov cx,offset do0end - offset do0 ;设置cx为传输长度
- cld ;设置传输方向为正
- rep movsb
- mov ax,0
- mov es,ax
- mov word ptr es:[0*4],200h ;设置中断向量的入口地址的偏移地址
- mov word ptr es:[0*4+2],0 ;设置中断向量的入口地址的段地址
- mov ax,0f000h
- mov dx,22d
- mov cx,10d div cx ;此4句是为了做个溢出的除法
- mov ax,4c00h
- int 21h
- do0: jmp short do0start
- db "divide error!"
- do0start: mov ax,cs
- mov ds,ax
- mov si,202h ;设置ds:si指向字符串
- mov ax,0B800h
- mov es,ax
- mov di,12*0A0h+2*32 ;设置es:di指向显存空间的中间位置
- mov cx,13d ;设置字符串长度
- s: mov al,[si]
- mov es:[di],al
- inc si
- add di,2
- loop s
- mov ax,4c00h
- int 21h
- do0end: nop
- code ends
- end start
复制代码 小甲鱼老师的答案。可以有两个mov ax,4c00h int 21h么?
|
|