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

我的博客

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

[2010-03-02 23:50] 《汇编语言》第十章实验10(1)

程序有错误,正在修改中。。。。。
程序已修改完成。。
----错误程序--------------
ASSUME CS:CODE,DS:DATA
DATA   SEGMENT
       DB 'WELCOME TO MASM!',0
DATA   ENDS
CODE   SEGMENT
OK:    MOV AX,DATA
       MOV DS,AX
       MOV DH,01          ;行号
       MOV DL,01          ;列号
       MOV CL,00100100B   ;绿底红字
       MOV SI,00          ;字符串首地址
       CALL SHOW_STR
       MOV AH,4CH
       INT 21H
SHOW_STR:
       PUSH CX
       PUSH SI
       DEC DH             ;从0开始
       MOV AH,80
       MUL DH             ;计算行号偏移地址
       DEC DL
       ADD AL,DL
       MOV BX,AX          ;偏移地址送入BX
       MOV AX,0B800H
       MOV ES,AX
       MOV AL,CL
       MOV CH,00
S:     MOV CL,DS:[SI]
       JCXZ BYE           ;是0则跳至结束
S1:    MOV ES:[BX+DI+1],AL;颜色属性
       MOV ES:[BX+DI],CL  ;字符
       ADD DI,2
       INC SI
       JMP S
BYE:   POP SI
       POP CX
       RET
CODE   ENDS
END    OK

----修改后的程序------------------
ASSUME CS:CODE,DS:DATA
DATA   SEGMENT
       DB 'WELCOME TO MASM!',0
DATA   ENDS
CODE   SEGMENT
OK:    MOV AX,DATA
       MOV DS,AX
       MOV DH,03          ;行号
       MOV DL,03          ;列号
       MOV CL,00100100B   ;绿底红字
       MOV SI,00          ;字符串首地址
       CALL SHOW_STR
       MOV AH,4CH
       INT 21H
SHOW_STR:
       PUSH CX
       PUSH SI
       DEC DH             ;从0开始
       MOV AL,160
       MUL DH             ;计算行号偏移地址
       MOV BX,AX
       DEC DL             ;也从0开始
       MOV AL,2
       MUL DL             ;必须是偶数
       ADD BX,AX          ;偏移地址送入BX
       MOV AX,0B800H
       MOV ES,AX
       MOV AL,CL
       MOV CH,00
S:     MOV CL,DS:[SI]
       JCXZ BYE           ;是0则跳至结束
       MOV ES:[BX+1],AL   ;颜色属性
       MOV ES:[BX],CL     ;字符
       ADD BX,2
       INC SI
       JMP S
BYE:   POP SI
       POP CX
       RET
CODE   ENDS
END    OK
评论次数(4)  |  浏览次数(1260)  |  类型(汇编作业) |  收藏此文  | 
 
 请输入验证码  (提示:点击验证码输入框,以获取验证码