. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->转移指令的原理
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  实验九我也贴一个 ^_^  [待解决] 回复[ 4次 ]   点击[ 373次 ]  
inrg
[帖 主]   [ 发表时间:2010-01-20 19:27 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:0
注册日期:2007-12-08 14:22
assume cs:codesg,ds:datasg

datasg segment
        db 'welcome to masm!'
        db 2h, 24h, 71h, 3        ;定义三种颜色 最后一个是颜色数量
datasg ends

codesg segment
start:
        mov ax, datasg
        mov ds, ax
        mov ax, 0B800h
        mov es, ax
        mov si, 780h                ;每行160个字节 25行 13行是中间 160*12=780h
        add si, 40h             ;(160-16*2)/2=40h
        
        mov bx, 0
        mov bp, 0
        mov cx, 16
s:
        mov al, ds:[bx]
        mov es:[bp + si], al                ;传入字符
        mov dx, bx
        mov ax, bx
        div byte ptr ds:[13h]                ;使颜色首尾循环
        mov bl, ah
        sub bh, bh
        mov al, ds:[bx + 10h]        
        mov es:[bp + si + 1], al        ;传入颜色
        mov bx, dx
        
        inc bx
        add bp, 2
        loop s
        
        mov ah, 01h                        ;网上找的暂停用
    int 21h
        
        mov ah, 4ch
        int 21h
codesg ends
end start
regex
[第1楼]   [ 回复时间:2010-01-20 22:23 ]   [引用]   [回复]   [ top ] 
荣誉值:61
信誉值:0
注册日期:2009-12-19 01:51
学习。。。。。。
regex
[第2楼]   [ 回复时间:2010-01-20 23:20 ]   [引用]   [回复]   [ top ] 
荣誉值:61
信誉值:0
注册日期:2009-12-19 01:51
经调试, 我觉得第36,37行有些多余!
regex
[第3楼]   [ 回复时间:2010-01-20 23:51 ]   [引用]   [回复]   [ top ] 
荣誉值:61
信誉值:0
注册日期:2009-12-19 01:51
查了一下资料, 这个01号功能就是接受一个键盘输入然后返回。 学习啦。
sleepinglion
[第4楼]   [ 回复时间:2010-07-28 22:59 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-07-13 23:22
如果没有按照实验要求来做,就请说明一下。如果你是按照题目要求来做的,写出来的代码能这么少就好了
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved