鱼C论坛

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

[汇编作业] 实验9 实现代码

[复制链接]
发表于 2020-2-25 13:54:11 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 被遗忘的指环 于 2020-2-25 13:55 编辑

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

data segment
                db 'welcome to masm!'        ;定义要显示的字符串(共16字节)
                db 02h,24h,71h                        ;定义三种颜色属性
data ends

stack segment
                dw 8 dup(0)
stack ends

codesg segment
        start:        mov ax,data
                        mov ds,ax
                        mov ax,stack
                        mov ss,ax
                        mov sp,16
                       
                        mov bx,16                ;控制取哪个颜色
                        mov si,0                        ;控制ds段 取哪个字节
                        mov di,0                        ;控制es段 复制哪个字节去
                       
                        mov ax,0b872h        ;在第几行开始写 我这里是第11行 160*11+72=1832=728H 起始是B8000H+728H=B872H
                        mov es,ax                ;0b872h 之前加0是因为 字母masm不认
       
                        mov cx,3                        ;外循环 控制写几行
        s1:                push cx
                       
                        mov cx,16                ;内循环 负责 赋值到 es中去
        s:                mov al,ds:[si]
                        mov es:[di],al                ;把字符复制到 es段中去
                       
                        mov al,ds:[bx]
                        mov es:[di+1],al        ;把字符的属性复制到 es段中去 +1 是要填到奇数位去
                        inc si
                        add di,2                        ;因为es段里的数据都是双字节的 所以要+2
                        loop s
                       
                        mov si,0                        ;因为前边si 在增加 这里要清零 一下
                        pop cx
                        add bx,1                        ;取下一个颜色
                        add di,128                        ;正常缓冲器中一行是160 16字节+16属性 正好是下一个的开头 160-32
                        loop s1
                       
                        mov ax,4c00h
                        int 21h
codesg ends
end start
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-25 20:09:44 | 显示全部楼层
很好
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 01:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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