. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->转移指令的原理
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  实验9,好像没看到有人用我的方法啊,大家提提意见吧  :(  [待解决] 回复[ 5次 ]   点击[ 380次 ]  
ilzhuzhu
[帖 主]   [ 发表时间:2008-07-18 18:25 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-07-08 15:45
assume cs:codesg,ds:datasg

datasg segment
dw 'W','e','l','c','o','m','e',' ','t','o',' ','m','a','s','m','!'
dw 'W','e','l','c','o','m','e',' ','t','o',' ','m','a','s','m','!'
dw 'W','e','l','c','o','m','e',' ','t','o',' ','m','a','s','m','!'
;直接以字为单位表示字符串
datasg ends

codesg segment

start:

mov ax,datasg
mov ds,ax
mov bx,1

mov cx,16
        S0:
                mov byte ptr ds:[bx],00000010B
                mov byte ptr ds:[32+bx],00100100B
                mov byte ptr ds:[64+bx],01110001B
                add bx,2
        loop S0
;修改字符串高位属性值
mov ax,80
sub ax,16
mov bl,2
div bl
mov ah,0
mov si,ax;计算列位置

mov ax,25
sub ax,3
mov bl,2
div bl
mov ah,0
mov cx,ax
S1:
add si,160
loop S1;加上行位置

mov ax,0B800H
mov es,ax

mov di,0
mov cx,16
S2:
mov ax,ds:[di]
mov es:[si],ax
                                                        
mov ax,ds:[32+di]
mov es:[160+si],ax
                                                        
mov ax,ds:[64+di]
mov es:[320+si],ax
                                                        
add si,2
add di,2
loop S2
;输出到显存


mov ax, 4c00h
int 21
codesg ends

end start
xiaochong
[第1楼]   [ 回复时间:2008-07-18 20:28 ]   [引用]   [回复]   [ top ] 
荣誉值:45
信誉值:0
注册日期:2007-05-05 09:01
条条大路通罗马,楼主的程序算法没问题,但是不能正确返回,因为int 21 没有 加 H ,在有新想法的同时,还需要细心的!
starrynight
[第2楼]   [ 回复时间:2008-07-24 09:49 ]   [引用]   [回复]   [ top ] 
荣誉值:98
信誉值:2
注册日期:2007-10-09 18:23
比较牛的方法

呵呵,不过还是希望你已经想到了更好的办法!!!
sleepinglion
[第3楼]   [ 回复时间:2010-07-27 16:40 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-07-13 23:22
哥的程序比你的还要犀利。刚交完作业就后悔了。
masmaster
[第4楼]   [ 回复时间:2010-07-27 22:09 ]   [引用]   [回复]   [ top ] 
荣誉值:268
信誉值:12
注册日期:2010-06-18 22:19
够犀利~~~
masmaster
[第5楼]   [ 回复时间:2010-07-27 22:37 ]   [引用]   [回复]   [ top ] 
荣誉值:268
信誉值:12
注册日期:2010-06-18 22:19
try:
;----------------------------------------------------------------
e b800:9a0 'W' 72 'e' 72 'l' 72 'c' 72 'o' 72 'm' 72 'e' 72 ' ' 72
e b800:9b0 't' 72 'o' 72 ' ' 72 'M' 72 'a' 72 's' 72 'm' 72
e b800:a40 'W' 24 'e' 24 'l' 24 'c' 24 'o' 24 'm' 24 'e' 24 ' ' 24
e b800:a50 't' 24 'o' 24 ' ' 24 'M' 24 'a' 24 's' 24 'm' 24
e b800:ae0 'W' 17 'e' 17 'l' 17 'c' 17 'o' 17 'm' 17 'e' 17 ' ' 17
e b800:af0 't' 17 'o' 17 ' ' 17 'M' 17 'a' 17 's' 17 'm' 17
q
;----------------------------------------------------------------
run it :
debug <disp.txt
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved