找回密码
 立即注册
查看: 2095|回复: 0

汇编作业 实验10(1)

[复制链接]

78

主题

109

回帖

1023

积分

高级会员

积分
1023

猴年

龙龙实名认证 发表于 2015-6-22 03:12:59 | 显示全部楼层 |阅读模式
  
  assume cs:code
  data segment
  db 'Welcome to masm!', 0
  data ends
  code segment
  start:
  mov dh, 8  ; 从第8行开始显示
  mov dl, 3  ; 从第3列开始显示
  mov cl, 2  ; 字体颜色为绿色
  mov ax, data
  mov ds, ax
  mov si, 0  ; 字符串的首地址
  call show_str
  mov ax, 4c00H
  int 21H
  show_str:
  push ax
  push bx
  push bp
  push cx
  push si
  push di
  push es
  mov bl, cl    ; 字体颜色存在bl中
  mov ax, 0b800H
  mov es, ax    ; 显示缓冲区的段地址存在es
  mov ax, 0a0H
  mul dh      ; 计算第n行的首地址
  mov bp, ax    ; 将第n行的首地址存在bx
  mov ax, 2
  mul dl      ; 计算第n列的偏移地址
  mov di, ax    ; 将第n列存在di
  ctom:
  mov ch, 0     ; 判断是否到字符串结尾
  mov cl, [si]
  jcxz exit     ; 结尾则结束
  mov es:[bp][di], cl ; 存储字符
  inc di
  mov es:[bp][di], bl ; 存储字符属性
  inc si
  inc di
  jmp short ctom
  exit:
  pop es
  pop di
  pop si
  pop cx
  pop bp
  pop bx
  pop ax
  ret
  code ends
  end start

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

本版积分规则

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

GMT+8, 2026-4-19 13:06 , Processed in 2.458515 second(s), 25 queries .

Powered by Discuz! X5.0 Licensed

© 2001-2026 Discuz! Team.

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