汇编“生活”(一)——王爽《汇编语言》实验9程序代码——改变显示器字体颜色

assume    cs:code    ;显示器上显示绿色、绿底红色、白底蓝色字符串‘welcome to masm!‘

data    segment
    db ‘welcome to masm!‘
    db 00000010b,00100100b,01110001b
data    ends

code    segment
    starts:
        mov ax,data
        mov ds,ax
        mov bx,0
        mov ax,0b800H
        mov es,ax
        mov bp,0000H

    ;设置‘welcome‘的颜色
    mov dl,ds:[16]
    mov cx,7
    s1:
        mov al,ds:[bx]
        mov es:[bp],al
        mov es:1[bp],dl
        inc bx
        add bp,2
        loop s1

    ;设置‘ to‘
    mov al,ds:[bx]
    mov es:[bp],al
    mov dl,00000111b
    inc bx
    add bp,2
    mov dl,ds:[17]
    mov cx,2
    s2:
        mov al,ds:[bx]
        mov es:[bp],al
        mov es:1[bp],dl
        inc bx
        add bp,2
        loop s2

    ;设置‘ masm!‘
    mov al,ds:[bx]
    mov es:[bp],al
    mov dl,00000111b
    mov es:1[bp],dl
    inc bx
    add bp,2
    mov dl,ds:[18]
    mov cx,5
    s3:
        mov al,ds:[bx]
        mov es:[bp],al
        mov es:1[bp],dl
        inc bx
        add bp,2
        loop s3

    mov ax,4c00H
    int 21H        

code    ends

end starts
时间: 2024-10-17 07:17:03

汇编“生活”(一)——王爽《汇编语言》实验9程序代码——改变显示器字体颜色的相关文章

王爽<汇编语言>实验十

实验十 3.数值显示(以下程序附带测试程序) 1 ;名称: dtoc 2 ;功能: 将dword型数据转变为表示十进制数的字符串,字符串以0为结尾 3 ;参数: (ax)=dword型数据低字 4 ; (dx)=dword型数据高字 5 ; ds:si指向字符串的首地址 6 ;返回: 无 7 assume cs:code 8 data segment 9 haha dd 4294967295 10 tata dd 16 dup(?) 11 data ends 12 code segment 13

王爽<<汇编语言>> 实验十四

1 ;以"年/月/日 时:分:秒"的格式, 显示当前的日期, 时间 2 assume cs:code 3 code segment 4 main: 5 mov al,9 6 out 70h,al ;告诉CMOS RAM将要访问的存储单元编号 7 in al,71h ;从该存储单元中读入数据 8 9 mov ah,al 10 mov cl,4 11 shr al,cl 12 add al,30h ;显示的年份的十位的ascii码 13 and ah,00001111b 14 add ah

王爽< 汇编语言>实验十二

1 ;此乃安装程序 2 ;功能:将8086cpu中断类型码为0 的中断向量设置为我们编写的中断服务程序入口地址 3 ;该中断在除法发送溢出的时候产生 4 5 assume cs:code 6 code segment 7 main: 8 mov ax,cs 9 mov ds,ax 10 mov si,offset do ;设置ds:si指向源地址 11 12 mov ax,0 13 mov es,ax 14 mov di,200h ;设置es:di指向目的地址 15 16 mov cx,offs

王爽<汇编语言>实验十一 (附测试代码)

1 ;名称: letterc 2 ;功能: 将以0为结尾的字符串中的小写字母转变成大写字母 3 ;参数: ds:si指向字符串首地址 4 5 assume cs:code 6 7 data segment 8 db "Beginner's All-purpose Symbolic Instruction Code.",0 9 data ends 10 11 code segment 12 main: 13 mov ax,data 14 mov ds,ax 15 mov si,0 16

最强大的王爽汇编语言学习环境使用教程

最强大的王爽汇编语言学习环境使用教程 一.前言 这是采用VMwere Workstation 12 pro虚拟机软件,搭建的MS-DOS学习环境,在windowsXP/8/10及linux中均可以使用,在这个环境中,我集成了CCDOS中文系统,pdos中文系统,使用这些系统,可以进行中文输入与显示.还集成了,十分著名的汇编语言调试工具TR,它比debug更加强大.并且集成了适合王爽汇编语言学习的微软汇编语言编译器masm5和dos中最强大的文本编辑器 vim73 for DOS,这是一个支持彩色

王爽汇编语言(第三版)环境搭建(附PDF及工具下载)

一.前言 最近在学习汇编语言,使用的是读者评价非常高的王爽老师写的<汇编语言>(第三版),为了适应现在各个版本的windows操作系统,所以采用VMWare虚拟机来搭建纯DOS环境. 二.需要的工具 VMware-workstation-12.DOS系统镜像文件.汇编编译器masm和连接器link 百度云下载链接:https://pan.baidu.com/s/1gfz4N67 密码:02y1 三.安装VMware-workstation-12 傻瓜式安装,一直点击下一步就可以(虽然网上也可以

汇编语言(王爽)实验十

实验要求: 在屏幕的8行3列,用绿色显示data段中的字符串. data段的数据: 'welcome to masm!',0 实验分析: 建立在实验九的基础上. 定位:8行3列. 输出:只能输出welcome to masm! 寄存器太多,不能重用. 解决第一个问题:di为屏幕上的位置.dh存的行,dl存的是列 解决第二个问题:loop循环退出的条件是cx寄存器为0 把data段传入cx.如果是0.退出. 1 assume cs:code 2 data segment 3 db 'Welcome

汇编语言(王爽) 实验九

实验要求: 显示绿色.红底绿色.白底蓝色的welcome to masm! 写了一段小代码: 显示结果: 其他实验要求只需把字体属性改一下. 为增加代码重用性.利用循环. assume cs:code data segment db 'welcome to masm!' db 2,24h,71h data ends stack segment db 16 dup(0) stack ends code segment start:mov ax,stack mov ss,ax mov sp,0 mo

汇编语言(王爽) 实验十一

实验要求: 编写一个子程序,将包含任意字符,以0结尾的字符串中的小写字母转变为大写字母. Data段原始数据 实验结果 代码: