[讨论]学习汇编的一点心得(自编例程),抛砖引玉!
关于内存数据的引用,学习汇编的一点心得(自编例程),抛砖引玉!
;我的学习心得 - 纯 DOS 程序
;关于内存数据的引用
.model small
.stack 200h
.data
yuan db 'Hello World!',13,10,'$'
daopai db 13 dup(?),'$'
.CODE
START:
mov ax,@data
mov ds,ax
mov si,12
mov di,0
mov cx,13;初始化
mov bx,offset yuan;还可以是lea bx,yuan 有效地址传送指令,这里用的偏移地址返回传送
sss:mov dl, [bx]+[si];数据的应用:可以直接用变量名+偏移量引用内存数据,如:yuan+3 也可以用变量名+变址寄存器来引用 如:yuan+[si] 还可以把变量偏移地址先附赋值给基址寄存器[bx]再引用数据,如 [bx]+[si]
mov daopai+[di],dl
inc di
dec si
loop sss
lea dx,daopai;dos调用输出倒排后的串
mov ah,09h
int 21h
;暂停,任意键关闭
mov ah,1
int 21h
mov ah,4ch ;dos调用
int 21h
END START