. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->转移指令的原理
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  实验9 感觉程序数据部分站内存太多了 怎么优化一下?  [待解决] 回复[ 3次 ]   点击[ 257次 ]  
donggs02
[帖 主]   [ 发表时间:2010-11-17 23:26 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-04-08 17:43
assume cs:codesg,ds:datasg,ss:stacksg
datasg segment
        db 992 dup (0)
        db 'welcome to masm!'
        db 992 dup (0)
datasg ends
stacksg segment
        dw 8 dup (0)
        dw 0200H,0007H,2400H,0003H,7100H,0006H,0700H,992,0,0
stacksg ends
codesg segment
start:        mov ax,datasg
        mov ds,ax
        mov ax,0B800H
        mov es,ax
        mov ax,stacksg
        mov ss,ax
        mov sp,16
        mov bx,0
        mov si,0
        mov ax,0700H
        mov cx,992
s:        mov al,[bx]
        mov es:[si],ax
        inc bx
        add si,2
        loop s
        pop ax
        pop cx
        jcxz s1
        jmp short s
s1:        mov ax,4c00H
        int 21H
codesg ends
end start
xiaojian2010
[第1楼]   [ 回复时间:2010-11-22 16:22 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-11-19 22:48
assume cs:codesg,ds:datasg

datasg segment
 db 'welcom to masm!'
datasg ends

codesg segment
 
start: mov ax,datasg
       mov ds,ax
      
       mov bx,0          
       mov si,0
  
       mov ax,0b800h  ;定义段地址,把ds的数据按要求写进去
       mov es,ax
       
       mov cx,15
      
  s:   mov al,ds:[bx]          ;低位放字母  
       mov es:720h.[si],ax     ;取11排64列
       mov ah,02h              ;高位放属性,绿色
       mov es:720h.[si],ax 
       
       mov al,ds:[bx]
       mov es:7c0h.[si],ax     ;取12排64列
       mov ah,24h              ;绿底红色
       mov es:7c0h.[si],ax 
       
       mov al,ds:[bx]
       mov es:860h.[si],ax     ;取13排64列
       mov ah,71h               ;白底蓝色
       mov es:860h.[si],ax 
       
       inc bx
       add si,2
       loop s
   
       mov ax,4c00h
        int 21h
codesg ends
end  start 

这是我刚写的,用debug调试可以看到相应结果,欢迎大家交流
chenchaosx
[第2楼]   [ 回复时间:2010-12-06 01:05 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-12-04 20:54
要循环16次,后边还有个叹号
chenchaosx
[第3楼]   [ 回复时间:2010-12-06 01:07 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-12-04 20:54
哦,你的welcome拼错了
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved