王爽《汇编语言》第九章实验9

这个实验的内容不是太麻烦,双层的循环代码前几章有示例代码,
实验9内容如下:
 
我的代码如下:
assume cs:codesg,ds:datasg

datasg segment
    dw 0 ; 保存外层的循环次数
    db 2h ; 绿色字
    db 24h ; 绿底红字
    db 80h ; 白底蓝字
    db 0C2h ;红底绿字
    db 'welcome to masm!'; 要显示的内容
datasg ends

codesg segment
start:  mov ax,datasg
        mov ss,ax

        mov ax,0B800h ;显存基地址
        mov ds,ax

        mov cx,4 ; 循环次数
        mov bp,2 ; 颜色的基地址
        mov dx,3872 ; 保存第一行字的起始位置,第12行33列
        sout:mov ss:[0],cx
        mov cx,16
        mov bx,dx ; start position
        mov si,6 ; start position of string

    sin:mov al,ss:[si]
        mov [bx],al
        mov al,[bp]
        mov [bx+1],al
        add bx,2
        inc si
        loop sin

        inc bp
        add dx,160
        mov cx,ss:[0]
        loop sout

        mov ax,4c00h
        int 21h
codesg ends

end start

 

 
 程序执行后,第一行的绿色字没有显示出来,这个我没有找到原因,剩下的两行显示的都是正确的(后来又加了一行红底绿字),下面是效果图
 
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值