实验九 根据材料编程
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
int 21h
mov ax,4c00h
int 21h
code ends
end start
经调试,运行结果如图所示
2.补全程序t2.asm,完成在屏幕上输出data段定义的5个十进制两位数。
循环5次,每次除以10,输出商 余数 空格,即可。
3.完成实验教材9
代码如下
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
mov 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
结果如图所示
实验总结:
每次实验直接去做都有很大的困难,应该是基础知识没有熟练掌握的缘故。
新学习的loop指令,div命令的用法意义还要仔细研究一下,才能明白。
应该还有很多隐藏的问题没有被发现,每发现 一个问题都需要思考一下背后的含义。
需要注意现存位置,定义好每个字符及属性信息等等等等,一个地方出错就不能显示出要的效果。