TA的每日心情 | 开心 2018-10-31 14:26 |
---|
签到天数: 18 天 [LV.4]偶尔看看III
高级会员
- 积分
- 1019
|
assume cs:code
code segment
start:
mov ax, cs
mov ds, ax
mov si, offset lp ; ds:si指向源地址
mov ax, 0
mov es, ax
mov di, 200H ; es:di指向目的地址
mov cx, offset lpend-offset lp; cx为传输长度
cld ; 传输方向为正
rep movsb
mov word ptr es:[7ch*4], 200H ; 设置中断向量表
mov word ptr es:[7ch*4+2], 0
mov ax, 0b800H
mov es, ax
mov di, 160*12
mov bx, offset s-offset se ; 设置从标号s到标号se的位移
mov cx, 80
s:
mov byte ptr es:[di], '!'
add di, 2
int 7cH ; 如果(cx)!=0,转移到标号s处
se:
nop
mov ax, 4c00H
int 21H
; ****************************************
; 子程序lp
; 完成loop指令的功能
; (cx)=循环次数, (bx)=位移
lp:
push bp
mov bp, sp
dec cx
jcxz lpret
add [bp+2], bx
lpret:
pop bp
iret
lpend:
nop
; ****************************************
code ends
end start
|
|