. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->转移指令的原理
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  实验9.呼!不管做的怎么样终于自己写了一个(汗,能用的都用上了),真是即气愤又欣慰呀。  [待解决] 回复[ 8次 ]   点击[ 496次 ]  
you8881111
[帖 主]   [ 发表时间:2011-05-08 16:44 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-05-03 21:02
如题,终于调通了,废话不多说了,亮程序 :

assume cs:code,ds:data,ss:stack
data segment
    db 'welcome to masm!'
    db 02h,24h,71h
data ends
stack segment
    db 16 dup(0)
stack ends
code segment
start:mov ax,stack
      mov ss,ax
      mov sp,16
      mov ax,data
      mov ds,ax
      mov ax,0b800h
      mov es,ax
      mov di,0      
      mov bx,7c0h   
      mov cx,3  
  s:push cx 
    mov cx,16
    mov bp,0
    mov si,0   
    mov ah,10h[di]    
      s0:mov al,ds:[bp]
         mov es:[bx][si],ax 
         inc bp  
         add si,2    
      loop s0       
    pop cx    
    inc di      
    add bx,0a0h
  loop s  
  mov ax,4c00h
  int 21h
code ends
end start
cjlchenjilin
[第1楼]   [ 回复时间:2011-07-01 16:57 ]   [引用]   [回复]   [ top ] 
荣誉值:1
信誉值:0
注册日期:2011-05-30 14:33
hehe,所见略同!不知道有没有人不用loop用跳转做出来的没?
shaoyongwei
[第2楼]   [ 回复时间:2011-09-01 23:16 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-08-21 16:44
呵呵 不好意思 我有点笨 我看了几遍你的程序 我也没看出背景色来呀?你真的调试成功了吗??
chinatree
[第3楼]   [ 回复时间:2011-09-02 00:24 ]   [引用]   [回复]   [ top ] 
荣誉值:118
信誉值:0
注册日期:2011-07-07 22:59
mov ah,10h[di]
这就是颜色呀。
jackli715239314
[第4楼]   [ 回复时间:2011-09-05 19:20 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-09-05 09:58
ss:stack 
mov ax,stack 
      mov ss,ax 
      mov sp,16 
似乎完全没必要啊
cust_no1
[第5楼]   [ 回复时间:2011-09-18 16:17 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-09-05 20:15
其实就是蛮简单的一维数组复制的说。还是实验七那个结构体比较难。
分享一下我的:
assume cs:code
data segment
        db 'welcome to debug !!!'
data ends
code segment
   start:
        mov ax,0b800h
        mov es,ax
        mov bx,7c0h
        mov ax,data
        mov ds,ax

        mov cx,20
        mov di,0
        s1:
        mov al,ds:[di];take data
        mov si,di
        add si,si
        mov ah,0cah
        mov es:[bx+si],ax
        add di,1
        loop s1

        mov ax,4c00h
        int 21h
code ends
end start
killkk
[第6楼]   [ 回复时间:2011-09-21 10:12 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-08-20 08:45
很好】很强大。。学习一下,。
xyanyue
[第7楼]   [ 回复时间:2011-09-21 13:06 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-09-19 15:57
assume cs:code 
data segment 
       s db 'welcome to debug !!!' 
data ends 
code segment
        assume cs:code,ds:data 
   start: 
        mov ax,0b800H   ;显示缓冲的第一页地址
                 mov es,ax       ;将其装入es
                 
                 mov ax,data     ;获取数据
                 mov ds,ax                ;装入ds
                 
                 mov cx,40       ;循环次数
                 mov di,0                ;递增
                 l:
                 mov al,ds:[di]  ;获取数据装入al
                 mov ah,00caH         ;ah装入显示样式  绿底红字
                 mov si,di                 
        add si,si                 ;计算下一次地址
                 mov es:[si],ax        ;数据放入显示缓冲
                 inc di                    ;增1
                 dec cx                        ;减1
                 loop l                
                 
        mov ax,4c00h 
        int 21h 
code ends 
end start
jary163
[第8楼]   [ 回复时间:2011-11-14 21:22 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-08-26 16:03
呵呵  一个个是狠人  佩服
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved