鱼C论坛

 找回密码
 立即注册
查看: 1527|回复: 4

一个小细节 关于show_str

[复制链接]
发表于 2013-12-21 09:53:25 | 显示全部楼层 |阅读模式

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

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

x
为什么 dl 不减1.  我觉得第1列是 00-01  第n列 是  2(n-1) - 2n-1  不是么?
为什么王爽的答案和 小甲鱼的都没有 dec dl?  
  理解问题么? 我觉得在某行某列 显示  肯定是包括那行那列 开始的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-12-21 10:34:55 | 显示全部楼层
为什么我没有看懂楼主是想表达什么意思了?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-23 22:18:54 | 显示全部楼层

实验10 编写子程序
1.显示字符串
;名称:show_str
;功能:在屏幕的指定位置,用指定颜色,显示一个用0结尾的字符串
;参数:(dh)=行号,(dl)=列号(取值范围0~80),(cl)=颜色,ds:si:该字符串的首地址 ;返回:显示在屏幕上
assume cs:daima
shuju segment
db 'fghfghf',0
shuju ends

daima segment
kaishi:
mov dh,8
mov dl,21
mov cl,2
mov ax,shuju
mov ds,ax
mov si,0
call
show_str
mov ax,4c00h int 21h
;---------------------------- show_str:
push ax
push cx
push dx
push es
push si
push di
mov ax,0b800h
mov es,ax
dec dh
(为什么这里没有dec dl)

mov al,160
mul dh
add dl,dl
mov dh,0 计算显示在屏幕位置
add ax,dx
mov di,ax
mov ah,cl
x:
mov cl,ds:[si]
mov ch,0
jcxz f
mov al,cl
mov es:[di],ax
inc si
inc di
inc di
jmp x
f: pop di
pop si
pop es
pop dx
pop cx
pop ax
ret
;------------------------
daima ends
end kaishi
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-12-23 22:27:13 | 显示全部楼层
我表示你在玩我们吗? 2(n-1) - 2n-1=1不管任何n值都是如此,1=1,我理解不了你的意思
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-12-23 22:32:42 | 显示全部楼层
小甲鱼的代码里面有sub ax,2 这个就是定位列的位置。懂了吗。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-28 13:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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