|
主题 : : 用单循环编出的实验九 [待解决] |
回复[ 9次 ]
点击[ 529次 ] | |
|
|
|
|
[帖 主] [ 发表时间:2008-12-14 16:06 ] | |
荣誉值:0
信誉值:4
注册日期:2008-09-09 21:27 |
assume cs:code,ds:data
data segment
db 'welcome to masm!'
data ends
code segment
start:mov ax,data
mov ds,ax
mov ax,0B872h;设置屏幕中间位置段地址
mov es,ax
mov bx,0
mov si,0
mov cx,16
s:mov al,[bx]
mov ah,02h
mov es:[si],ax ;三行中的第一行
mov ah,24h
mov es:[si+0a0h],ax ;三行中的第二行(同一列,相邻两行相差160个字符,段地址相差a0h)
mov ah,71h
mov es:[si+140h],ax ;三行中的第三行
inc bx
add si,2
loop s
mov ax,4c00h
int 21
code ends
end start
请大家评论一哈!!! | | |
|
|
|
|
[第9楼] [ 回复时间:2010-04-19 16:04 ] | |
荣誉值:0
信誉值:2
注册日期:2009-12-18 17:03 |
写这个程序时一直想的是怎样用转移来做 思路很简单 这个是我的程序 就是长了点
assume cs:code ds:data ss,stack
data segment
db 'welcome to masm!'
data ends
stack segment
dw 0,0,0
stack ends
code segment
start: mov ax,data
mov ds,ax
mov ax,0b800h
mov es,ax
push offset s3
push offset s2
push offset s1
mov ah,02h
mov di,0
s0:mov bx,0
mov cx,16
s:mov al,[bx]
mov es:[di],ax
inc bx
add di,2
loop s
pop si
jmp si
s1:mov ah,24h
mov di,0a0h
jmp s0
s2:mov ah,71h
mov di,140h
jmp s0
s3:mov ax,4c00h
int 21h
code ends
end start
------------------
回复:不明白你的SI是从哪来的。。。。。 | | |
|