汇编编程
时间:2011-06-21
来源:互联网
用汇编语言编写:“霓虹灯”方式显示字体 按下1键,从左至右霓虹灯显示hello;按下2键,从右至左霓虹灯显示hello;按下Esc键,结束程序。
很急,拜托了~~!!
很急,拜托了~~!!
作者: tianyaxiaozhuo 发布时间: 2011-06-21
大概写了一个,繁琐了点。楼主就将就点吧。
Assembly code
Assembly code
; ;This Program Compiled Sucess by Masm 6.15 ; assume cs:code,ds:data data segment msg db 'hello' data ends code segment start: mov ax,data ;定义数据段 mov ds,ax mov ax,0b800h ;定义附加段 mov es,ax call show s: in al,60h ;读取端口数据 cmp al,2 ;如果是1 jz z ;则从左向右闪动 cmp al,3 ;如果是2 jz y ;则从右向左闪动 cmp al,1 ;如果是ESC jz done ;结束程序 jmp s z: call left ;调用左闪子程序 call show ;闪动完毕,固定 jmp s y: call right ;调用 右闪子程序 call show ;闪动完毕,固定 jmp s done: mov ah,4ch ;返回dos int 21h ; show proc mov si,offset msg mov di,160*12+40*2 mov ah,00000001b mov cx,5 s0: mov al,[si] mov es:[di],ax inc si add di,2 loop s0 ret show endp ; left proc uses ax es si di mov si,offset msg mov di,160*12+40*2 mov ah,10000001b mov cx,5 sL: mov al,[si] mov es:[di],ax inc si add di,2 call delay loop sL ret left endp ; right proc uses ax es si di mov si,offset msg+6 mov di,offset 160*12+40*2+10 mov ah,10000001b mov cx,5 sR: mov al,[si] mov es:[di],ax dec si sub di,2 call delay loop sR ret right endp ;延迟子程序 delay proc uses ax dx mov dx,10h mov ax,0 de: sub ax,1 sbb dx,0 cmp ax,0 jne de cmp dx,0 jne de ret delay endp ; code ends end start
作者: masmaster 发布时间: 2011-06-21
mov di,offset 160*12+40*2+10 这行错了, 应为: mov di,160*12+40*2+10
作者: masmaster 发布时间: 2011-06-21
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28