汇编程序设计实验二.doc
汇编程序设计实验报告项目名称 实验二 专业班级 1203 学 号 姓 名 张晓航 实验成绩:批阅教师:2013年 10 月 21 日实验2实验学时: 2 实验地点: 二综 实验日期: 2013.10.21 一、实验目的掌握汇编编程规范,熟悉编程环境。二、实验内容编程:参考教材实验9,在屏幕中间分别显示绿色、绿底红色、白底蓝色的字符串welcome to masm。三、 实验步骤算法及关键代码data segment db 'Welcome to masm!',0data endscode segmentassume cs:code,ds:datastart: mov dh,13 ;dh装行号(范围:1-25) mov dl,30 ;dl装列号(范围:1-80)注:每超过80等于行号自动加1 mov cl,71h ;cl中存放颜色属性(0cah为红底高亮闪烁绿色属性) mov ax,data mov ds,ax mov si,0 call show_str mov ax,4c00h int 21h show_str: ;显示字符串的子程序定义开始 push cx push si mov al,0A0h dec dh ;行号在显存中下标从0开始,所以减1 mul dh mov bx,ax mov al,2 mul dl sub ax,2 ;列号在显存中下标从0开始,又因为偶字节存放字符,所以减2 add bx,ax ;此时bx中存放的是行与列号的偏移地址 mov ax,0B800h mov es,ax ;es中存放的是显存的第0页(共0-7页)的起始的段地址 mov di,0 mov al,cl mov ch,0s: mov cl,ds:si jcxz ok mov es:bx+di,cl ;偶地址存放字符 mov es:bx+di+1,al ;奇地址存放字符的颜色属性 inc si add di,2 jmp short sok: pop si pop cx ret ;显示字符串的子程序定义结束code endsend start四、 实验结果四、实验小结(简单说明实验过程中出现的问题和解决方法)通过阅读材料了解了怎样计算颜色属性。5