鱼C论坛

 找回密码
 立即注册
查看: 3221|回复: 1

[技术交流] 我的实验10的第一题!

[复制链接]
发表于 2011-7-4 21:49:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 linha0 于 2011-7-4 21:52 编辑
assume cs:code,ds:data

data segment
db 'welcome to masm!',0                        ;共16个ASCII码字符,16个字节
data ends

rgb segment

db 00000010b;0、黑底绿字
db 01000010b;1、红底绿字
db 01110001b;2、白底蓝字
db 00100100b;3、绿底红字
db 11000010b;4、红底闪烁绿字
db 01001010b;5、红底高亮绿字
db 00000111b;6、黑底白字

db 32 dup (0)    ;存放CX,用于多重循环
rgb ends

code segment
start:
                mov ax,data
                mov ds,ax
                mov ax,rgb
                mov ss,ax
                mov sp,30h
                mov ax,0b800h                                ;显示缓冲区的段地址
                mov es,ax
                ;以上初始化各段
                
                ;测试1
                mov bp,4                                 ;设置字体颜色编号
                mov dh,0                                 ;设置行号(共25行)
                mov dl,0                                  ;设置列号(共80列)
                
                call show_str
                
                ;测试2
                mov bp,6                                ;设置字体颜色编号
                mov dh,6                                ;设置行号(共25行)
                mov dl,30                               ;设置列号(共80列)
                
                call show_str
                
                mov ax,4c00h
                int 21h
                
show_str:
                mov al,0a0h
                mul dh                                   ;计算行数的实际地址
                mov di,ax
                
                mov al,2h
                mul dl                                    ;计算列数的实际偏移地址
                add di,ax
                
                mov ah,[bp]                          ;取色
                
                mov bx,0
                mov si,0
                mov ch,0
        s:      mov cl,[si]
                jcxz ok
                mov al,cl                               ;取字
                mov es:[di][bx],ax                ;显示字符.
                
                inc si
                add bx,2
                jmp short s
                
        ok:        ret
code ends
end start
与书本不的题目要求略有不同。预先把一些颜色的二进制值存储在段中。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-7-1 22:44:52 | 显示全部楼层
看看老帖,学习学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-29 09:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表