找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1937|回复: 0

汇编作业 实验13(1)

[复制链接]
  • TA的每日心情
    开心
    2018-10-31 14:26
  • 签到天数: 18 天

    [LV.4]偶尔看看III

    78

    主题

    109

    回帖

    1019

    积分

    高级会员

    积分
    1019

    猴年

    龙龙实名认证 发表于 2015-6-22 03:14:56 | 显示全部楼层 |阅读模式
      
      assume cs:code, ds:data
      data segment
      db 'hello world', 0
      data ends
      code segment
      start:
      mov ax, cs
      mov ds, ax
      mov si, offset print      ; ds:si指向源地址
      mov ax, 0
      mov es, ax
      mov di, 200H          ; es:di指向目的地址
      mov cx, offset printend-offset print  ; cx为传输长度
      cld             ; 传输反向为正
      rep movsb
      mov word ptr es:[7ch*4], 200H    ; 设置中断向量表
      mov word ptr es:[7ch*4+2], 0
      mov dh, 10
      mov dl, 10
      mov cl, 2
      mov ax, data
      mov ds, ax
      mov si, 0  ; ds:si指向待显示字符串地址
      int 7ch
      mov ax, 4c00H
      int 21H
      ; ****************************************
      ; 子函数print
      ; 显示一个用0结束的字符串
      ; (dh)=行号, (dl)=列号, (cl)=颜色, ds:si指向字符串首地址
      print:
      push es
      push di
      push ax
      push cx
      mov ax, 0b800H
      mov es, ax
      mov ax, 160
      mul dh
      mov di, ax
      mov ax, 2
      mul dl
      add di, ax   ; es=0b800H, di=dh*160+dl*2, es:di为显示区地址
      mov al, cl   ; 颜色存到al中
      s0:
      mov ch, 0
      mov cl, [si]
      jcxz printret  ; 判断字符串是否结束,结束则返回
      mov es:[di], cl  ; 显示字符
      mov es:[di+1], al  ; 字符颜色
      inc si
      add di, 2
      jmp short s0
      printret:
      pop cx
      pop ax
      pop di
      pop es
      iret
      printend:
      nop
      ; ****************************************
      code ends
      end start

  • TA的每日心情

    2017-2-2 12:17
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    7

    主题

    215

    回帖

    959

    积分

    高级会员

    积分
    959
    nikkitang 发表于 2015-6-27 02:29:25 | 显示全部楼层
    每天学习,一定会进步的,加油!
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|虫虫联盟 ( 备案号:蜀ICP备15018121号-1 )

    GMT+8, 2024-11-23 16:14 , Processed in 0.364083 second(s), 26 queries .

    Powered by Discuz! X3.5 Licensed

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表