这个实验13的作业,分享下
assume cs:codedata segment
db 'welcome to masm!',0
data ends
code segment
start:mov dh,10;行号
mov dl,10;列号
mov cl,6;颜色
mov ax,data
mov ds,ax
mov si,0
int 7ch
mov ax,4c00h
int 21h
code ends
end startassume cs:code
code segment
start:mov ax,cs
mov ds,ax
mov si,offset s
mov ax,0
mov es,ax
mov di,200h
mov cx,offset ok-offset s
cld
rep movsb
mov ax,0
mov es,ax
mov word ptr es:,200h
mov word ptr es:,0
mov ax,4c00h
int 21h
s:push ax
mov ax,0b800h
mov es,ax
mov ax,160
dec dh
mul dh
mov di,ax;第(bh)行
mov ax,2
dec dl
mul dl
mov bx,ax;第(dl)列
mov ah,cl;颜色
mov si,0
j: cmp byte ptr ,0
je ok
mov al,
mov word ptr es:,ax
add di,2
inc si
jmp j
pop ax
iret;相当于pop ip
;pop cs
;popf
mov ax,4c00h
int 21h
ok:nop
code ends
end start
代码测试显示正确,
可是谁说说,这2个程序是怎么运行的?
为什么我就一次显示正确,又准备搞一次的时候,不知道运行程序的顺序了,搞的我只运行成功了一次 :L书上叫你写一个程序,你写出来两个程序!assume cs:code
code segment
start:mov ax,cs
mov ds,ax
mov si,offset do
mov ax,0
mov es,ax
mov di,200h
mov cx,offset do7chend-offset do
cld
rep movsb
mov word ptr es:,200h
mov word ptr es:,0
mov dh,10
mov dl,10
mov cl,2
int 7ch
mov ah,4ch
mov al,0
int 21h
do:jmp short do7ch
db 'Welcome to masm',0
do7ch:push dx
push cx
push ds
push si
push es
push di
mov ax,cs
mov ds,ax
mov si,202h
mov ax,0b800h
mov es,ax
mov ax,160
mul dh
mov di,ax
mov ax,2
mul dl
add di,ax
mov al,cl
s: mov cl,
mov ch,0
jcxz short ok
mov es:,cl
mov es:,al
inc si
add di,2
jmp short s
ok: pop di
pop es
pop si
pop ds
pop cx
pop dx
iret
do7chend:nop
code ends
end start
页:
[1]