王爽 实验15 是不是我太占牛角尖了?

Heiok 2014-10-06 12:57:28
实验内容如图:(我代码最终的效果就是当按下a键松开后,满屏A,但我不松手,一直按着a不也最终会有这效果吗?)

我的意思是,实验并没提到,当按下a键要显示的内容(不显示或显示a或一直显示a)?




assume cs:code

stack segment
db 128 dup (0)
stack ends

code segment
start: mov ax,stack
mov ss,ax
mov sp,128

push cs
pop ds

mov ax,0
mov es,ax

mov si,offset int9
mov di,204h
mov cx,offset int9end-offset int9
cld
rep movsb

push es:[9*4]
pop es:[200h]
push es:[9*4+2]
pop es:[202h]

cli
mov word ptr es:[9*4],204h
mov word ptr es:[9*4+2],0
sti

mov ax,4c00h
int 21h


int9: push ax
push bx
push cx
push es

in al,60h

pushf
call dword ptr cs:[200h]

cmp al,9eh
jne int9ret

mov ax,0B800h
mov es,ax
mov bx,0
mov cx,2000
s: mov byte ptr es:[bx],'A'
add bx,2
loop s

int9ret:pop es
pop cx
pop bx
pop ax
iret

int9end:nop

code ends
end start
...全文
189 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Heiok 2014-10-15
  • 打赏
  • 举报
回复
引用 4 楼 zara 的回复:
应该是这个意思吧。怎么做,题目不是有提示吗,要检测是否为断开码,是否为 A 的断开码。 黑屏还是光标闪,这个,除非是故意将光标隐藏或挪到了屏幕之外,都是有光标闪的吧。
罢了,不纠缠了。
zara 2014-10-13
  • 打赏
  • 举报
回复
按下和按住,确实是不同的操作。题目的要求本来就是在松口后才显示的吧,不是按下时就显示。
Heiok 2014-10-13
  • 打赏
  • 举报
回复
至少来个人说说,我好结贴吧。
zara 2014-10-13
  • 打赏
  • 举报
回复
应该是这个意思吧。怎么做,题目不是有提示吗,要检测是否为断开码,是否为 A 的断开码。
黑屏还是光标闪,这个,除非是故意将光标隐藏或挪到了屏幕之外,都是有光标闪的吧。
Heiok 2014-10-13
  • 打赏
  • 举报
回复
引用 2 楼 zara 的回复:
按下和按住,确实是不同的操作。题目的要求本来就是在松口后才显示的吧,不是按下时就显示。
其实我理解的是:他题目本意是不是说按下A键(不松手),就一直显示 黑屏状态,或显示一个光标在盘符后面 不停地闪,如果松开手,则 显示满屏 A? 如果我要达成以上效果要怎做呢?就是按下A不松手,显示黑屏或光标在闪?

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧