在屏幕上任意位置显示字符串 基于8086汇编

这篇博客介绍了如何在8086汇编环境下,使用汇编语言实现在显示器的任意位置显示字符串。通过指定行、列坐标和字符颜色,结合显存地址计算,实现了字符串的显示功能。
摘要由CSDN通过智能技术生成
assume cs:code,ds:data,ss:stack
data segment    
	db 'Welcome to masm!',0
data ends
 
stack segment    
	db 128 dup (0) 
stack ends
 
code segment
start:      
	mov ax,data ;数据段初始化    
	mov ds,ax    
	mov si,0
	mov ax,stack
	mov ss,ax
	mov sp,128    
	mov dh,12   ;显示器行位置    
	mov dl,35   ;显示器列位置          
	mov cl,2    ;字符串属性         
	call show_str
	         
	mov ax,4c00h    
	int 21h 
show_str:
	;名称:show_str
	;功能:在指定的位置,用指定的颜色,显示一个用0 结束的字符串
	;参数:(dh)=行号(取值范围0-24),(dl)=列号(取值范围0-79),
	;     (cl)=颜色,ds:si指向字符串的首地址
	;返回:无    
	push ax     ;防止寄存器冲突,子程序    
	push es     ;用到的寄存器全部入栈    
	push di     ;所谓的“保护现场 ”  
	push si    
	push dx    
	push cx 
	              
	mov ax,0B800H   ;显存初始地址    
	mov es,ax         
	mov di,0    ;行列转换显存区偏移地址    
	mov al,dh    
	mov dh,0a0h ;80个字符,160个字节    
	mul dh    
	add dl,dl   ;第三列,第六个字节  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值