码迷,mamicode.com
首页 > 其他好文 > 详细

实验 9 根据材料编程

时间:2018-12-13 20:23:35      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:info   计算   间隔   就是   图片   font   segment   屏幕   asm   

实验结论

1. 补全程序t1.asm,完成在屏幕上输出内存单元中的十进制两位数

代码如下

在屏幕上输出内存单元中的十进制两位数
  assume cs:code, ds:data
  data segment
  db 12
  db 0,0 
  data ends
  code segment
  start:
  mov ax,data
  mov ds,ax 

  mov ah,0
  mov al,ds:[0] 
  mov bl,10
  div bl
  mov ds:[1],al
  mov ds:[2],ah 

  mov ah,2
  mov dl,ds:[1]
  add dl,30h
  int 21h

  mov ah,2
  mov dl,ds:[2] 
  add dl,30h

12/10,商为1,余数为2,了解了关于div的相关知识之后即可解决

 技术分享图片

2. 补全程序t2.asm,完成在屏幕上输出data段定义的5个十进制两位数,数据和数据 之间以空格间隔。 

代码如下

  assume cs:code, ds:data
  data segment
  db 12,35,96,55,67
  data ends
  code segment
  start:
  mov ax,data
  mov ds,ax
  mov si,0
  mov cx,5
  s: mov ah,0
  mov al,ds:[si]
  mov bl,10;
  div bl
  mov bh,ah
  mov bl,al
  mov ah,2
  mov dl,bl
  add dl,30h
  int 21h
  mov ah,2
  mov dl,bh
  add dl,30h
  int 21h
  mov ah,2
  mov dl,32
  int 21h
  add si,1
  loop s
  mov ax,4c00h
  int 21h
  code ends
  end start

就是每次除以10,除了之后,将余数和除数分别输出,即为答案,重复5次

技术分享图片

3. 教材实验9(P187) 

代码如下

  mov ds,ax 

  mov ax,0b800H 

  mov es,ax
  mov bx,0
  mov di,0
  mov cx,16
  s0: mov ax,[bx]
  mov es:[bx+720h][di],ax
  mov al,2 
  mov es:[bx+721h][di],al
  inc bx
  inc di
  loop s0
  mov bx,0
  mov cx,16
  mov di,160
s1:  mov ax,[bx]
  mov es:[bx+720h][di],ax
  mov al,36 
  mov es:[bx+721h][di],al
  inc bx
  inc di
  loop s1

  mov bx,0
  mov cx,16
  mov di,320
  s2: mov ax,[bx]
  mov es:[bx+720h][di],ax
  mov al,113 
  mov es:[bx+721h][di],al
  inc bx
  inc di
  loop s2

关键之处是计算相关位置偏量,然后着色
技术分享图片

实验结论

这次试验之前我认真观看了相关视频,感触很大,在这次实验给了我很多帮助,并且进一步研读了书本,懂了div和颜色相关的知识。

实验 9 根据材料编程

标签:info   计算   间隔   就是   图片   font   segment   屏幕   asm   

原文地址:https://www.cnblogs.com/LFF123/p/10116033.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!