龙龙 发表于 2015-6-22 03:14:41

汇编作业 实验13(2)

  
  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:, 200H ; 设置中断向量表
  mov word ptr es:, 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:, '!'
  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 , bx
  lpret:
  pop bp
  iret
  lpend:
  nop
  ; ****************************************
  code ends
  end start

nikkitang 发表于 2015-6-27 02:31:15

每天学习,一定会进步的,加油!
页: [1]
查看完整版本: 汇编作业 实验13(2)