n2zee 发表于 2012-3-1 12:08:08

实验9,关于寄存器的讨论!

assume cs:code,ds:data
data segment
db 'welcome to masm!'
db 2,36,113
data ends
stack segment
dw 0,0,0,0,0,0,0,0
stack ends
code segment
start:
mov ax,data
mov ds,ax
mov bx,0
mov ax,0b800h
mov es,ax
mov ax,stack
mov ss,ax
mov sp,16
;定义段寄存器
mov cx,3
mov si,0
s:
push cx
push bx
mov cx,16
mov di,0

s1:
mov al,ds:
mov ah,ds:
mov es:,ax
inc di
add bx,2
loop s1
inc si
pop bx
pop cx
add bx,160
loop s

mov ax,4c00h
int 21h
code ends
end start

n2zee 发表于 2012-3-1 12:12:11

由于是镶嵌循环,可变量有
1、指向字符'welcome to masm!'的ds:递增寄存器。
2、指向颜色定义的ds:的递增寄存器
3、指向显示内存单元的列循环bx递增寄存器,和指向行循环的bx递增寄存器。
请问除了使用堆栈,还有什么其他的方法能够简化程序?

莫名其妙 发表于 2012-3-1 23:24:42

本帖最后由 莫名其妙 于 2012-3-1 23:26 编辑

n2zee 发表于 2012-3-1 12:12 http://bbs.fishc.com/static/image/common/back.gif
由于是镶嵌循环,可变量有
1、指向字符'welcome to masm!'的ds:递增寄存器。
2、指向颜色定义的ds:

一般 堆栈就是用来简化程序的..
页: [1]
查看完整版本: 实验9,关于寄存器的讨论!