. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->转移指令的原理
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  实验9,也是刚学汇编,每天2小时搞一章,这个程序一气呵成,可以参考下  [待解决] 回复[ 1次 ]   点击[ 250次 ]  
luozihao
[帖 主]   [ 发表时间:2010-09-21 00:15 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:0
注册日期:2010-09-14 18:32
assume cs:code,ds:data

data segment

        db 'welcome to masm'

data ends

code segment        
        
start:        
        mov ax,data
        mov ds,ax
        
        mov ax,0b800h
        mov es,ax

         mov bx,0
        mov cx,15 
        mov si,720h                   ;位于第一页13行65列
     s1:mov al,[bx]
        mov ah,01110010b
        mov es:[si],ax
        mov dl,[bx]                ;屏幕打印函数,直接可以运行看到效果
        mov ah,02h                ;屏幕打印函数
          int 21h
        add si,2
        inc bx
        loop s1

        mov bx,0
        mov cx,15 
        mov si,7c0h   
     s2:mov al,[bx]                ;位于第一页14行65列
        mov ah,00100100b
        mov es:[si],ax
        mov dl,[bx]
        mov ah,02h
          int 21h
        add si,2
        inc bx
        loop s2

        mov bx,0
        mov cx,15 
        mov si,860h                   ;位于第一页15行65列
     s3:mov al,[bx]
        mov ah,01110001b
        mov es:[si],ax
        mov dl,[bx]
        mov ah,02h
          int 21h
        add si,2
        inc bx
        loop s3


 mov ax,4c00h
 int 21h
 
code ends
end start

---------------------------------------------------------
这个可以直接运行的,没必要跑到debug里面查看了
当然这个程序可以只要一个循环,代码也可以精简点
不过这样层次比较分明
masmaster
[第1楼]   [ 回复时间:2010-09-21 10:54 ]   [引用]   [回复]   [ top ] 
荣誉值:268
信誉值:12
注册日期:2010-06-18 22:19
楼主厉害
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved