6.DOS系统下的显示

1、dos系统的显示大小为80*25字符,内存地址空间为B8000H~BFFFFH共32KB的空间,向这里面陷入数据,内容会出现在显示器上。

2、每个字符需要用2个字节的存储空间,高字节存储字符的属性(背景、前景、闪烁、高亮),低字节存储字符的ASCII码。

3、由上可以算出第N行M列的字符(从第1行第1列开始算,而不是第0行0列)在内存中的首地址:

(N-1)*160 + (M-1)*2

4、属性字节的格式:
在这里插入图片描述
白底蓝字不闪烁不高亮: 0 111 0 001B = 71H
注意:白色是111不是000;相反的黑色是000。

5、在第14行、32列处开始显示"welcome to masm!",白底蓝字。

assume cs:codesg,ds:datasg

datasg segment
	dw 7177h,7165h,716ch,7163h,716fh,716dh,7165h,7120h ;'welcome '
	dw 7174h,716fh,7120h							   ;'to '
	dw 716dh,7161h,7173h,716dh,7121h				   ;'masm!'
datasg ends

codesg segment
start:
	mov ax,0b800h
	mov es,ax
	mov ax,datasg
	mov ds,ax
	;显示在第14行32列处,偏移地址085EH
	mov si,085eh
	mov bx,0
	
	mov cx,16 ;一共16个字符,循环16次
  s:mov ax,[bx]
	mov es:[si],ax
	add bx,2
	add si,2
	loop s
	
	mov ax,4c00h
	int 21h
	
codesg ends

end start

6、结果
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值