. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->CALL和RET指令
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  实验10.1完成  [待解决] 回复[ 5次 ]   点击[ 416次 ]  
769698836
[帖 主]   [ 发表时间:2015-02-22 16:53 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2015-02-16 21:57
assume cs:codesg
data segment
db 'Welcome to masm!',0

data ends


codesg 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 bx,0
mov ax,0b850h
mov es,ax
lcy:push cx 
mov cl,ds:[bx]
mov ch,0
jcxz lcc
pop cx
mov al,ds:[bx]
mov es:[4+si],al
inc si
mov es:[4+si],cl
inc si
inc bx
jmp short lcy
lcc:ret






          
           
codesg ends 

end start
769698836
[第1楼]   [ 回复时间:2015-02-22 23:05 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2015-02-16 21:57
10.3完成
assume cs:codesg
data segment
db 10 dup(0)
data ends


codesg segment

start:mov ax,317ah
mov bx,data
mov ds,bx
mov si,0
call dtoc
mov dh,8
mov dl,3
mov cl,2
call show_str

 mov ax,4c00h
       int 21h



dtoc:mov si,8
lxx:
mov bx,0ah
mov dx,0
div bx
add dx,30h
mov ds:[si],dx
sub si,2
mov cx,ax
jcxz lcd
jmp short lxx
lcd:ret

show_str:
mov bx,0
mov ax,0b850h
mov es,ax
mov cx,5
lcy:
mov ax,ds:[bx]
mov es:[4+bx],ax
mov dx,02h
mov es:[5+bx],dx
add bx,2
loop lcy
ret






          
           
codesg ends 

end start
xxie
[第2楼]   [ 回复时间:2015-02-24 08:39 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:2
注册日期:2011-07-19 12:12
实验10.3字符串长度不是8怎么算呢,直接给si赋值未必可行吧。
769698836
[第3楼]   [ 回复时间:2015-02-24 22:42 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2015-02-16 21:57
回复:[第2楼]
------------------
这的确是个问题,在下个课程设计一中我就卡住了不知道该怎么写
54zamely
[第4楼]   [ 回复时间:2015-02-25 17:50 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2015-02-25 17:49
你的10.1 也是直接赋值的哦
zhaobin
[第5楼]   [ 回复时间:2015-04-13 22:39 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2015-04-13 22:37
为什么是mov ax,0b850h ? 不是0b800h啊?
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved