鱼C论坛

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

[汇编作业] 实验9 作业

[复制链接]
发表于 2021-3-2 10:42:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 yxjxdb 于 2021-5-21 15:40 编辑

感谢小甲鱼老师的视频!

  1. assume cs:code,ss:stack,ds:data
  2. data segment
  3.              db 'Welcome to masm!'
  4.              db 10000010B,00100100B,01110001B   ;8bit颜色属性为:闪烁+R+G+B+高亮+R+G+B
  5. data ends

  6. stack segment
  7.               dw 8 dup(0)
  8. stack ends

  9. code segment
  10.         start:mov ax,data
  11.                 mov ds,ax       ;源数据段地址
  12.                 mov ax,0b872h   ;物理地址0B800H:720H是25行最中间的起始地址,直接写成0B872H:0H用bp偏移(不理解可以看王爽老师P24)
  13.                 mov es,ax       ;目标数据段地址,显存
  14.                 mov bx,0        ;源数据偏移地址
  15.                 mov si,0        ;颜色数据源偏移地址,db第二行的三字节数据
  16.                 mov di,0        ;颜色数据目标偏移地址               
  17.                 mov bp,0        ;目标数据行偏移地址

  18.                 mov cx,3        ;外循环3次
  19.                 s0:push cx      ;外循环次数先后入栈3\2\1

  20.                 mov cx,10h      ;内循环16次,(16个字节)
  21.                 s:mov al,[bx]
  22.                 mov es:[di+bp],al        ;目标地址偶数据位单元0,2,4……写入16个字符的ascii码
  23.                 mov al,10h[si]          ;读源数据第二行颜色数据
  24.                 mov es:[di+bp+1],al     ;在ascii后面的奇数位1,3,5……字节单元写入颜色数据
  25.                 inc bx            ;每次循环递增1(16次取16个ascii码)  
  26.                 add di,2        ;2个字节单元:ascii+颜色属性
  27.                 loop s

  28.                 mov di,0        ;s循环后清0
  29.                 mov bx,0        ;s循环后清0
  30.                 add bp,0a0h     ;目标单元偏移160个字节
  31.                 inc si          ;取源数据的下一个颜色属性
  32.                 pop cx          ;cx在s循环后为0,所以出栈
  33.                 loop s0         ;cx=cx-1

  34.                 mov ax,4c00h
  35.                 int 21h

  36. code ends

  37. end start
复制代码

补充:720H的计算
160x11+(160-16x2)/2=1824(720H)


开始有个疑问栈是否多余?经过测试觉得经过s0循环后栈内数据应该是变化的。敬请指正。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-8 20:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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