. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->转移指令的原理
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  实验9完成,发帖交流  [待解决] 回复[ 6次 ]   点击[ 346次 ]  
zhxiku
[帖 主]   [ 发表时间:2012-07-31 18:17 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2012-07-24 15:25
assume cs:code
        data segment
                db 'welcome to masm!',2h,24h,71h ;颜色
        data ends        
        code segment
start:        mov ax,data
                mov ds,ax
                mov bx,0
                mov si,0
                
                mov ax,0b800h
                mov es,ax
                mov di,11*160+64 ;第12行中间
                
                mov cx,3
s:                mov bx,0
                push cx ;保护cx
                mov cx,16
s0:                mov ah,[si+16]
                mov al,[bx]
                mov es:[di],ax
                inc bx
                add di,2
                loop s0
                add di,160-32
                inc si
                pop cx
                loop s
                mov ax,4c00h
                int 21h
        code ends
end start
fpamc
[第1楼]   [ 回复时间:2012-08-01 09:53 ]   [引用]   [回复]   [ top ] 
荣誉值:30
信誉值:4
注册日期:2012-01-01 16:36
mov ah,[si+16] 这条指令放到外层循环效率不是可以更高?
zhxiku
[第2楼]   [ 回复时间:2012-08-04 08:48 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2012-07-24 15:25
嗯,确实,后来也发现了,不变的数据没必要加进循环里
scancn
[第3楼]   [ 回复时间:2012-10-17 09:38 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-04-29 06:45
assume cs:code,ds:data
data segment

        db"welcome to masm!"

data ends

code segment

start:        mov ax,data
        mov ds,ax
        mov ax,0b800h
        mov es,ax
        mov bx,0
        mov cx,16
        mov si,0

s:        mov al,ds:[bx]
        mov es:[si+720h],al
        mov es:[si+7c0h],al
        mov es:[si+860h],al
        inc si
        mov byte ptr es:[si+720h],02h
        mov byte ptr es:[si+7c0h],24h
        mov byte ptr es:[si+860h],71h
        inc si
        inc bx
        loop s
        
        mov ax,4c00h
        int 21h

code ends

end start
我的代码,交流一下
caoqun523
[第4楼]   [ 回复时间:2012-11-08 00:11 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2012-01-01 20:45
3楼的代码,看起来好像更直观很多
aspade
[第5楼]   [ 回复时间:2012-11-19 16:42 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2012-11-15 09:42
你没开空间放栈的内容你就用push cx?用个dx保存就行了。
tiany97
[第6楼]   [ 回复时间:2012-11-23 10:28 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2012-11-12 16:21
请问不显示第一个字符w,其他字符正常,是什么原因呢?请高人指教!
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved