. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->CALL和RET指令
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  第10章实验1,帮帮手,那里不对!谢谢各位。  [待解决] 回复[ 2次 ]   点击[ 310次 ]  
jonytan
[帖 主]   [ 发表时间:2010-07-22 09:06 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-05-04 17:53
assume cs:code
data segment
db 'Welcome to masm!',0
data ends
code segment
start: 
   mov dh,8
   mov dl,3
   mov cl,2
   mov ax,data
   mov ds,ax
   mov si,0
call show_str
mov ax,4c00h
int 21h
show_str :
;显示地址偏移量转换
dec dh
mov ax,160
mul dh
dec dl
add al,dl
mov bp,ax
;显存地址
mov ax,0b800h
mov es,ax
mov dx,cx
s: mov cl,[si]
   mov ch,0
 jcxz ok
mov al,ds:[si]
mov es:[bp+di],al
mov es:[bp+di+1],dl
add di,2
inc si
loop s
ok :ret
code ends
end start
masmaster
[第1楼]   [ 回复时间:2010-07-22 10:24 ]   [引用]   [回复]   [ top ] 
荣誉值:268
信誉值:12
注册日期:2010-06-18 22:19
good~~ ^_^
jonytan
[第2楼]   [ 回复时间:2010-07-22 22:09 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-05-04 17:53
assume cs:code 
data segment 
  db 'Welcome to masm!',0 
data ends 
code segment 
start:    mov dh,8 
          mov dl,3 
          mov cl,2 
          mov ax,data 
          mov ds,ax 
          mov si,0 
call show_str 
          mov ax,4c00h 
          int 21h 
show_str: 
        mov ax,0b800h 
        mov es,ax 
        dec dh
        mov ax,160
        mul dh
        mov bp,ax
        mov ax,2
        mul dl
        sub ax,2
        add bp,ax
        mov dl,cl
        mov di,0
     s: mov cl,[si] 
        mov ch,0
        jcxz ok
        mov al,ds:[si]
        mov es:[bp+di],al
        mov es:[bp+di+1],dl
        inc si
        add di,2
   loop s
        ok: ret  
        code ends
        end start  
这个才是对的 ^_^
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved