|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- assume cs:code,ds:data,ss:stack
- data segment
- db 10 dup(0)
- data ends
- stack segment
- db 0
- dw 8 dup(0)
- stack ends
- code segment
- start:
- mov ax,stack
- mov ss,ax
- mov sp,16
-
- mov ax,data
- mov ds,ax
- mov di,1
-
- mov ax,0A1C2hs
- call dtoc
-
- mov dh,10 ; 行数
- mov dl,50 ; 列数
- mov si,di
- call show_str
- mov ax,4c00h
- int 21h
- ; 将数据以10进制ascii码存放到di目标空间去
- dtoc:
- push cx
- push bx
- mov bx,10
- s:
- mov cx,ax
- jcxz jisu
- mov dx,0
- div bx
- add dl,30h
- mov [di],dl
-
- inc di
- jmp s
-
- jisu:
- dec di
- pop bx
- pop cx
- ret
-
- ;名称:show_str
- ;功能:在指定的位置,用指定的颜色,显示一个用0结束的字符串
- ;参数:(dh)=行号(取值范围0-24),(dl)=列号(取值范围0-79),(cl)=颜色,ds:si指向字符串的首地址
- ;返回无
- show_str:
- push cx
- push si
- push ax
- push di
- push es
-
- mov ax,0b800h
- mov es,ax
-
- push dx
- mov ah,0
- mov al,dh
- mov bx,160
- mul bx
-
- pop dx
- push ax
-
- mov ah,0
- mov al,dl
- mov bx,2
- mul bx
-
- pop bx
- add ax,bx
-
-
- mov di,ax
-
- ks:
- mov cl,[si]
- mov ch,0
-
- jcxz jishu
-
- mov es:[di],cl
- mov byte ptr es:[di+1],02h
-
- dec si ; 下一个字符
- add di,2 ; 下一个要显示的位置
-
- jmp short ks
-
- jishu:
- pop es
- pop di
- pop ax
- pop si
- pop cx
- ret
- code ends
- end start
复制代码
|
|