. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->转移指令的原理
主题 : :  实验9 源代码+分析,不懂得同学可以参考一下  [待解决] 回复[ 6次 ]   点击[ 979次 ]  
acmonster
[帖 主] [ 发表时间:2014-07-11 20:44 ] 
荣誉值:0
信誉值:0
注册日期:2014-07-11 18:04
assume cs:code,ds:data

data segment
        db 'welcome to masm!'
        db 0000010B,00100100B,01110001B
data ends

code segment                           ;用es作为显示屏的内存段地址,bx作为它的偏移地址
start:              mov ax,data            ;用di指向字符数据,si指向色彩模式
        mov ds,ax                        
        mov bx,60

        mov ax,0b878h                  ;定位到B878是为了显示在屏幕中间
        mov es,ax
        mov di,0                        ;初始化di与si
        mov si,10h        

        mov cx,3        
s:
        mov dx,cx                        ;用dx暂存cx的值
        mov cx,16
s2:
        mov al,ds:[di]
        add di,1
        mov es:[bx],al                    ;向显示器内存输入一个字符

        inc bx
        mov al,ds:[si]
        mov es:[bx],al                    ;输入该字符的色彩模式
        inc bx
loop s2
                
        mov cx,dx                          ;恢复外层循环的cx
        mov ax,es
        add ax,0ah                      
        mov es,ax                           ;修改es使下一次打印从下一行开始
        mov bx,60
        mov di,0                             ;修改di和si以打印下一行
        add si,1
loop s


        mov ax,4c00h
        int 21h        
code ends

end start
1461299415
[第5楼] [ 回复时间:2014-12-13 17:49 ] 
荣誉值:0
信誉值:0
注册日期:2014-11-08 19:06
4楼明智呀
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved