. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->转移指令的原理
主题 : :  试验九终于独立完成,请大家评审!  [待解决] 回复[ 10次 ]   点击[ 368次 ]  
jiych
[帖 主] [ 发表时间:2010-07-21 23:56 ] 
荣誉值:15
信誉值:0
注册日期:2010-06-02 22:04
代码:
;b800:780H----------b800:81FH
assume cs:codesg
data segment
        db 'welcome to masm!'
data ends
codesg segment
;0000
send:
        mov ah, 4cH
        int 21H
;0004
sgreen:                        ;green
        nop
        nop
        mov bp, offset sgreen
        mov si, bp
        mov di, offset ssgreen
        mov ax, cs:[di]
        mov cs:[si], ax
        mov ah, 02H
        jmp s0
        ;nop
;0019
ssgreen:
        jmp send
;001b
sgr:                        ;green background red
        nop
        nop

        mov bp, offset sgr 
        mov si, bp
        mov di, offset ssgr
        mov ax, cs:[di]
        mov cs:[si], ax
        mov ah, 24H
        jmp s0
        ;nop===
;0030
ssgr:
        jmp sgr
;0032
swb:                        ;white background black
        nop
        nop
        nop
        nop
;0036
        mov bp, offset swb 
        mov si, bp
        mov di, offset sswb
        mov ax, cs:[di]
        mov cs:[si], ax
        mov ah, 70H
        jmp s0
        ;nop===
;0049
sswb:
        jmp swb ;25 bytes

;004b
s0:
        mov bx, data
        mov es, bx
        mov bx, 0b800H
        mov ds, bx
        mov bx, 780H
        mov cx, 16
        mov si, 0
;005e
s:
        mov al, es:[si]
        mov [bx], ax
        inc si
        add bx, 2
loop s
;0069
        jmp bp
codesg ends
end swb
j03106
[第10楼] [ 回复时间:2010-08-15 11:10 ] 
荣誉值:0
信誉值:0
注册日期:2010-01-13 23:10
似乎好复杂啊!!
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved