王爽《汇编语言》第9章 实验9 根据材料编程

本文介绍了一个使用MASM(汇编语言)实现的程序,该程序能在屏幕中间分别以绿色、绿底红色、白底蓝色显示字符串'welcometomasm'。通过设置不同的颜色属性并利用BIOS中断进行字符输出,演示了如何在不同背景和前景色中显示文本。
实现向屏幕中间分别显示绿色、绿底红色、白底蓝色的字符串'welcome to masm'
assume cs:codesg,ds:datasg

datasg segment
  db 'welcome to masm!'
datasg ends

color segment
  db 00000010B ;黑底绿字
  db 00100100B ;绿底红字
  db 01110001B ;白底蓝字
color ends

stack segment
  dw 0,0,0,0, 0,0,0,0
stack ends

codesg segment
  start:
    mov ax,stack
    mov ss,ax
    mov sp,10H
    mov ax,color
    mov ds,ax
    mov bx,2
    
    mov cx,3
    colorpush:
      mov al,0
      mov ah,[bx]
      push ax
      sub bx,1
      loop colorpush
    
    ;计算第一个输出位置
    mov bx,1824
    mov ax,0B800H
    mov ds,ax
    mov ax,datasg
    mov es,ax
    
      
    mov cx,3
    outputloop:
      mov si,0
      mov di,cx   
      pop dx;取得输出颜色     
      mov cx,16       
      outputline:;向输出位置输出数据        
        mov dl,es:[si]
        mov [bx],dx;字符+属性                       
        ;计算下一个输出位置
        inc si
        add bx,2
        loop outputline
      mov cx,di
      add bx,128
      loop outputloop
    mov ax,4c00H
    int 21H
codesg ends

end start

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值