汇编学习历程(显示Welcome To Masm!)

;显示 红底蓝字的 Welcome To Masm!
; 红底蓝字编码   01001001 = 49
; 补充知识: 显存地址从 B8000H ~ BFFFFH 共32KB,分为八页,每页约4KB(4000Byte),一般显示器显示第零页的内容;
; 每页有25行80列,每列有160字节,显示一个字符需要两个字节,一个字符的ASCII码,另一个为字符的显示格式;
;一般奇数地址为字符格式,偶数为字符ASCII码。

assume cs:code,ds:data,ss:stack

code segment
start:
	mov ax,stack
	mov ss,ax
	mov sp,6
	mov ax,data
	mov ds,ax						;以上是设置相关寄存器
	
	mov ax,0b800h
	mov es,ax						;设置显存段地址
	
	mov bx,0
	mov si,0
	mov cx,16						;相关寄存器初始化,设置循环次数
	
	e:
	
	mov ax,ds:[bx]					;取出字符数据	
	mov es:[7c0h + si],ax			;将字符数据写入显存地址
	mov ax,49h						
	mov es:[7c0h + si + 1],ax		;设置字符显示格式
	add si,2						;定位下一个字符格式地址,奇数地址为字符格式
	inc bx							;定位下一个字符地址

	loop e
	
	mov ax,4c00h					;程序结束
	int 21h

code ends

stack segment			;定义栈段
dw 3 dup(0)
stack ends

data segment 			;定义数据段
db 'Welcome To Masm!'
data ends

end start

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值