汇编网首页登录博客注册
2746035325的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
最新评论
最新留言
好友圈
友情链接

[2020-06-27 00:51] 实验9

实验九 根据材料编程
————————————————————————
assume cs:code,ds:data

data segment
db 'welcome to masm!'
db 02h,24h,71h
data ends

code segment
start:
mov ax,data
mov ds,ax
mov bx,0                   ;取数据,用bx取字符的时候不用把bx清零,保持inc就行

mov ax,0b800h
mov es,ax
mov di,0   ; 屏幕位置,这是指以bp为行,idata为列的0点坐标,第一个字节的位置,然后在同一个循环内加两次,第一次加了之后放属性,第二次为下一次循环准备
mov si,16

mov bp,6e0h       ;这是表示第12行,列用idata表示

mov cx,7              ;打印welcome
s:
mov al,[bx]
mov es:[di+bp+40h],al      ;12行第64字节起
inc di
mov al,[si]                     ;设置一个默认访问ds段寄存器的si为零,否则会取10h放入al,结果al内为10h
mov es:[di+bp+40h],al      ;屏幕后一字节放属性
inc bx
inc di
loop s

add bp,0a0h          ;换一行重新打印
inc si                     ;换文字属性

mov cx,4                   ;字符串to
mov di,0
s1:
mov al,[bx]
mov es:[di+bp+40h],al
inc di
mov al,[si]
mov es:[di+bp+40h],al
inc bx
inc di
loop s1

add bp,0a0h
inc si

mov cx,5          ;字符串masm!
mov di,0
s2:
mov al,[bx]
mov es:[di+bp+40h],al
inc di
mov al,[si]
mov es:[di+bp+40h],al
inc bx
inc di
loop s2

mov ax,4c00h
int 21h

code ends
end start
——————————————————
可以运行,虽然没按照题目标准,我快乐就行
评论次数(0)  |  浏览次数(342)  |  类型(默认类型) |  收藏此文  | 
 
 请输入验证码  (提示:点击验证码输入框,以获取验证码