在屏幕上显示颜色不断变化的心形图案,(字模提取工具)
来源:互联网 发布:恒大淘宝股票 编辑:程序博客网 时间:2024/04/30 13:32
;思路分析:将提取到的十六进制字节型字模数据均除以2
;放到内存段转化成二进制
;1.主程序 2.除法子程序div2 3.显示子程序show
;ps:每个段的长度不超过64kB,字模提取时行列改变时代码中需改变的位置为(1)(2)(3)(4)(5)
assume cs:code
data segment
DB 000H,000H,000H,01CH,00EH,000H,022H,011H,000H,041H,020H,080H,040H,0C0H,040H,040H
DB 000H,040H,040H,000H,040H,020H,000H,080H,010H,001H,000H,008H,002H,000H,004H,004H
DB 000H,002H,008H,000H,001H,010H,000H,000H,0A0H,000H,000H,040H,000H,000H,000H,000H
db 512 dup(0)
data ends
code segment
start:mov ax,data
mov ds,ax
mov si,0
mov di,48 ;(1)空内存段的首地址
mov cx,48 ;(2)data段字节总数
s: mov al,ds:[si]
mov ah,0
mov bl,2
call div2
inc si
loop s
mov cx,6 ;颜色循环次数
color:mov di,48 ;(3)转化后的数据填充到内存段的首地址
mov dl,04h
call show1
call delay
mov di,48
mov dl,02h
call show1
call delay
mov di,48
mov dl,01h
call show1
call delay
loop color
mov ax,4c00h
int 21h
;名称:div2
;功能:将16进制转化成二进制数放到内存段中
;参数:ds:[si]指向字符串首地址,ds:[di]指向余数存放的首地址
div2: push cx
push dx
mov cx,8
div2s0:div bl
mov dl,al ;商暂存于dl中
mov al,0
push ax ;余数入栈
mov al,dl ;上次除法的商恢复到ax中
loop div2s0
mov cx,8
div2s1: pop ax
mov ds:[di],ah ;余数放入内存段中
inc di
loop div2s1
pop dx
pop cx
ret
;名称:show1
;功能:按字节显示字符,当为0时显示*,当为1时显示笑脸
;参数:ds:[di]指向字符串首地址,dl=颜色
show1:push ax
push cx
push si
mov ax,0b800h
mov es,ax
mov bx,5*160
mov si,2*10
mov cx,16 ;(4)显示的行数
shows0: push cx
mov cx,3*8 ;(5)显示的列数
shows1:mov al,ds:[di]
cmp al,1
jne next1
mov byte ptr es:[bx+si],03h;为1则将此处变为红心
mov byte ptr es:[bx+si+1],dl
inc di
add si,2
loop shows1
add bx,160
mov si,2*10
pop cx
loop shows0
next1:mov byte ptr es:[bx+si],0 ;为0则将此处变为0
inc di
add si,2
loop shows1
add bx,160
mov si,2*10
pop cx
loop shows0
pop si
pop cx
pop ax
ret
delay:push cx
mov cx,2fffh
s0:push cx
mov cx,2fffh
s1: nop
loop s1
pop cx
loop s0
pop cx
ret
code ends
end start
- 在屏幕上显示颜色不断变化的心形图案,(字模提取工具)
- 【C】在屏幕上输出以下图案(菱形图案)
- js基于html5中canvas的字模提取工具(附js生成声音的方式、获取系统支持字体方式、字模显示及其他)
- 在屏幕上输出图案
- 在屏幕上输出图案:*与空格拼出的菱形
- 在屏幕上用“*”输出指定行数的菱形图案
- 在屏幕上输出星号组成的菱形图案。
- 在屏幕上输出以下图案
- c语言:在屏幕上输出图案
- 在屏幕上输出以下图案: * *** ***** ******* ********* *********** ************* ********
- 在屏幕上输出以下图案: * *** ***** ******* ********* *********** ************* **********
- 在屏幕上用"*"输出菱形图案
- 在屏幕上用"*"输出菱形图案
- 在屏幕上输出以下图案: * *** ***** ******* ********* *********** ************* *********** *********
- 1.在屏幕上输出以下图案: // * // *** // ***** // ******* // ********* // *********** //*********
- 在屏幕上输出以下图案*
- 字模提取工具-PCtoLCD2002使用说明
- QT字模提取及显示
- 好友收藏
- 调试修改错误
- 根文件系统的挂载流程分析
- fastreport4打印问题
- 《LINUX下面有用的命令》
- 在屏幕上显示颜色不断变化的心形图案,(字模提取工具)
- android4.0.3添加 Ethernet框架支持
- 06_多窗口文档编辑器(小钱版)[Qt开发][2012-03-07]
- .net中的分布式事务处理
- 好男人这一生要记住的50件事
- 第三周 C++作业任务3
- 手工编写简易词法分析器
- 我的对csdn中的下载资源的看法
- tomcat负载均衡和集群